Ny famantarana ny API
Ny isan-karazany, ny hafatra sy ny fanangonana, mivantana avy amin'ny app.
Manomboka amin'ny fanontaniana iray ihany
Manangana ny API ny vavaka ao amin'ny tahirin-tserasera, mahazo ny vavaka ary manamarika ny hafatra ny 20 sekonda. Ny fandoavam-bola dia voafetra rehefa tonga ny SMS miaraka amin'ny code; ny fanehoan-kevitra indray dia tsy mitranga amin'ny fifandraisana.
https://smscash.org/api/v1https://smscash.org/stubs/handler_api.phpcurl -X POST 'https://smscash.org/api/v1/activations' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-H 'Idempotency-Key: request-unique-001' \
-d '{"service":"go","country":86}'Ny adiresy interface mahazatra hafa: /handler_api.php. Ny fampiharana REST misy dia mbola miasa.
Mpamorona fangatahana
Idempotency-Key: UUID · POST · 8–128
Safidy mandeha ho azy: kaody betsaka indrindra tao anatin’ny ora farany, avy eo 24 ora. Tsy misy laharana: mpandraharaha manaraka.
curl --max-time 15 --fail-with-body -X POST 'https://smscash.org/api/v1/activations' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-H 'Idempotency-Key: request-unique-001' \
--data '{"service":"go","country":86}'package main
import (
"bytes"
"fmt"
"io"
"net/http"
"os"
"time"
)
func main() {
payload := []byte("{\"service\":\"go\",\"country\":86}")
req, err := http.NewRequest("POST", "https://smscash.org/api/v1/activations", bytes.NewReader(payload))
if err != nil { panic(err) }
req.Header.Set("Authorization", "Bearer " + os.Getenv("SMSCASH_API_KEY"))
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Idempotency-Key", "request-unique-001")
client := &http.Client{Timeout: 15 * time.Second, CheckRedirect: func(_ *http.Request, _ []*http.Request) error { return http.ErrUseLastResponse }}
res, err := client.Do(req)
if err != nil { panic(err) } // Keep the same operation key after a network error.
defer res.Body.Close()
body, err := io.ReadAll(res.Body)
if err != nil { panic(err) }
if res.StatusCode >= 300 {
fmt.Fprintf(os.Stderr, "HTTP %d, request_id=%s\n%s\n", res.StatusCode, res.Header.Get("X-Request-ID"), body)
os.Exit(1)
}
fmt.Println(string(body))
}// Node.js 18+: set SMSCASH_API_KEY in your environment.
const response = await fetch("https://smscash.org/api/v1/activations", {
method: "POST",
headers: {
Authorization: 'Bearer ' + process.env.SMSCASH_API_KEY,
'Content-Type': 'application/json',
'Idempotency-Key': "request-unique-001",
},
body: JSON.stringify({
"service": "go",
"country": 86
}),
signal: AbortSignal.timeout(15000),
redirect: 'error',
});
const result = await response.json();
if (!response.ok) {
const error = result.error || {};
console.error(response.status, error.code, error.hint, error.request_id);
throw new Error(error.message || 'API error');
}
console.log(result);
// SMS codes are strings: keep leading zeros. Never retry writes automatically.import json
import os
import urllib.error
import urllib.request
class NoRedirect(urllib.request.HTTPRedirectHandler):
def redirect_request(self, req, fp, code, msg, headers, newurl):
return None
headers = {
'Authorization': 'Bearer ' + os.environ['SMSCASH_API_KEY'],
'Content-Type': 'application/json',
'Idempotency-Key': "request-unique-001",
}
request = urllib.request.Request(
"https://smscash.org/api/v1/activations",
headers=headers,
data="{\"service\":\"go\",\"country\":86}".encode('utf-8'),
method="POST",
)
try:
with urllib.request.build_opener(NoRedirect).open(request, timeout=15) as response:
result = json.load(response)
print(result)
except urllib.error.HTTPError as error:
details = json.load(error).get('error', {})
print(error.code, details.get('code'), details.get('hint'), details.get('request_id'))
raise
# No automatic retries; SMS codes remain strings.Tsy tehirizina ny fanalahidy. Tsy manome laharana ity fanamarinana ity.
Ny fananganana ny fampandrosoana vaovao
Tolotra sy firenena
Ny fandoavam-bola amin'ny SMS dia miankina amin'ny firenena.
GET /api/v1/catalog?service=go&country=86&page=1&page_size=100
Authorization: Bearer YOUR_API_KEY{
"rows": [
{
"offer_id": 42,
"service": "go",
"service_name": "Google",
"country_id": 86,
"country_name": "Italy",
"provider_id": 1,
"operator": 1,
"provider_name": "Operator 1",
"reward": "0.00300000",
"currency": "USD",
"accounting_precision": 8,
"earnings_hold_days": 45
}
],
"page": 1,
"page_size": 100,
"total": 1,
"pages": 1,
"has_more": false,
"accounting_precision": 8
}service · country · operator · q · page · page_size (1–100)
Manome ny isan'ny
POST /api/v1/activations
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Idempotency-Key: request-unique-001
{
"service": "go",
"country": 86
}Safidy mandeha ho azy: kaody betsaka indrindra tao anatin’ny ora farany, avy eo 24 ora. Tsy misy laharana: mpandraharaha manaraka.
201: new session · 200: replay of the same operation
service + country OR offer_id · duration_minutes: 20
ref: software owner code (optional)
operator: public ID (e.g. 1 for Operator 1), optional · any/0: automatic
country: integer · service: string · SMS code: stringNy antso dia voafaritra mandritra ny 20 minitra. ny SMS dia voamarika isan'ny 20 sekonda.
Hamarino laharana maro
GET /api/v1/activations/batch?ids=42,43
Authorization: Bearer YOUR_API_KEY{
"rows": [
{
"id": 42,
"found": true,
"phone": "12025550123",
"status": "received",
"service": "go",
"country_id": 86,
"provider_id": 1,
"operator": 1,
"expires_at": "2026-10-10T12:15:00Z",
"sms_count": 1,
"code": "001234",
"last_sms": {
"id": 101,
"code": "001234",
"sender": "Service",
"text": "Code: 001234",
"received_at": "2026-10-10T12:01:00Z"
}
},
{
"id": 43,
"found": false,
"error": {
"code": "NO_ACTIVATION",
"message": "Session not found."
}
}
],
"as_of": "2026-10-10T12:01:00Z",
"poll_interval_seconds": 20
}ids: 1–100 positive session IDs, separated by commas
Input order preserved · duplicates removed
Foreign, unavailable or out-of-scope IDs: found=false
Read only · no supplier requests · last_sms is the latest messageVola ao amin'ny kaonty · Vola tazonina
GET /api/v1/balance
Authorization: Bearer YOUR_API_KEY{
"currency": "USD",
"accounting_precision": 8,
"balance": "12.00000000",
"held_balance": "34.50000001",
"balance_minor": "1200000000",
"held_minor": "3450000001",
"as_of": "2026-10-12T20:00:00Z",
"next_release_at": "2026-11-26T20:00:00Z"
}balance — Azo ampiasaina; held_balance — Vola tazonina. USD · 8
Ny vola efa tapitra ny fotoana fitazonana ihany no azo sintomina.
Rindranasa mpanjifa vonona
import {SmScash, SmScashError} from './smscash.mjs';
import {randomUUID} from 'node:crypto';
const api = new SmScash(process.env.SMSCASH_API_KEY);
const catalog = await api.catalog({service: 'go', country: 86});
console.log(catalog.rows);
// Save this key before sending; keep it for retries of this operation.
const requestKey = randomUUID();
const session = await api.createNumber({service: 'go', country: 86}, requestKey);
// After 20 seconds:
const messages = await api.sms(session.id, {afterId: 0});
console.log(messages.sms);
const statuses = await api.batch([session.id]);
const held = await api.holdBalance();
console.log(held); // Exact USD stringimport os
import uuid
from smscash import SmScash, SmScashError
api = SmScash(os.environ['SMSCASH_API_KEY'])
catalog = api.catalog(service='go', country=86)
print(catalog['rows'])
# Save this key before sending; keep it for retries of this operation.
request_key = str(uuid.uuid4())
session = api.create_number({'service': 'go', 'country': 86}, request_key)
# After 20 seconds:
messages = api.sms(session['id'], after_id=0)
print(messages['sms'])
statuses = api.batch([session['id']])
held = api.hold_balance()
print(held) # Exact USD stringme() · balance() · holdBalance()/hold_balance() · catalog() · activation() · sms() · batch()
createNumber(parameters, requestKey) / create_number(parameters, request_key)
setStatus(id, "cancel") / set_status(id, "cancel")
setStatus(id, "retry", requestKey) / set_status(id, "retry", request_key)
Timeout: 15 s · no dependencies · no automatic retries
Error: code · status · hint · requestId/request_id · retryable
ALLOCATION_UNCERTAIN: contact support with request_id; never retry automatically.SMS-Activate / HeroSMS
https://smscash.org/sms-activate/stubs/handler_api.phphttps://smscash.org/hero-sms/stubs/handler_api.phpFanalahidy API manokan’ny mpampiasa.
Ny fandoavam-bola amin'ny SMS dia miankina amin'ny firenena.
| Ny code | Ny famantarana |
|---|---|
getNumber / getNumberV2 | Manome ny isan'ny |
getStatus / getStatusV2 | Manao ny code farany indrindra. |
setStatus / finishActivation / cancelActivation | Ny fitantanana ny fivoriana |
getPrices / getNumbersStatus | Tsidiho ny fahazoana |
getRewards (SMScash) | Ny fanomezana ny SMS |
getServicesList / getServices | Tolotra |
getCountries / getOperators | Tolotra sy firenena |
getActiveActivations | Ny fivoriana |
getBalance | Volan’ny mpampiasa |
getHoldBalance (SMScash) | Vola tazonina |
cost = 0 USD · activationCost = 0 USDreward — Ny fanomezana ny SMS
curl --get 'https://smscash.org/hero-sms/stubs/handler_api.php' \
--data-urlencode 'api_key=YOUR_API_KEY' \
--data-urlencode 'action=getNumberV2' \
--data-urlencode 'service=go' \
--data-urlencode 'country=86' \
-H 'Idempotency-Key: request-unique-001'{
"activationId": "42",
"phoneNumber": "393331234567",
"activationCost": 0,
"currency": 840,
"countryCode": 86,
"canGetAnotherSms": true,
"activationTime": "2026-10-11T12:00:00Z",
"activationEndTime": "2026-10-11T12:15:00Z",
"reward": "0.00300000"
}GET or POST application/x-www-form-urlencoded
api_key · action · service · country · ref (optional)
setStatus: 1 → ACCESS_READY · 3 → ACCESS_RETRY_GET
6 → ACCESS_ACTIVATION · 8 → ACCESS_CANCEL
getStatus: STATUS_WAIT_CODE · STATUS_OK:001234 · STATUS_CANCEL
getStatusV2: {"verificationType":1,"sms":null,"call":null}
getServicesList: {"status":"success","services":[{"code":"go","name":"Google"}]}
getCountries: {"86":{"id":86,"eng":"Italy","visible":1,"retry":1,"rent":0}}
getPrices: {"86":{"go":{"cost":0,"count":12,"reward":"0.00300000","currency":"USD"}}}
getRewards: {"59":{"vi":{"1":"0.01000000"}}}
getRewards filters: country · service · operator (optional); any/0: all permitted providers
getActiveActivations: start=0 · limit=1–100 · activeActivations / data
Business/key errors: HTTP 200 + plain text · server errors: HTTP 500
Availability: actual supplier pool, shared cache up to 20 s; not a reservation
No automatic retries after a transport error or ALLOCATION_UNCERTAIN.
Keep the original Idempotency-Key and parameters.
Unsupported: rent · calls · forwarding · multiple services per number · prolong
Unsupported options return BAD_REQUEST; unsupported actions return BAD_ACTION.
SMScash keys and country/service codes; configure this base URL in your software.Ny antso dia voafaritra mandritra ny 20 minitra. ny SMS dia voamarika isan'ny 20 sekonda.
Ny fanamarinana sy ny fanafoanana
REST: Ny lohateny Authorization: Bearer YOUR_API_KEY. Ny fifandraisana dia mifanaraka amin'ny: Ny parametrika api_key Ny actionNy fampiasana ny HTTPS.
Mba hanana ny API ny fanalahidy, tafiditra ao amin'ny kaontinao.
Ny fangatahana API dia tsy misy fangatahana sy ny isan'ny fangatahana dia tsy misy fangatahana.
Ny antso dia voafaritra mandritra ny 20 minitra. ny SMS dia voamarika isan'ny 20 sekonda.
Ny sisa, ny iray amin'ireo Idempotency-Key dia tsy maintsy ho an'ny fametrahana ny isan'ny, fametrahana ny fametrahana, ny fametrahana sy ny fandoavam-bola fanontaniana. dia tsy maintsy alefa fa manolotra amin'ny handler_api.php. Ny fampiasana ny fanontaniana rehefa fametrahana ny fangatahana ny tambajotra; mampiasa ny fanontaniana vaovao ho an'ny asa vaovao.
API Ny fisainana
Azonao atao ny manakana ny fanalahidy amin'ny tolotra manokana, firenena sy mpamatsy. Ny lisitra malalaka dia mamela ny safidy rehetra azo jerena.
{
"label": "Ny rindrambaiko",
"policy": {
"services": [
"go"
],
"countries": [
86
],
"providers": [
1
]
}
}PATCH /api/v1/keys/{id} Ny anarany sy ny politika dia miova tanteraka. ny fahamarinana dia voatery ho hita ihany rehefa voatery.
10% amin'ny ankapobeny. 5% + 5% miaraka amin'ny rindrambaiko code.
Raha misy ny fandefasana, tsarovy ny antontan-taratasy. ref ny mpampiasa ny rindrambaiko. ny fanontaniana dia voafaritra amin'ny fanalahidy ny mpamatsy. ny code dia ao amin'ny "Referrals" sektion sy ao amin'ny GET /api/v1/referrals → software_ref.
| Ny fangatahana | Ny fangatahana | Ny rindrambaiko |
|---|---|---|
| Tsy misy ny ref | 10% | — |
| Ny ref | 5% | 5% |
| Ny fiteny dia tsy misy fiteny | — | 5% |
Ny sehatra dia manome ny tombony tsy manangona ny fanontaniana ny mpampiasa. ny mpampiasa rindrambaiko sy ny mpampiasa dia afaka ny olona iray. Ny mpampiasa dia tsy afaka mampiasa ny code manokana.
Ny fepetra dia voafetra rehefa misy fivoriana; ny fanehoan-kevitra SMS sy ny fandefasana dia tsy mitova azy ireo. Mandeha ref indray ho an'ny fivoriana vaovao. Amin'ny fanodinana ny fanodinana, ny mpamily ny USD 0.003 dia manome USD 0.00015 ny tsirairay amin'ny mpamily ny rindrambaiko sy ny mpamily. Ny tombony manontolo dia USD 0.00030.
API Ny famindram-panoherana
11 XVBC-tsy fomba sy ny SMScash fitsipika.
GETgetNumberManome ny isan'ny+
Manangana fivoriana ary manome ny isan'ny mpamatsy. ny tombony sy ny mpamatsy fanehoana dia voafetra amin'ny fanomezana; ny tombony dia voafetra rehefa tonga ny SMS miaraka amin'ny code.
Ny parametrana
| Ny parametrana | Ny fomba | Ny famantarana |
|---|---|---|
api_key* | string | Fanalahidy API manokan’ny mpampiasa. |
service* | string | Ny valiny dia voafetra amin'ny faritra ny API ny fangatahana. |
country* | integer | Atao ID avy amin'ny getCountries. |
operator | string | Atao ID avy amin'ny operators/getOperators (API). operator=1 · any/0 |
session_duration | integer | Ny fangatahana dia mandritra ny 20 minitra. dia miala 20 na tsy manome izany parameter izany. |
with_operator | integer | 1 manampy ny ID-n’ny mpandraharaha amin’ny valiny; 0 na raha tsy omena dia mamerina fizarana telo. |
ref | string | Ny code manam-pahaizana ny mpampiasa rindrambaiko: 5% ho azy sy 5% ho an'ny mpividy. tsy ref - 10% ho an'ny mpividy. |
* Ny parameter dia tsy maintsy. amin'ny fangatahana rehetra dia misy koa ny fanatanterahana =getNumber.
Ny fanontaniana dia
curl 'https://smscash.org/stubs/handler_api.php?action=getNumber&api_key=YOUR_API_KEY&service=go&country=86&with_operator=1' \
-H 'Idempotency-Key: request-unique-001'package main
import (
"fmt"
"io"
"net/http"
"time"
)
func main() {
req, err := http.NewRequest("GET", "https://smscash.org/stubs/handler_api.php?action=getNumber&api_key=YOUR_API_KEY&service=go&country=86&with_operator=1", nil)
if err != nil { panic(err) }
req.Header.Set("Idempotency-Key", "request-unique-001")
client := &http.Client{Timeout: 15 * time.Second}
resp, err := client.Do(req)
if err != nil { panic(err) }
defer resp.Body.Close()
body, err := io.ReadAll(resp.Body)
if err != nil { panic(err) }
fmt.Println(resp.StatusCode, string(body))
}const response = await fetch("https://smscash.org/stubs/handler_api.php?action=getNumber&api_key=YOUR_API_KEY&service=go&country=86&with_operator=1", {
headers: {"Idempotency-Key": "request-unique-001"}
});
const result = await response.text();
console.log(response.status, result);import requests
response = requests.get(
"https://smscash.org/stubs/handler_api.php?action=getNumber&api_key=YOUR_API_KEY&service=go&country=86&with_operator=1",
headers={"Idempotency-Key": "request-unique-001"},
timeout=15,
)
print(response.status_code, response.text)Ny valiny
ACCESS_NUMBER:42:380670000000:1EMPTY_POOL- Safidy mandeha ho azy: kaody betsaka indrindra tao anatin’ny ora farany, avy eo 24 ora. Tsy misy laharana: mpandraharaha manaraka.
- Pass Idempotency-Key: ilay fangatahana miaraka amin'ny famaha mitovy amin'izany dia miverina ny session teo aloha. Manova ireo antso misolotena IDEMPOTENCY_CONFLICT.
- Ny firenena nomerika tsy misy ny basy dia manome EMPTY_POOL; ny fahadisoana dia ny BAD_COUNTRY.
- Ny fanalahidy ny fitaterana dia mbola ampiasaina: ny fametrahana ny fanomezana amin'izany fanalahidy dia hiverina SESSION_CLOSED ary tsy hiverina ny isan'ny hafa.
- Ny vokatra fanomezana dia tsy voafetra. ny fanomezana automatique dia tsy azo atao mba tsy hanome ny faharoa.
GETgetNumbersStatusTsidiho ny fahazoana+
Ny fangatahana dia azo jerena amin'ny fampiasana ny fangatahana sy ny firenena.
Ny parametrana
| Ny parametrana | Ny fomba | Ny famantarana |
|---|---|---|
api_key* | string | Fanalahidy API manokan’ny mpampiasa. |
country* | integer | Atao ID avy amin'ny getCountries. |
* Ny parameter dia tsy maintsy. amin'ny fangatahana rehetra dia misy koa ny fanatanterahana =getNumbersStatus.
Ny fanontaniana dia
curl 'https://smscash.org/stubs/handler_api.php?action=getNumbersStatus&api_key=YOUR_API_KEY&country=86'package main
import (
"fmt"
"io"
"net/http"
"time"
)
func main() {
req, err := http.NewRequest("GET", "https://smscash.org/stubs/handler_api.php?action=getNumbersStatus&api_key=YOUR_API_KEY&country=86", nil)
if err != nil { panic(err) }
client := &http.Client{Timeout: 15 * time.Second}
resp, err := client.Do(req)
if err != nil { panic(err) }
defer resp.Body.Close()
body, err := io.ReadAll(resp.Body)
if err != nil { panic(err) }
fmt.Println(resp.StatusCode, string(body))
}const response = await fetch("https://smscash.org/stubs/handler_api.php?action=getNumbersStatus&api_key=YOUR_API_KEY&country=86");
const result = await response.json();
console.log(response.status, result);import requests
response = requests.get(
"https://smscash.org/stubs/handler_api.php?action=getNumbersStatus&api_key=YOUR_API_KEY&country=86",
timeout=15,
)
print(response.status_code, response.json())Ny valiny
{
"go_0": 0
}- Ny _0 suffix dia ny safidy tsy misy mpampiasa manokana.
- Ny fidirana dia ahitana ny toeram-pivarotana manontolo. ny fidirana dia voamarina rehefa misy ny isan'ny fidirana.
GETgetStatusManao ny code farany indrindra.+
Ny fanontaniana tsotra momba ny toe-javatra sy ny code SMS farany. ny zero lehibe ao amin'ny code dia voafetra.
Ny parametrana
| Ny parametrana | Ny fomba | Ny famantarana |
|---|---|---|
api_key* | string | Fanalahidy API manokan’ny mpampiasa. |
id* | integer | ID ny fivoriana, efa nandray rehefa nandray ny isan'ny famoahana. |
* Ny parameter dia tsy maintsy. amin'ny fangatahana rehetra dia misy koa ny fanatanterahana =getStatus.
Ny fanontaniana dia
curl 'https://smscash.org/stubs/handler_api.php?action=getStatus&api_key=YOUR_API_KEY&id=42'package main
import (
"fmt"
"io"
"net/http"
"time"
)
func main() {
req, err := http.NewRequest("GET", "https://smscash.org/stubs/handler_api.php?action=getStatus&api_key=YOUR_API_KEY&id=42", nil)
if err != nil { panic(err) }
client := &http.Client{Timeout: 15 * time.Second}
resp, err := client.Do(req)
if err != nil { panic(err) }
defer resp.Body.Close()
body, err := io.ReadAll(resp.Body)
if err != nil { panic(err) }
fmt.Println(resp.StatusCode, string(body))
}const response = await fetch("https://smscash.org/stubs/handler_api.php?action=getStatus&api_key=YOUR_API_KEY&id=42");
const result = await response.text();
console.log(response.status, result);import requests
response = requests.get(
"https://smscash.org/stubs/handler_api.php?action=getStatus&api_key=YOUR_API_KEY&id=42",
timeout=15,
)
print(response.status_code, response.text)Ny valiny
STATUS_WAIT_CODESTATUS_OK:001234STATUS_CANCELNO_ACTIVATION- Ny fanehoan-kevitra dia tsy mitondra ny fandefasana indray ny 20 sekonda.
- Taorian'ny retry Tsy naverina ilay fango taloha: getStatus miandry ny manaraka SMS.
- Ary ny isan'ny tsy SMS Ny fanapahan-kevitra dia voafetra, getStatus Ny getSms Ny faharoa STATUS_CANCEL; getSmsFull hiverina ny toe-javatra voafetra, ny antso tsy misy ary ny antso tsy misy. sms Ny lisitra. REST /activations/{id} Ny /sms Ny faharoa 404 NO_ACTIVATION.
GETsetStatusNy fitantanana ny fivoriana+
Manomboka, manakana na manomboka mandritra ny SMS. Ny fangatahana manomboka dia mitoetra ny tenany.
Ny parametrana
| Ny parametrana | Ny fomba | Ny famantarana |
|---|---|---|
api_key* | string | Fanalahidy API manokan’ny mpampiasa. |
id* | integer | ID ny fivoriana, efa nandray rehefa nandray ny isan'ny famoahana. |
status* | integer | 3 — mitady ny code manaraka tsy manohy ny fivoriana; 6 — manomboka amin'ny SMS; 8 — manakana avy hatrany. |
* Ny parameter dia tsy maintsy. amin'ny fangatahana rehetra dia misy koa ny fanatanterahana =setStatus.
Ny fanontaniana dia
curl 'https://smscash.org/stubs/handler_api.php?action=setStatus&api_key=YOUR_API_KEY&id=42&status=3' \
-H 'Idempotency-Key: request-unique-001'package main
import (
"fmt"
"io"
"net/http"
"time"
)
func main() {
req, err := http.NewRequest("GET", "https://smscash.org/stubs/handler_api.php?action=setStatus&api_key=YOUR_API_KEY&id=42&status=3", nil)
if err != nil { panic(err) }
req.Header.Set("Idempotency-Key", "request-unique-001")
client := &http.Client{Timeout: 15 * time.Second}
resp, err := client.Do(req)
if err != nil { panic(err) }
defer resp.Body.Close()
body, err := io.ReadAll(resp.Body)
if err != nil { panic(err) }
fmt.Println(resp.StatusCode, string(body))
}const response = await fetch("https://smscash.org/stubs/handler_api.php?action=setStatus&api_key=YOUR_API_KEY&id=42&status=3", {
headers: {"Idempotency-Key": "request-unique-001"}
});
const result = await response.text();
console.log(response.status, result);import requests
response = requests.get(
"https://smscash.org/stubs/handler_api.php?action=setStatus&api_key=YOUR_API_KEY&id=42&status=3",
headers={"Idempotency-Key": "request-unique-001"},
timeout=15,
)
print(response.status_code, response.text)Ny valiny
ACCESS_RETRY_GETACCESS_ACTIVATIONACCESS_CANCEL- Ny famoahana dia mandritra ny 20 minitra manaraka ny code. ny famoahana sy ny fotoana fihenam-potoana dia tsy mitova.
- Ny toerana dia3 Ny fampiasana Idempotency-Key: ny famerenana ny fangatahana dia tsy hiverina ny code vaovao efa nandray. SMS Ny mbola azo atao.
- Ny fanapahan-kevitra dia tsy manakana ny fanomezana efa voafidy.
- Ny isan'ny mpamaky amin'ny code SMS ihany no voatahiry ao amin'ny tantara. ny isan'ny voatahiry sy voatahiry tsy misy code dia voatahiry.
GETgetRepeatNumberNy sarany dia ny sarany indray.+
Ny fidirana vaovao dia ahitana ny isan'ny tantara manokana.Aza ny safidy hafa azo jerena amin'ny firenena iray.
Ny parametrana
| Ny parametrana | Ny fomba | Ny famantarana |
|---|---|---|
api_key* | string | Fanalahidy API manokan’ny mpampiasa. |
number* | string | Isan-tsoratra talohao. Isan'ny mpitarika + ihany no azo atao. |
service* | string | Ny valiny dia voafetra amin'ny faritra ny API ny fangatahana. |
session_duration | integer | Ny fangatahana dia mandritra ny 20 minitra. dia miala 20 na tsy manome izany parameter izany. |
with_operator | integer | 1 manampy ny ID-n’ny mpandraharaha amin’ny valiny; 0 na raha tsy omena dia mamerina fizarana telo. |
ref | string | Ny code manam-pahaizana ny mpampiasa rindrambaiko: 5% ho azy sy 5% ho an'ny mpividy. tsy ref - 10% ho an'ny mpividy. |
operator | string | Atao ID avy amin'ny operators/getOperators (API). operator=1 · any/0 |
* Ny parameter dia tsy maintsy. amin'ny fangatahana rehetra dia misy koa ny fanatanterahana =getRepeatNumber.
Ny fanontaniana dia
curl 'https://smscash.org/stubs/handler_api.php?action=getRepeatNumber&api_key=YOUR_API_KEY&number=380670000000&service=go' \
-H 'Idempotency-Key: request-unique-001'package main
import (
"fmt"
"io"
"net/http"
"time"
)
func main() {
req, err := http.NewRequest("GET", "https://smscash.org/stubs/handler_api.php?action=getRepeatNumber&api_key=YOUR_API_KEY&number=380670000000&service=go", nil)
if err != nil { panic(err) }
req.Header.Set("Idempotency-Key", "request-unique-001")
client := &http.Client{Timeout: 15 * time.Second}
resp, err := client.Do(req)
if err != nil { panic(err) }
defer resp.Body.Close()
body, err := io.ReadAll(resp.Body)
if err != nil { panic(err) }
fmt.Println(resp.StatusCode, string(body))
}const response = await fetch("https://smscash.org/stubs/handler_api.php?action=getRepeatNumber&api_key=YOUR_API_KEY&number=380670000000&service=go", {
headers: {"Idempotency-Key": "request-unique-001"}
});
const result = await response.text();
console.log(response.status, result);import requests
response = requests.get(
"https://smscash.org/stubs/handler_api.php?action=getRepeatNumber&api_key=YOUR_API_KEY&number=380670000000&service=go",
headers={"Idempotency-Key": "request-unique-001"},
timeout=15,
)
print(response.status_code, response.text)Ny valiny
ACCESS_NUMBER:43:380670000000NUMBER_IN_USE- Ny voalohany, manakana na mamela ny fidirana amin'izao fotoana izao. Raha misy ny isan'ny asa, dia tsy misy ny famerenana indray.
- Ny fivoriana vaovao dia manome ID vaovao sy ny fanamarihana ankehitriny. ny SMS vavy dia tsy voasoratra ao amin'izany. ref dia voatendry indray.
- SMScash dia mamela ny mamaly ny isan'ny tantara amin'ity kaonty ity. ny firenena dia voafetra amin'ny isan'ny.
- Ny fanalahidy ny fitaterana dia mbola ampiasaina: ny fametrahana ny fanomezana amin'izany fanalahidy dia hiverina SESSION_CLOSED ary tsy hiverina ny isan'ny hafa.
GETgetSmsFullNy SMS dia ny JSON.+
Ny tantara dia voafetra ny hafatra rehetra miaraka amin'ny ID, mpandeha, code, lahatsoratra sy firenena, tolotra sy ny mpamatsy ny angon-drakitra.
Ny parametrana
| Ny parametrana | Ny fomba | Ny famantarana |
|---|---|---|
api_key* | string | Fanalahidy API manokan’ny mpampiasa. |
id* | integer | ID ny fivoriana, efa nandray rehefa nandray ny isan'ny famoahana. |
* Ny parameter dia tsy maintsy. amin'ny fangatahana rehetra dia misy koa ny fanatanterahana =getSmsFull.
Ny fanontaniana dia
curl 'https://smscash.org/stubs/handler_api.php?action=getSmsFull&api_key=YOUR_API_KEY&id=42'package main
import (
"fmt"
"io"
"net/http"
"time"
)
func main() {
req, err := http.NewRequest("GET", "https://smscash.org/stubs/handler_api.php?action=getSmsFull&api_key=YOUR_API_KEY&id=42", nil)
if err != nil { panic(err) }
client := &http.Client{Timeout: 15 * time.Second}
resp, err := client.Do(req)
if err != nil { panic(err) }
defer resp.Body.Close()
body, err := io.ReadAll(resp.Body)
if err != nil { panic(err) }
fmt.Println(resp.StatusCode, string(body))
}const response = await fetch("https://smscash.org/stubs/handler_api.php?action=getSmsFull&api_key=YOUR_API_KEY&id=42");
const result = await response.json();
console.log(response.status, result);import requests
response = requests.get(
"https://smscash.org/stubs/handler_api.php?action=getSmsFull&api_key=YOUR_API_KEY&id=42",
timeout=15,
)
print(response.status_code, response.json())Ny valiny
{
"success": true,
"session_id": 42,
"phone": "380670000000",
"status": 1,
"status_name": "received",
"sms_count": 1,
"sms": [
{
"id": 101,
"external_id": "message-101",
"sender": "Service",
"code": "001234",
"text": "Код подтверждения: 001234",
"received_at": "2026-10-09T12:00:00Z",
"country": {
"id": 86,
"name": "Italy"
},
"service": {
"code": "go",
"name": "Google"
},
"provider": {
"id": 1,
"name": "Оператор 1"
}
}
],
"expires_at": "2026-10-09T12:20:00Z"
}- Ny endriky ny fampidirana.Hatsiaro sms[].id mba hanatanterahana ny vaovao fotsiny.
- Toetra isa SMScash: 1 - miasa, 6 - farany, 8 - nafoanana na nafaty. status_name misalasala amin'ny alalan'ny fiandrasana, nahazo, nafarana, nafoanana, nifarana.
- Ny code voafidy dia mitoetra ao amin'ny fametrahana ny fivoriana.Hatra ny volamena lehibe, mampiasa REST /activations/{id}/sms miaraka amin'ny after_id.
- Ary ny isan'ny tsy SMS Ny fanapahan-kevitra dia voafetra, getStatus Ny getSms Ny faharoa STATUS_CANCEL; getSmsFull hiverina ny toe-javatra voafetra, ny antso tsy misy ary ny antso tsy misy. sms Ny lisitra. REST /activations/{id} Ny /sms Ny faharoa 404 NO_ACTIVATION.
GETgetSmsMandeha ny SMS ho toy ny boky boky+
Manarara ny tantara SMS manontolo amin'ny endriky ny sarin'ny mpanjifa voajanahary.
Ny parametrana
| Ny parametrana | Ny fomba | Ny famantarana |
|---|---|---|
api_key* | string | Fanalahidy API manokan’ny mpampiasa. |
id* | integer | ID ny fivoriana, efa nandray rehefa nandray ny isan'ny famoahana. |
* Ny parameter dia tsy maintsy. amin'ny fangatahana rehetra dia misy koa ny fanatanterahana =getSms.
Ny fanontaniana dia
curl 'https://smscash.org/stubs/handler_api.php?action=getSms&api_key=YOUR_API_KEY&id=42'package main
import (
"fmt"
"io"
"net/http"
"time"
)
func main() {
req, err := http.NewRequest("GET", "https://smscash.org/stubs/handler_api.php?action=getSms&api_key=YOUR_API_KEY&id=42", nil)
if err != nil { panic(err) }
client := &http.Client{Timeout: 15 * time.Second}
resp, err := client.Do(req)
if err != nil { panic(err) }
defer resp.Body.Close()
body, err := io.ReadAll(resp.Body)
if err != nil { panic(err) }
fmt.Println(resp.StatusCode, string(body))
}const response = await fetch("https://smscash.org/stubs/handler_api.php?action=getSms&api_key=YOUR_API_KEY&id=42");
const result = await response.text();
console.log(response.status, result);import requests
response = requests.get(
"https://smscash.org/stubs/handler_api.php?action=getSms&api_key=YOUR_API_KEY&id=42",
timeout=15,
)
print(response.status_code, response.text)Ny valiny
STATUS_OK:2026-10-09T12:00:00Z|001234|Код подтверждения: 001234STATUS_WAIT_CODESTATUS_CANCEL- Ny endriky ny hafatra: ny fotoana dia ny fanehoan-kevitra. ny hafatra maro dia voafetra amin'ny kolontsa.
- Ny SMS ny teny ihany no mety misy kolontsaina sy ny boky vertika.Hatra ny fametrahana azo antoka, mampiasa getSmsFull.
GETgetServicesTolotra+
Ny valiny dia voafetra amin'ny faritra ny API ny fangatahana.
Ny parametrana
| Ny parametrana | Ny fomba | Ny famantarana |
|---|---|---|
api_key* | string | Fanalahidy API manokan’ny mpampiasa. |
country | integer | Atao ID avy amin'ny getCountries. |
* Ny parameter dia tsy maintsy. amin'ny fangatahana rehetra dia misy koa ny fanatanterahana =getServices.
Ny fanontaniana dia
curl 'https://smscash.org/stubs/handler_api.php?action=getServices&api_key=YOUR_API_KEY'package main
import (
"fmt"
"io"
"net/http"
"time"
)
func main() {
req, err := http.NewRequest("GET", "https://smscash.org/stubs/handler_api.php?action=getServices&api_key=YOUR_API_KEY", nil)
if err != nil { panic(err) }
client := &http.Client{Timeout: 15 * time.Second}
resp, err := client.Do(req)
if err != nil { panic(err) }
defer resp.Body.Close()
body, err := io.ReadAll(resp.Body)
if err != nil { panic(err) }
fmt.Println(resp.StatusCode, string(body))
}const response = await fetch("https://smscash.org/stubs/handler_api.php?action=getServices&api_key=YOUR_API_KEY");
const result = await response.json();
console.log(response.status, result);import requests
response = requests.get(
"https://smscash.org/stubs/handler_api.php?action=getServices&api_key=YOUR_API_KEY",
timeout=15,
)
print(response.status_code, response.json())Ny valiny
{
"go": {
"name": "Google",
"code": "go"
}
}- Ny famantarana ny tolotra dia manam-pahaizana eo amin'ny mpamatsy. ny fahafahana ny isan'ny dia voamarika manokana.
GETgetCountriesFirenena+
Ny ID, ny anaran'ny anarana sy ny fangatahana ny firenena ao amin'ny sehatra voafidy.
Ny parametrana
| Ny parametrana | Ny fomba | Ny famantarana |
|---|---|---|
api_key* | string | Fanalahidy API manokan’ny mpampiasa. |
* Ny parameter dia tsy maintsy. amin'ny fangatahana rehetra dia misy koa ny fanatanterahana =getCountries.
Ny fanontaniana dia
curl 'https://smscash.org/stubs/handler_api.php?action=getCountries&api_key=YOUR_API_KEY'package main
import (
"fmt"
"io"
"net/http"
"time"
)
func main() {
req, err := http.NewRequest("GET", "https://smscash.org/stubs/handler_api.php?action=getCountries&api_key=YOUR_API_KEY", nil)
if err != nil { panic(err) }
client := &http.Client{Timeout: 15 * time.Second}
resp, err := client.Do(req)
if err != nil { panic(err) }
defer resp.Body.Close()
body, err := io.ReadAll(resp.Body)
if err != nil { panic(err) }
fmt.Println(resp.StatusCode, string(body))
}const response = await fetch("https://smscash.org/stubs/handler_api.php?action=getCountries&api_key=YOUR_API_KEY");
const result = await response.json();
console.log(response.status, result);import requests
response = requests.get(
"https://smscash.org/stubs/handler_api.php?action=getCountries&api_key=YOUR_API_KEY",
timeout=15,
)
print(response.status_code, response.json())Ny valiny
{
"86": {
"id": 86,
"name": "Italy",
"phone_code": "39"
}
}GETgetOperatorsNy mpandraharaha+
Mpandraharaha misy: ID API, anarana ary fe-potoana fitazonana valisoa.
Ny parametrana
| Ny parametrana | Ny fomba | Ny famantarana |
|---|---|---|
api_key* | string | Fanalahidy API manokan’ny mpampiasa. |
country | integer | Atao ID avy amin'ny getCountries. |
operator | string | Atao ID avy amin'ny operators/getOperators (API). operator=1 · any/0 |
* Ny parameter dia tsy maintsy. amin'ny fangatahana rehetra dia misy koa ny fanatanterahana =getOperators.
Ny fanontaniana dia
curl 'https://smscash.org/stubs/handler_api.php?action=getOperators&api_key=YOUR_API_KEY'package main
import (
"fmt"
"io"
"net/http"
"time"
)
func main() {
req, err := http.NewRequest("GET", "https://smscash.org/stubs/handler_api.php?action=getOperators&api_key=YOUR_API_KEY", nil)
if err != nil { panic(err) }
client := &http.Client{Timeout: 15 * time.Second}
resp, err := client.Do(req)
if err != nil { panic(err) }
defer resp.Body.Close()
body, err := io.ReadAll(resp.Body)
if err != nil { panic(err) }
fmt.Println(resp.StatusCode, string(body))
}const response = await fetch("https://smscash.org/stubs/handler_api.php?action=getOperators&api_key=YOUR_API_KEY");
const result = await response.json();
console.log(response.status, result);import requests
response = requests.get(
"https://smscash.org/stubs/handler_api.php?action=getOperators&api_key=YOUR_API_KEY",
timeout=15,
)
print(response.status_code, response.json())Ny valiny
{
"1": {
"id": 1,
"provider_id": 1,
"operator": 1,
"name": "Оператор 1",
"earnings_hold_days": 45
}
}- Atao ID avy amin'ny operators/getOperators (API).
GETgetRewardsNy fanomezana ny SMS+
Ny vidiny dia miankina amin'ny firenena. ny vidiny rehetra dia amin'ny SMS.
Ny parametrana
| Ny parametrana | Ny fomba | Ny famantarana |
|---|---|---|
api_key* | string | Fanalahidy API manokan’ny mpampiasa. |
country | integer | Atao ID avy amin'ny getCountries. |
service | string | Ny valiny dia voafetra amin'ny faritra ny API ny fangatahana. |
operator | string | Atao ID avy amin'ny operators/getOperators (API). operator=1 · any/0 |
* Ny parameter dia tsy maintsy. amin'ny fangatahana rehetra dia misy koa ny fanatanterahana =getRewards.
Ny fanontaniana dia
curl 'https://smscash.org/stubs/handler_api.php?action=getRewards&api_key=YOUR_API_KEY&country=59&service=vi'package main
import (
"fmt"
"io"
"net/http"
"time"
)
func main() {
req, err := http.NewRequest("GET", "https://smscash.org/stubs/handler_api.php?action=getRewards&api_key=YOUR_API_KEY&country=59&service=vi", nil)
if err != nil { panic(err) }
client := &http.Client{Timeout: 15 * time.Second}
resp, err := client.Do(req)
if err != nil { panic(err) }
defer resp.Body.Close()
body, err := io.ReadAll(resp.Body)
if err != nil { panic(err) }
fmt.Println(resp.StatusCode, string(body))
}const response = await fetch("https://smscash.org/stubs/handler_api.php?action=getRewards&api_key=YOUR_API_KEY&country=59&service=vi");
const result = await response.json();
console.log(response.status, result);import requests
response = requests.get(
"https://smscash.org/stubs/handler_api.php?action=getRewards&api_key=YOUR_API_KEY&country=59&service=vi",
timeout=15,
)
print(response.status_code, response.json())Ny valiny
{
"59": {
"vi": {
"1": "0.01000000",
"3": "0.00500000"
}
}
}{}- Ny vola USD dia miverina amin'ny fomba fisainana decimal ny 8 decimal toerana:
- Ny mpamatsy azo atao dia azo jerena amin'ny fanalahidy.
- country ID → service code → operator ID → reward (USD)
GETgetBalanceVolan’ny mpampiasa+
SMScash fanampiny: ny fandoavam-bola azo jerena amin'ny alalan'ny fanampiny, tombony fanamarinana ary fanontaniana fanampiny.
Ny parametrana
| Ny parametrana | Ny fomba | Ny famantarana |
|---|---|---|
api_key* | string | Fanalahidy API manokan’ny mpampiasa. |
* Ny parameter dia tsy maintsy. amin'ny fangatahana rehetra dia misy koa ny fanatanterahana =getBalance.
Ny fanontaniana dia
curl 'https://smscash.org/stubs/handler_api.php?action=getBalance&api_key=YOUR_API_KEY'package main
import (
"fmt"
"io"
"net/http"
"time"
)
func main() {
req, err := http.NewRequest("GET", "https://smscash.org/stubs/handler_api.php?action=getBalance&api_key=YOUR_API_KEY", nil)
if err != nil { panic(err) }
client := &http.Client{Timeout: 15 * time.Second}
resp, err := client.Do(req)
if err != nil { panic(err) }
defer resp.Body.Close()
body, err := io.ReadAll(resp.Body)
if err != nil { panic(err) }
fmt.Println(resp.StatusCode, string(body))
}const response = await fetch("https://smscash.org/stubs/handler_api.php?action=getBalance&api_key=YOUR_API_KEY");
const result = await response.text();
console.log(response.status, result);import requests
response = requests.get(
"https://smscash.org/stubs/handler_api.php?action=getBalance&api_key=YOUR_API_KEY",
timeout=15,
)
print(response.status_code, response.text)Ny valiny
ACCESS_BALANCE:0.00- getBalance dia manome ny vola USD azo jerena amin'ny toerana maharitra 8 ambony.
- Ny vola efa tapitra ny fotoana fitazonana ihany no azo sintomina.
GETgetHoldBalanceVola tazonina+
Rehefa voaray ny SMS dia tazonina mandritra ny fotoana voatondron'ny mpamatsy ny vola azo. Amin'ny daty voatondro dia azo sintomina ho azy izany vola izany.
Ny parametrana
| Ny parametrana | Ny fomba | Ny famantarana |
|---|---|---|
api_key* | string | Fanalahidy API manokan’ny mpampiasa. |
* Ny parameter dia tsy maintsy. amin'ny fangatahana rehetra dia misy koa ny fanatanterahana =getHoldBalance.
Ny fanontaniana dia
curl 'https://smscash.org/stubs/handler_api.php?action=getHoldBalance&api_key=YOUR_API_KEY'package main
import (
"fmt"
"io"
"net/http"
"time"
)
func main() {
req, err := http.NewRequest("GET", "https://smscash.org/stubs/handler_api.php?action=getHoldBalance&api_key=YOUR_API_KEY", nil)
if err != nil { panic(err) }
client := &http.Client{Timeout: 15 * time.Second}
resp, err := client.Do(req)
if err != nil { panic(err) }
defer resp.Body.Close()
body, err := io.ReadAll(resp.Body)
if err != nil { panic(err) }
fmt.Println(resp.StatusCode, string(body))
}const response = await fetch("https://smscash.org/stubs/handler_api.php?action=getHoldBalance&api_key=YOUR_API_KEY");
const result = await response.text();
console.log(response.status, result);import requests
response = requests.get(
"https://smscash.org/stubs/handler_api.php?action=getHoldBalance&api_key=YOUR_API_KEY",
timeout=15,
)
print(response.status_code, response.text)Ny valiny
ACCESS_HOLD_BALANCE:34.50000001- SMScash · getHoldBalance · USD · 8
- Ny vola efa tapitra ny fotoana fitazonana ihany no azo sintomina.
Ny fangatahana sy ny fangatahana manaraka dia
Fidirana handler_api.php mazàna miaraka amin'ny vokatry ny varotra HTTP 200. Jereo ny lahabolana amin'ny vatana. lahatahiry ary getSmsFull miverina JSON raha toa ka nahomby; soratra foana ny tsy fetezana.
| Ny code | HTTP | Ny antony sy ny dingana manaraka |
|---|---|---|
TARIFF_NOT_CONFIGURED | 200 | Tsy voafetra ny tahiry.Ny famoahana ny famoahana ny famoahana dia hiverina rehefa voafetra ny SMS. |
COUNTRY_BLOCKED | 200 | Ny fandefasana ny isan'ny firenena dia voafetra.Mifidy firenena hafa ianao. |
BAD_SERVICE | 200 | Ny fandefasana ny fandefasana ho an'ity tolotra ity dia voafetra.Mifidy ny tolotra hafa. |
PROVIDER_NOT_READY | 200 | Ny famoahana ny famoahana dia tsy azo jerena mandritra ny fotoanaNy fanodinana ny API Ny kataloga. |
BAD_KEY | 400 | Tsia api_key na lamina tsy mety.Jereo ny fanalahidy ao amin'ny fanontaniana. |
INVALID_API_KEY | 401 | Ny fanalahidy dia tsy fantatra, dia voafetra na ny kaonty dia tsy azo atao.Ny fananganana ny API dia azo atao. |
BAD_COUNTRY | 400 | Tsy misy ny antony tsara na tsy misy ny antony tsara.Atao ID avy amin'ny getCountries. |
BAD_SESSION_DURATION | 400 | Ny fangatahana dia voatahiry amin'ny taratasy 20 Ny minitra.Marina session_duration. |
BAD_REQUEST | 400 | Mpanaraka diso na Idempotency-Key.Azafady mba hamaly ny fangatahanao. |
BAD_SERVICE / BAD_OPERATOR / INVALID_PROVIDER | 200 | Tsy fantatra na natsahatra ny zavatra anatin'ny lahatahiry.Ny fanodinana ny API Ny kataloga. |
BAD_NUMBER | 200 | Ny endriky ny isan'ny tsy fahamarinana.Ny isa dia ny antsoina amin'ny antsoina. |
BAD_ACTION / BAD_STATUS | 200 | Ny famantarana tsy fantatra, ID na ny asa.Jereo ny fametrahana. |
EMPTY_POOL | 200 | Tsy misy ny fangatahana mifandray amin'ny fangatahana amin'izao fotoana izao.Ny fahamarinana dia 10-30 Ny filazana dia ny fiovana na ny fiovana. |
NUMBER_IN_USE | 200 | Ny isan'ny tsirairay dia voatendry amin'ny fandraisana anjara amin'ny fandraisana anjara.Hifarana ny fidirana na mifanaraka amin'ny fidirana hafa. |
NO_ACTIVATION | 200 | Ny fidirana na ny fidirana voalohany dia tsy miankina amin'ny kaontinao.Tsindrio ny ID sy ny fanalahidy. |
SESSION_CLOSED / SMS_REQUIRED | 200 | Ny fananganana fanjakana dia tsy azo jerena amin'izao fotoana izao.Jereo ny toe-javatra sy ny fahazoana ny SMS. |
SCOPE_BLOCKED | 200 | Ny tolotra, ny firenena na ny mpivarotra dia tsy voafetra ho an'ny fanalahidy.Ny fanatsarana ny fampiasana ny API. |
IDEMPOTENCY_CONFLICT | 200 | Ny fanontaniana ity dia mifandray amin'ny parametrana hafa.Ho an'ny fananganana vaovao, mamorona ny fananganana ny faharoa Idempotency-Key. |
BAD_REF / SELF_REF | 400 | Ny code software dia tsy fantatra, tsy voafetra, na miankina amin'ny mpampiasa ny tenany.Mifandray ny code ny mpampiasa rindrambaiko. |
INTERNAL_ERROR | 500 | Ny fahadisoana dia ny mpivarotra na ny mpivarotra.Avereno miaraka amin'ny fiatoana ary mitovy amin'izay Idempotency-Key. |
ALLOCATION_PENDING | 200 | Efa mitombo ny fampizarana isa. Avereno miaraka amin'ny mitovy Idempotency-Key.Efa mitombo ny fampizarana isa. Avereno miaraka amin'ny mitovy Idempotency-Key. |
ALLOCATION_UNCERTAIN | 200 | Ny vokatra fanomezana dia tsy voafetra. ny fanomezana automatique dia tsy azo atao mba tsy hanome ny faharoa.Ny vokatra fanomezana dia tsy voafetra. ny fanomezana automatique dia tsy azo atao mba tsy hanome ny faharoa. |
Ny sisa dia manarara ny zavatra. {"error":{"code":"…","message":"…"}} ary ny HTTP mivantana 400/401/403/404/409/503.
{
"error": {
"code": "BAD_REQUEST",
"message": "Jereo ny fangatahana ny vokatry ny fangatahana.",
"request_id": "req_…",
"hint": "Use the documented JSON type; numbers must not be quoted.",
"retryable": false,
"details": {
"field": "country",
"expected": "integer"
}
}
}X-Request-ID: included in every API response
405: Allow lists the supported HTTP methods
ALLOCATION_PENDING: retryable=true · Retry-After=3 · same operation key
ALLOCATION_UNCERTAIN: retryable=false · contact support
Transport errors: check the operation before another write; keep the original key.Ny fananganana ny fampandrosoana vaovao
Ny vola USD dia miverina amin'ny fomba fisainana decimal ny 8 decimal toerana: 0.00300000 USD.
Ny vola ara-bola dia USD. ny fangatahana sy ny fangatahana dia azo jerena ao amin'ny OpenAPI.
/api/v1/catalogTolotra sy firenena/api/v1/tariffsSMS ny famoahana ny famoahana ny firenena/api/v1/offersNy tombony sy ny fanomezana/api/v1/servicesNy Directory/api/v1/countriesNy Directory/api/v1/operatorsNy Directory/api/v1/availability?country=1Ny isan'ny fahafahana/api/v1/activationsNy fivoriana vaovao/api/v1/activations/batch?ids=42,43Hamarino laharana maro/api/v1/activationsNy farany 200 fivoriana: ny fitenenana = tantara, ny fitenenana na ny rehetra/api/v1/activations/{id}Ny fandraisana anjara sy ny hafatra/api/v1/activations/{id}/sms?after_id=0&limit=100Ny SMS amin'ny cursor/api/v1/activations/{id}/retryMiandry ny SMS/api/v1/activations/{id}/finishNy fanatanterahana/api/v1/activations/{id}/cancelNy fanafoanana/api/v1/activations/repeatNy isan'ny fitaterana/api/v1/keysAPI Ny ankapobeny/api/v1/keysNy fananganana ny loharanon-tsary/api/v1/keys/{id}Ny fanovana ny anarany na ny politika/api/v1/keys/{id}Ny fanapahan-kevitra dia/api/v1/referralsNy code sy ny tombony/api/v1/summaryNy fifandraisana sy ny fanambarana/api/v1/balanceVola tazonina/api/v1/ledgerNy tombony dia/api/v1/withdrawalsNy fangatahana ny fandoavam-bola/api/v1/withdrawalsManangana fanontaniana/api/v1/statisticsNy statistika manontolo/api/v1/earnings/holdsFitazonana ny vola azoNy famoahana ny SMS vaovao ihany no
GET /api/v1/activations/42/sms?after_id=0&limit=100
Authorization: Bearer YOUR_API_KEY{
"session_id": 42,
"sms": [
{
"id": 101,
"code": "001234",
"text": "Ny lohahevitra dia: 001234",
"sender": "Service",
"received_at": "2026-10-09T12:00:00Z"
}
],
"next_cursor": 101,
"has_more": false
}Raiketo next_cursor ary mampiseho azy amin'izay after_id. Raha has_more=true, azo vakiana avy hatrany ny pejy manaraka. 1–200. Session sy SMS ho an'ny tompon'ny ihany no misy.