API v3

hati za API

API rejeleo la SMM Africa. Angalia salio, huduma za kuleta, weka maagizo na ufuatilie hali kutoka sehemu moja ya mwisho.

URL ya Msingihttps://smm.africa/api/v3
UmbizoPOST · JSON au sehemu za fomu · Jibu la JSON
Ufunguo wako wa APIImetolewa kwa kila akaunti. Ivute kutoka kwa Akaunti mara tu unapoingia.
Ingia ili upate ufunguo wako

Anza na kuangalia salio

Ombi la salio ndiyo njia ya haraka zaidi ya kuthibitisha ufunguo wako, umbizo la ombi, na kwamba muunganisho huo unasafiri kwenda na kurudi kabla ya kuanza kuagiza.

POST /api/v3 · balance
curl --fail-with-body --silent --show-error --max-time 60 \
  -X POST https://smm.africa/api/v3 \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $SMM_AFRICA_KEY" \
  -d '{
  "action": "balance"
}'
HTTP 200 · balance
{
  "balance": "100.84",
  "currency": "USD"
}

Uthibitishaji

Tuma ufunguo wa API wa akaunti yako ama katika Uidhinishaji: Mbeba YOUR_API_KEY au kama sehemu ya ombi la ufunguo. Chagua njia moja; sehemu ya ufunguo hufanya kazi na paneli za kawaida za wauzaji. Weka funguo katika vigeu vya mazingira vya upande wa seva na uzizungushe kutoka Akaunti.

Vitendo vyote hutumia POST https://smm.africa/api/v3. Viungo vinavyoungwa mkono: programu/json, programu/x-www-form-urlencoded, na data ya sehemu nyingi/fomu yenye sehemu za maandishi pekee. Majibu ni JSON. Sehemu ya kitendo huchagua operesheni.

curl · form authentication
curl --fail-with-body --silent --show-error --max-time 60 \
  -X POST https://smm.africa/api/v3 \
  --data-urlencode "key=YOUR_API_KEY" \
  --data-urlencode "action=balance"

Salio zote, ada na kiasi cha agizo katika v3 hurejeshwa kwa USD kwa uoanifu.

Kutoka muunganisho wa API hadi agizo lako la kwanza

Fuata hatua hizi kwa kasi yako mwenyewe. Mwongozo huu hautume agizo au kutoza pochi yako.

1 / 6 · Connect your account

Open your account and obtain your API key. Keep it on your server. Use the balance example to check authentication without creating a paid order.

Open connection example

Kununua maswali na miongozo

Agizo lako la kwanza la muuzaji

Kwa nini malipo ya mteja wangu yametenganishwa na pochi yangu ya SMM.Africa?

Mteja wako hulipa biashara yako chini ya mpangilio wako mwenyewe. Mkoba wako wa SMM.Africa hulipia maagizo unayotuma hapa. Kukusanya malipo ya mteja hakulipii pochi hiyo kiotomatiki, na urejeshaji wa pochi haumrudishii mteja wako kiotomatiki. Sawazisha rekodi hizi mbili kando, ikijumuisha ada na marejesho yoyote ya mteja yaliyoidhinishwa.

Fungua jibu hili
Je, niwekeje agizo langu la kwanza la API ya muuzaji?

Anza na uthibitishaji wa API na mifano ya salio, kisha kagua huduma, umbizo lengwa, vikomo na bei. Tumia lengo unalodhibiti na kiasi ndani ya mipaka iliyotajwa. Hatua ya kuongeza hutumia salio la mkoba. Hifadhi kitambulisho cha agizo lililorejeshwa na uangalie hali yake. Soma hati za sasa za API kabla ya kuchagua mkakati wa kujaribu tena.

Fungua jibu hili
Je, nitume agizo lingine la API ikiwa ombi la kwanza limeisha?

Kwanza angalia kama ombi asili liliunda agizo. Muda wa kuisha unaweza kuacha matokeo bila uhakika hata wakati uchakataji umefaulu. Hifadhi rejeleo la ombi na kitambulisho chochote cha agizo, na utumie utaratibu wa utambulisho ulioandikwa unapotumika. Usitoe ombi jipya lililolipwa kwa sababu tu jibu la kwanza halikuwepo; wasiliana na usaidizi ikiwa matokeo yatasalia kuwa wazi.

Fungua jibu hili

Soma mwongozo kamili

Rejea

Rejeleo kamili la mwisho

Kagua vigezo vya ombi, majibu ya sampuli, na tabia halisi kwa kila kitendo kinachotumika.

balance

Angalia salio la pochi lililofungwa kwenye ufunguo wa API wa muuzaji uliothibitishwa.

POST
POST /api/v3 · balance
curl --fail-with-body --silent --show-error --max-time 60 \
  -X POST https://smm.africa/api/v3 \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $SMM_AFRICA_KEY" \
  -d '{
  "action": "balance"
}'

Vigezo vya ombi

KigezoAinaInahitajikaMaelezo na vikwazo
keystringMashartiKitufe chako cha API, kilichotumiwa kuthibitisha ombi. Inahitajika tu wakati Uidhinishaji: Mtoa huduma hayupo.
actionstringNdiyobalance Tumia thamani halisi ya kitendo iliyoonyeshwa.

Mfano wa majibu

HTTP 200 · balance
{
  "balance": "100.84",
  "currency": "USD"
}

Salio zote, ada na kiasi cha agizo katika v3 hurejeshwa kwa USD kwa uoanifu.

Mfano wa majibu ya hitilafu

HTTP 400 · balance
{
  "error": "Invalid API key",
  "code": "INVALID_API_KEY",
  "request_id": "request-123",
  "retryable": false
}

services

Leta katalogi ya huduma ya SMM Africa moja kwa moja iliyo na vitambulisho vya huduma, bei, vikomo, na ujaze upya au ughairi bendera.

POST
POST /api/v3 · services
curl --fail-with-body --silent --show-error --max-time 60 \
  -X POST https://smm.africa/api/v3 \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $SMM_AFRICA_KEY" \
  -d '{
  "action": "services"
}'

Vigezo vya ombi

KigezoAinaInahitajikaMaelezo na vikwazo
keystringMashartiKitufe chako cha API, kilichotumiwa kuthibitisha ombi. Inahitajika tu wakati Uidhinishaji: Mtoa huduma hayupo.
actionstringNdiyoservices Tumia thamani halisi ya kitendo iliyoonyeshwa.

Mfano wa majibu

HTTP 200 · services
[
  {
    "service": 1,
    "name": "Service Name",
    "type": "Default",
    "rate": "0.90",
    "min": "50",
    "max": "10000",
    "category": "First Category",
    "description": "Start: 2 mins | Speed: 1000/day",
    "refill": true,
    "cancel": true,
    "drop_rate": "Almost No",
    "start_time": "2 mins",
    "speed": "1000/day",
    "reliability": "Poor"
  }
]

Leta katalogi ya moja kwa moja kabla ya kuagiza kwa sababu vitambulisho vya huduma, viwango, vikomo na upatikanaji vinaweza kubadilika.

Mfano wa majibu ya hitilafu

HTTP 400 · services
{
  "error": "Invalid API key",
  "code": "INVALID_API_KEY",
  "request_id": "request-123",
  "retryable": false
}

add

Weka agizo jipya la kukuza mitandao ya kijamii ukitumia kitambulisho cha huduma, kiungo lengwa na wingi.

POST
POST /api/v3 · add
curl --fail-with-body --silent --show-error --max-time 60 \
  -X POST https://smm.africa/api/v3 \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $SMM_AFRICA_KEY" \
  -d '{
  "action": "add",
  "service": 1234,
  "link": "https://instagram.com/your-profile",
  "quantity": 500,
  "max_charge": 5,
  "idempotency_key": "order-unique-001"
}'

Vigezo vya ombi

KigezoAinaInahitajikaMaelezo na vikwazo
keystringMashartiKitufe chako cha API, kilichotumiwa kuthibitisha ombi. Inahitajika tu wakati Uidhinishaji: Mtoa huduma hayupo.
actionstringNdiyoadd Tumia thamani halisi ya kitendo iliyoonyeshwa.
serviceintegerNdiyoKitambulisho cha huduma unayotaka kuagiza. Tumia Kitambulisho kutoka kwa jibu la sasa la huduma; aina yake huamua sehemu zilizo hapa chini.
linkstringMashartiURL ya maudhui, wasifu, chapisho au maudhui lengwa. Inahitajika kwa aina ya huduma iliyochaguliwa; toa URL lengwa.
quantityintegerMashartiKiasi unachotaka kuagiza. Lazima ikidhi kiwango cha chini na cha juu cha huduma iliyochaguliwa. Acha wakati aina yake haikubali wingi.
max_chargenumber / decimal stringNoOptional maximum USD charge, including discounts, with up to six decimal places. PRICE_LIMIT_EXCEEDED (409) creates no order or debit. Changing a ceiling changes request intent. Gharama ya juu inayoruhusiwa kwa USD, yenye hadi nafasi sita za desimali.
idempotency_keystringInapendekezwaUse one unique value per logical order. If the request times out without a response, retry with the same value so the order cannot be charged twice. Dumisha thamani ya kipekee kwa kila agizo la kimantiki; tumia tena tu kwa mzigo unaofanana wa kujaribu tena.
Sehemu kulingana na aina ya huduma

Chagua aina iliyorejeshwa na huduma; usitume sehemu tofauti ya aina. Thamani za orodha ni maandishi yaliyotenganishwa na mstari mpya, ikijumuisha katika JSON. API hupata kiasi kinachoweza kutozwa kwa maoni, orodha maalum, vifurushi, na usajili, kisha huangalia mipaka ya huduma.

Aina ya hudumaSehemu zinazohitajikaSehemu / vikwazo vya hiari
Defaultlink, quantityURL lengwa ya kawaida na wingi ulioombwa.
PackagelinkHakuna wingi.
SEOlink, quantity, keywordsWeka neno moja muhimu kwenye kila mstari.
Custom Commentslink, commentsMaoni moja kwa kila mstari; idadi ya maoni ni wingi wa agizo.
Custom Comments Packagelink, commentsMaoni moja kwa kila mstari; hakuna wingi.
Comment Replieslink, username, commentsjina la mtumiaji ndiye mmiliki wa maoni; weka jibu moja kwa kila mstari.
Comment Likeslink, usernamejina la mtumiaji ndiye mmiliki wa maoni; hakuna wingi.
Mentionslink, quantity, usernamesWeka jina la mtumiaji moja kwa kila mstari.
Mentions with Hashtagslink, quantity, usernames, hashtagsWeka majina ya watumiaji na lebo za reli kwenye mistari tofauti.
Mentions Custom Listlink, usernamesWeka jina la mtumiaji moja kwa kila mstari; hakuna wingi.
Mentions Hashtaglink, quantity, hashtagsWeka alama ya reli moja kwa kila mstari.
Mentions User Followerslink, quantity, usernamejina la mtumiaji ni URL ya wasifu wa chanzo cha kukwarua.
Mentions Media Likerslink, quantity, mediamedia ndio chanzo cha URL cha midia kukwangua.
Polllink, quantity, answerjibu ni maandishi kamili ya chaguo la kura inayotarajiwa na mtoaji huduma.
Invites from Groupslink, quantity, groupsWeka kundi moja kwenye kila mstari.
Web Trafficquantity, country, device, type_of_traffickifaa ni simu au eneo-kazi. type_of_trafiki ni 1 (inahitaji google_keyword), 2 (inahitaji referring_url), au 3.
Sehemu za hiari za uhusishaji
KigezoAinaInahitajikaMaelezo na vikwazo
goal_keystringNoKitufe cha hiari cha lengo kwa maelezo ya ukuaji wa kuongozwa. Metadata ya uainishaji wa hiari.
recommendation_tierstringNoKiwango cha pendekezo cha hiari. Metadata ya uainishaji wa hiari.
user_intent_labelstringNoLebo ya hiari inayoelezea dhamira ya mtumiaji. Metadata ya uainishaji wa hiari.
source_flowstringNoKitambulisho cha hiari cha mtiririko uliounda mpangilio. Metadata ya uainishaji wa hiari.

Mfano wa majibu

HTTP 200 · add
{
  "order": 1000000,
  "charged": 5.85,
  "queued": true
}

Hifadhi kitambulisho cha agizo lililorejeshwa, na uangalie hali kabla ya kujaribu tena ombi la kuongeza.

Mfano wa majibu ya hitilafu

HTTP 400 · add
{
  "error": "Invalid API key",
  "code": "INVALID_API_KEY",
  "request_id": "request-123",
  "retryable": false
}

status

Piga kura kwa kutumia kitambulisho ili usome hali ya uwasilishaji, hesabu ya kuanza, masalio na maelezo ya malipo.

POST
POST /api/v3 · status
curl --fail-with-body --silent --show-error --max-time 60 \
  -X POST https://smm.africa/api/v3 \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $SMM_AFRICA_KEY" \
  -d '{
  "action": "status",
  "orders": [
    "1000000",
    "1000001"
  ]
}'

Vigezo vya ombi

KigezoAinaInahitajikaMaelezo na vikwazo
keystringMashartiKitufe chako cha API, kilichotumiwa kuthibitisha ombi. Inahitajika tu wakati Uidhinishaji: Mtoa huduma hayupo.
actionstringNdiyostatus Tumia thamani halisi ya kitendo iliyoonyeshwa.
orderinteger / stringNdiyoKitambulisho cha agizo la SMM Africa kilirudishwa kwa kuongeza. Hifadhi kitambulisho cha agizo kilichorejeshwa kwa kuongeza; usibadilishe kitambulisho cha agizo la mtoa huduma.
ordersarray / stringMashartiFor bulk status, send 1–20 IDs as a JSON array or comma-separated form string instead of order. Inspect each item's http_status and retry_after. Tumia order au orders, kamwe si zote mbili. Kila kipengee cha kundi kina http_status yake.

Mfano wa majibu

HTTP 200 · status
{
  "orders": [
    {
      "order": 1000000,
      "status": "processing",
      "start_count": 3572,
      "remains": 157,
      "charge": 0.27819,
      "updated_at": "2026-10-15T12:00:00Z",
      "freshness": "fresh",
      "reason_code": null,
      "retryable": false,
      "automatic_retry": false,
      "can_cancel": false,
      "funds_state": "captured",
      "next_retry_at": null,
      "refund_deadline_at": null,
      "http_status": 200
    },
    {
      "order": "1000001",
      "http_status": 400,
      "error": "Order not found",
      "code": "ORDER_NOT_FOUND",
      "request_id": "request-123",
      "retryable": false
    }
  ]
}

Hali za kura katika makundi na kuacha kucheleweshwa kwa muda kati ya maombi.

Mfano wa majibu ya hitilafu

HTTP 400 · status
{
  "error": "Order not found",
  "code": "ORDER_NOT_FOUND",
  "request_id": "request-123",
  "retryable": false
}

refill

Omba kujaza upya kwa agizo linalostahiki ndani ya dirisha la kujaza upya lililochapishwa.

POST
POST /api/v3 · refill
curl --fail-with-body --silent --show-error --max-time 60 \
  -X POST https://smm.africa/api/v3 \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $SMM_AFRICA_KEY" \
  -d '{
  "action": "refill",
  "order": 1000000,
  "idempotency_key": "refill-unique-001"
}'

Vigezo vya ombi

KigezoAinaInahitajikaMaelezo na vikwazo
keystringMashartiKitufe chako cha API, kilichotumiwa kuthibitisha ombi. Inahitajika tu wakati Uidhinishaji: Mtoa huduma hayupo.
actionstringNdiyorefill Tumia thamani halisi ya kitendo iliyoonyeshwa.
orderinteger / stringNdiyoKitambulisho cha agizo la SMM Africa kilirudishwa kwa kuongeza. Hifadhi kitambulisho cha agizo kilichorejeshwa kwa kuongeza; usibadilishe kitambulisho cha agizo la mtoa huduma.

Mfano wa majibu

HTTP 200 · refill
{
  "order": 1000000,
  "success": "Refill request accepted."
}

Kujaza upya kunapatikana kwa maagizo yanayostahiki pekee ndani ya dirisha la huduma lililochapishwa la kujaza upya.

Mfano wa majibu ya hitilafu

HTTP 400 · refill
{
  "error": "Invalid API key",
  "code": "INVALID_API_KEY",
  "request_id": "request-123",
  "retryable": false
}

cancel

Omba kughairiwa kwa agizo ambapo huduma iliyochaguliwa inaweza kutumia kughairiwa.

POST
POST /api/v3 · cancel
curl --fail-with-body --silent --show-error --max-time 60 \
  -X POST https://smm.africa/api/v3 \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $SMM_AFRICA_KEY" \
  -d '{
  "action": "cancel",
  "order": 1000000,
  "idempotency_key": "cancel-unique-001"
}'

Vigezo vya ombi

KigezoAinaInahitajikaMaelezo na vikwazo
keystringMashartiKitufe chako cha API, kilichotumiwa kuthibitisha ombi. Inahitajika tu wakati Uidhinishaji: Mtoa huduma hayupo.
actionstringNdiyocancel Tumia thamani halisi ya kitendo iliyoonyeshwa.
orderinteger / stringNdiyoKitambulisho cha agizo la SMM Africa kilirudishwa kwa kuongeza. Hifadhi kitambulisho cha agizo kilichorejeshwa kwa kuongeza; usibadilishe kitambulisho cha agizo la mtoa huduma.

Mfano wa majibu

HTTP 200 · cancel
{
  "order": 1000000,
  "success": "Cancellation request accepted."
}

Kughairi kunapatikana tu wakati huduma iliyochaguliwa inaitumia.

Mfano wa majibu ya hitilafu

HTTP 400 · cancel
{
  "error": "Invalid API key",
  "code": "INVALID_API_KEY",
  "request_id": "request-123",
  "retryable": false
}

Unda na ujaribu ujumuishaji wako

Angalia salio, pata huduma, chagua aina ya huduma, hifadhi kitambulisho cha operesheni, tuma agizo, hifadhi kitambulisho chake, kisha uliza hali. Bei ni USD; viwango ni kwa vipimo 1,000 au kwa kifurushi kulingana na aina ya huduma. Tumia vitambulisho kama maandishi bila kutafsiri muundo wake. Maandishi ya desimali na sehemu za fedha za nambari huhifadhi aina zake; gharama hutumia nafasi sita za desimali za USD.

Wateja wa Node.js na PHP 3.3 huhifadhi funguo za operesheni na majibu yaliyofaulu, hufuata Retry-After na husimamisha mabadiliko yasiyotatuliwa kabla ya dirisha la kurudia la saa 24 kuisha. Hifadhi hali kwa faragha, kwa kudumu na tofauti kwa kila akaunti. Jaribu kwanza katika mazingira ya ndani yasiyounganishwa na pochi au wasambazaji halisi.

Node.js 3.3 · PHP 3.3 · Mazingira ya majaribio · Mwongozo wa ujumuishaji · Kihakiki cha saini ya webhook

Local sandbox · Node 22+
node sandbox.mjs
# Endpoint: http://127.0.0.1:4013/api/v3
# Key: sandbox_test_key (never use a live key)

subscription_create

Unda usajili wenye kikomo bila kukata fedha. Tumia huduma ya URL ya chapisho, kiasi chanya cha nambari nzima, USD, spending_cap yenye hadi desimali sita, max_posts (1–10000), na ufunguo wa idempotency uliohifadhiwa.

POST /api/v3 · subscription_create
curl --fail-with-body --silent --show-error --max-time 60 \
  -X POST https://smm.africa/api/v3 \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $SMM_AFRICA_KEY" \
  -d '{
  "action": "subscription_create",
  "service": 1234,
  "quantity": 500,
  "currency": "USD",
  "spending_cap": 25,
  "max_posts": 10,
  "idempotency_key": "campaign-unique-001"
}'
HTTP 200 · subscription_create
{
  "subscription": {
    "id": "YOUR_SUBSCRIPTION_ID",
    "service_id": "1234",
    "quantity": 500,
    "currency": "USD",
    "spending_cap": "25.000000",
    "spent": "0.000000",
    "max_posts": 10,
    "post_count": 0,
    "state": "active",
    "pause_reason": null
  }
}

subscription_post

Tuma URL ya chapisho lililogunduliwa. Huduma na kiasi hutoka kwenye usajili. max_charge ya hiari huweka kikomo cha chapisho hili kwa USD. URL sanifu inayorudiwa hurudisha agizo lake la awali, hata baada ya kughairi.

POST /api/v3 · subscription_post
curl --fail-with-body --silent --show-error --max-time 60 \
  -X POST https://smm.africa/api/v3 \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $SMM_AFRICA_KEY" \
  -d '{
  "action": "subscription_post",
  "subscription": "YOUR_SUBSCRIPTION_ID",
  "link": "https://example.com/post/123",
  "max_charge": 5,
  "idempotency_key": "post-unique-001"
}'
HTTP 200 · subscription_post
{
  "order": "1000000",
  "charged": 0.5,
  "queued": true
}

subscription_status

Soma mipangilio na hadi risiti 20 za machapisho. Tumia after=next_cursor kwa kurasa zinazofuata. Uliza vitambulisho vya maagizo ya risiti kwa hali ya kundi.

POST /api/v3 · subscription_status
curl --fail-with-body --silent --show-error --max-time 60 \
  -X POST https://smm.africa/api/v3 \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $SMM_AFRICA_KEY" \
  -d '{
  "action": "subscription_status",
  "subscription": "YOUR_SUBSCRIPTION_ID"
}'
HTTP 200 · subscription_status
{
  "subscription": {
    "id": "YOUR_SUBSCRIPTION_ID",
    "service_id": "1234",
    "quantity": 500,
    "currency": "USD",
    "spending_cap": "25.000000",
    "spent": "0.000000",
    "max_posts": 10,
    "post_count": 0,
    "state": "active",
    "pause_reason": null
  },
  "posts": [
    {
      "post_key": "opaque-cursor",
      "order_id": "1000000",
      "charged": "0.500000",
      "created_at": "2026-10-15T12:00:00Z"
    }
  ],
  "next_cursor": null
}

subscription_pause

Sitisha utumaji wa machapisho yajayo. Maagizo yaliyopo yanaendelea.

POST /api/v3 · subscription_pause
curl --fail-with-body --silent --show-error --max-time 60 \
  -X POST https://smm.africa/api/v3 \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $SMM_AFRICA_KEY" \
  -d '{
  "action": "subscription_pause",
  "subscription": "YOUR_SUBSCRIPTION_ID"
}'
HTTP 200 · subscription_pause
{
  "subscription": {
    "id": "YOUR_SUBSCRIPTION_ID",
    "service_id": "1234",
    "quantity": 500,
    "currency": "USD",
    "spending_cap": "25.000000",
    "spent": "0.000000",
    "max_posts": 10,
    "post_count": 0,
    "state": "paused",
    "pause_reason": null
  }
}

subscription_resume

Endeleza usajili uliositishwa baada ya kuongeza fedha. Usajili uliokamilika au uliofutwa hauwezi kuendelea.

POST /api/v3 · subscription_resume
curl --fail-with-body --silent --show-error --max-time 60 \
  -X POST https://smm.africa/api/v3 \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $SMM_AFRICA_KEY" \
  -d '{
  "action": "subscription_resume",
  "subscription": "YOUR_SUBSCRIPTION_ID"
}'
HTTP 200 · subscription_resume
{
  "subscription": {
    "id": "YOUR_SUBSCRIPTION_ID",
    "service_id": "1234",
    "quantity": 500,
    "currency": "USD",
    "spending_cap": "25.000000",
    "spent": "0.000000",
    "max_posts": 10,
    "post_count": 0,
    "state": "active",
    "pause_reason": null
  }
}

subscription_cancel

Komesha machapisho yajayo kabisa. Maagizo yaliyopo lazima yafutwe moja moja yanapostahiki. Marejesho hayarejeshi kikomo cha matumizi cha usajili.

POST /api/v3 · subscription_cancel
curl --fail-with-body --silent --show-error --max-time 60 \
  -X POST https://smm.africa/api/v3 \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $SMM_AFRICA_KEY" \
  -d '{
  "action": "subscription_cancel",
  "subscription": "YOUR_SUBSCRIPTION_ID"
}'
HTTP 200 · subscription_cancel
{
  "subscription": {
    "id": "YOUR_SUBSCRIPTION_ID",
    "service_id": "1234",
    "quantity": 500,
    "currency": "USD",
    "spending_cap": "25.000000",
    "spent": "0.000000",
    "max_posts": 10,
    "post_count": 0,
    "state": "canceled",
    "pause_reason": null
  }
}

webhook_set

Sanidi mpokeaji mmoja wa HTTPS aliyehakikiwa kwa kila akaunti. Kipengele lazima kiwezeshwe kwenye mfumo uliowekwa. Tengeneza siri nasibu ya base64url yenye herufi 32–128. Hakiki X-SMM-Signature, kisha rudisha changamoto ya webhook.verify kama JSON. Usanidi mpya hubatilisha matukio ya zamani yanayosubiri.

POST /api/v3 · webhook_set
curl --fail-with-body --silent --show-error --max-time 60 \
  -X POST https://smm.africa/api/v3 \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $SMM_AFRICA_KEY" \
  -d '{
  "action": "webhook_set",
  "url": "https://example.com/smm-webhook",
  "secret": "REPLACE_WITH_RANDOM_BASE64URL_SECRET"
}'
HTTP 200 · webhook_set
{
  "webhook": {
    "url": "https://example.com/smm-webhook",
    "enabled": true
  }
}

webhook_status

Soma URL ya sasa, hali ya kuwezeshwa na wakati wa kusasishwa. Siri ya saini hairudishwi kamwe.

POST /api/v3 · webhook_status
curl --fail-with-body --silent --show-error --max-time 60 \
  -X POST https://smm.africa/api/v3 \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $SMM_AFRICA_KEY" \
  -d '{
  "action": "webhook_status"
}'
HTTP 200 · webhook_status
{
  "webhook": {
    "url": "https://example.com/smm-webhook",
    "enabled": true,
    "updated_at": "2026-10-15T12:00:00Z"
  }
}

webhook_disable

Zima utumaji wa baadaye. Ombi la HTTP ambalo tayari linaendelea linaweza kumalizika.

POST /api/v3 · webhook_disable
curl --fail-with-body --silent --show-error --max-time 60 \
  -X POST https://smm.africa/api/v3 \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $SMM_AFRICA_KEY" \
  -d '{
  "action": "webhook_disable"
}'
HTTP 200 · webhook_disable
{
  "webhook": {
    "enabled": false
  }
}

webhook_deliveries

Soma hadi utumaji 20, maudhui yake, majaribio, hali ya mwisho ya HTTP na muda wa jaribio linalofuata. Tumia after=next_cursor kwa kurasa zinazofuata. Historia huhifadhiwa siku 30.

POST /api/v3 · webhook_deliveries
curl --fail-with-body --silent --show-error --max-time 60 \
  -X POST https://smm.africa/api/v3 \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $SMM_AFRICA_KEY" \
  -d '{
  "action": "webhook_deliveries"
}'
HTTP 200 · webhook_deliveries
{
  "deliveries": [],
  "next_cursor": null
}

webhook_replay

Weka tena kwenye foleni tukio lililotumwa au lililoshindwa kwa toleo lilelile la mpokeaji. Kitambulisho cha tukio huhifadhiwa. Wapokeaji lazima waondoe marudio; kurudia hakurudii agizo wala mabadiliko ya pochi.

POST /api/v3 · webhook_replay
curl --fail-with-body --silent --show-error --max-time 60 \
  -X POST https://smm.africa/api/v3 \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $SMM_AFRICA_KEY" \
  -d '{
  "action": "webhook_replay",
  "event": "evt_123"
}'
HTTP 200 · webhook_replay
{
  "event": "evt_123",
  "queued": true
}

Hakiki na linganisha matukio ya maagizo

X-SMM-Signature contains t=UNIX_SECONDS,v1=HEX_HMAC_SHA256. Sign timestamp + "." + the exact raw request body with your secret. Use constant-time comparison and reject timestamps more than five minutes from your clock. Persist each event ID before returning 2xx. Delivery is at least once and may arrive out of order. Events cover account order activity, including website orders. Fetch status for current delivery and refund details; polling remains the reconciliation fallback. Failed delivery retries up to eight times with backoff; redirects are rejected.

order.updated
{
  "id": "evt_123",
  "type": "order.updated",
  "api_version": "3.3",
  "created_at": "2026-10-15T12:00:00Z",
  "data": {
    "order": "1000000",
    "status": "completed"
  }
}

Makosa na Majaribio Mapya

Angalia hali ya HTTP na sehemu ya hitilafu ya JSON. Makosa ya uthibitishaji hutumia HTTP 400; wapigaji simu wa API hawaelekezwi kuingia. Andika makosa ya kiufundi faraghani na uwaonyeshe wateja ujumbe usioegemea upande wowote.

HTTP 400 · application/json
{
  "error": "Invalid API key",
  "code": "INVALID_API_KEY",
  "request_id": "request-123",
  "retryable": false
}

Add responses replay for 24 hours. After expiry, the same key can create another order: reconcile first. REQUEST_IN_PROGRESS permits the same request/key after Retry-After. IDEMPOTENCY_CONFLICT requires restoring the original payload. ACTION_OUTCOME_UNCONFIRMED requires support review: never change keys to bypass it. PRICE_LIMIT_EXCEEDED means no debit or order was committed. Log request_id (also X-Request-Id) for support.

HTTPHitilafu / haliCha kufanya
400Invalid API keyAngalia ufunguo na sehemu zinazohitajika. Sahihisha ombi kabla ya kujaribu tena.
402Insufficient balanceWeka pesa kwenye pochi ya akaunti kabla ya kutuma agizo tena.
409A matching API order request is already being processedSubiri kabla ya kujaribu tena ombi linalofanana na ufunguo wake asili wa utambulisho.
409This idempotency key was already used for a different API order requestRejesha mzigo wa awali wa malipo kwa kujaribu tena. Tumia kitufe kipya kwa mpangilio mpya wa kimantiki pekee.
415Unsupported content typeTuma JSON, sehemu za fomu zilizosimbwa na URL, au sehemu nyingi za maandishi.
423Account suspended (message varies)Tatua kizuizi cha akaunti kwa usaidizi; usijaribu tena na tena.
429Too many requests. Please slow down and try again shortly.Subiri kipindi cha Jaribu tena Baada ya muda, kisha ujaribu tena kwa kuzima.
500 / 503Server failure or temporary unavailability (message varies)Rudi nyuma. Kwa mawasilisho ya agizo, weka ufunguo sawa wa upakiaji na utambulisho.

Jaribu tena agizo bila kuchaji mara mbili

  1. Unda na uendelee na ufunguo_wa_idempotency_wa kipekee kwa kila agizo la kimantiki kabla ya kutuma nyongeza. Badilisha ufunguo wa mfano na thamani yako ya kipekee.
  2. Ruhusu hadi sekunde 60 kwa ombi la seva. Baada ya sekunde 20, onyesha ujumbe unaosubiri kwa mteja huku ombi la nyuma likiendelea.
  3. Ikiwa hakuna jibu linalofika, jaribu tena mzigo uleule wa malipo na ufunguo uleule baada ya kuchelewa. Usitoe ufunguo mpya. Jaribio lililokamilika hurejesha jibu na X-Idempotent-Replay: true.
  4. Ukishapokea Kitambulisho cha agizo, kihifadhi na utumie hali kufuatilia agizo hilo. Jibu lililowekwa kwenye foleni linamaanisha kukubaliwa kwa ajili ya kutimizwa, si kukamilika kwa uwasilishaji.

Vichwa vya habari vya Idempotency-Key na X-Idempotency-Key pia vinaungwa mkono. Bila ufunguo wa mteja, agizo bado linaweza kuwasilishwa, lakini kujaribu tena baada ya muda kuisha hakuwezi kutambua jaribio la awali kwa usalama.

Vikomo vya viwango

Vikwazo ni maalum kwa vitendo na vinaweza kusanidiwa. Kwenye HTTP 429, heshimu Jaribu-Baada ya (sekunde). Bila kichwa hicho, tumia kiendelezi cha kielelezo na jitter, kwa mfano 2, 4, 8, kisha sekunde 16 pamoja na ucheleweshaji mdogo wa nasibu. Jaribio lililofungwa na kuonyesha hitilafu zinazoendelea kwa opereta wako.

Weka kashe katalogi iliyochukuliwa na POST /api/v3 na action=services. Iburudishe mara kwa mara na uthibitishe vitambulisho vya huduma vya sasa, viwango, na vikwazo vya chini/max kabla ya kuagiza.

Mzunguko wa maisha wa agizo

Tuma kitendo=hali na kitambulisho kimoja cha agizo kwa kila ombi. Kama sera ya mteja anayeanza, piga kura kila sekunde 30, kisha ongeza muda wa maagizo yanayoendelea; heshimu mipaka ya kiwango. Maombi ya kutatanisha katika maagizo. Vizuizi vya wavuti havitumiki kwa sasa.

queued → pending → processing
Hali zinazotumika: endelea kupiga kura. Maagizo yanaweza kuruka hali za kati.
completed · partial · refunded · canceled
Hali za kituo: kusimamisha upigaji kura wa kawaida wa uwasilishaji. Uwasilishaji wa sehemu haukuwa kamili; kagua ada na mabaki. Maombi ya kujaza tena na kughairi yanategemea ustahiki wa huduma na agizo.
unknown
Hali isiyotambulika; usiichukulie kama mafanikio au weka agizo mbadala kiotomatiki. Jaribu tena hali kwa kutumia njia ya kurudi nyuma na wasiliana na usaidizi ikiwa itaendelea.

Vidokezo vya ujumuishaji kwa matumizi ya uzalishaji

Tumia API kama miundombinu. Madokezo haya yanashughulikia mambo muhimu pindi tu unapoendesha maagizo ya kiotomatiki, paneli ya mteja au eneo la mbele la duka la ujazo wa juu.

Salio la mkoba lililoshirikiwa

Maagizo ya moja kwa moja, maagizo ya mbele ya duka na maagizo ya API yote yanatokana na salio sawa la pochi. Ifadhili kutoka kwa kituo chochote, itumie kutoka kwa kituo chochote.

Linda ufunguo wako

Usiwahi kufichua ufunguo, jina la mpangishaji wa API, jina la mtoa huduma aliyesanidiwa, au hitilafu ghafi za usafiri katika msimbo wa upande wa mteja au ujumbe wa mbele ya duka. Simu za seva mbadala kupitia mazingira yako ya nyuma, andika maelezo ya kiufundi kwa faragha, na baada ya sekunde 20 waonyeshe wateja maneno yasiyoegemea upande wowote kama vile: Uwasilishaji wa agizo unachukua muda mrefu kuliko inavyotarajiwa. Angalia maagizo yako kabla ya kujaribu tena.

Majibu ya haraka

Je, ninapataje ufunguo wa API?

Ingia katika SMM Africa, fungua Akaunti, nakili ufunguo wako wa API na uzungushe kutoka sehemu moja wakati wowote.

Je, ​​API ni bure?

Hakuna ada ya ziada ya API. Unalipa tu huduma unazoagiza. Mkoba sawa hufadhili maagizo ya moja kwa moja, maagizo ya mbele ya duka na maagizo ya API.

Je, ​​viwango vya viwango ni vipi?

Vikomo ni mahususi na vinaweza kubadilika. Simu nyingi za nafasi, kura za hali ya kundi, na API inaporudi 429 subiri kipindi cha Jaribu tena baada ya muda kabla ya kujaribu tena.

Je, ​​ninapaswa kushughulikia vipi majaribio tena?

Tuma kichwa kimoja cha kipekee cha Idempotency-Key au sehemu ya ufunguo_idempotency kwa kila agizo la mantiki la kuongeza. Ikiwa ombi limeisha, jaribu tena upakiaji sawa na ufunguo sawa ili jaribio lililokamilika lirudiwe bila malipo mengine.

Je, ​​kuna mtandao?

Upigaji kura wa hali ndio njia inayotumika leo. Gonga hatua ya hali ya maagizo unayotazama na uhifadhi matokeo katika mfumo wako mwenyewe.

Ni nchi gani zinazotumika?

API inapatikana duniani kote, ikiwa na usaidizi mkubwa kwa masoko ya Afrika na ufadhili wa pochi unaotumia M-Pesa.

msamiati wa API

Wauzaji wa Masharti wanapaswa kuelewa

API ya Muuzaji
Kiolesura cha seva-kwa-seva ambacho huruhusu paneli nyingine au mtiririko wa kazi mahali na kufuatilia maagizo ya SMM Africa kutoka kwa matumizi yake yenyewe.
Katalogi ya huduma
Orodha ya moja kwa moja ya vitambulisho vya huduma, bei, vikomo, usaidizi wa kujaza upya na usaidizi wa kughairi unaotumika kabla ya kuagiza.
Kitendo
Sehemu ya JSON inayochagua utendakazi wa API, kama vile salio, huduma, ongeza, hali, jaza upya au ghairi.
Kuagiza kwa kutumia Wallet
Muundo wa kuagiza ambapo maagizo ya moja kwa moja, mbele ya duka, na API yote yanatokana na salio la pochi la SMM Africa linalofadhiliwa.