Liczby, wiadomości i zarobki bezpośrednio z aplikacji.
SMScash
Dokumentacja API
Rozpoczęcie

Dokumentacja API

Liczby, wiadomości i zarobki bezpośrednio z aplikacji.

Zacznij od jednej prośby

13 · Polecenia APIREST + handler_api.phpJSON / plain text · Bearer

Stwórz klucz API w swoim panelu, uzyskaj numer i sprawdź wiadomości co 20 sekund. Płatność zostanie dodana, gdy przyjdzie SMS z kodem; ponowne czytanie go nie wpływa na twoją kwotę.

REST APIhttps://smscash.org/api/v1
Kompatybilność API podstawa URLhttps://smscash.org/stubs/handler_api.php
Usługa jest na żywoNumery telefonów , SMS i dochody są dostępne. wycofania są dostępne w USDT na TRC20Płatności są między 1 i 45 Dni są.
Szybki start · REST / cURL
curl -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}'

Alternatywny adres kompatybilnego interfejsu: /handler_api.php. Istniejące integracje REST nadal działają.

REST API

Kreator żądań

cURL · Go · JS · Python

Idempotency-Key: UUID · POST · 8–128

Wybór automatyczny: najwięcej kodów w ostatniej godzinie, potem w 24 godzinach. Brak numerów: kolejny operator.

cURL
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}'

Klucz nie jest zapisywany. Ta kontrola nie przydziela numerów.

REST dla nowych integracji

Usługi i kraje

Wybierz usługę i kraj. Wynagrodzenie za SMS zależy od kraju.

REST
GET /api/v1/catalog?service=go&country=86&page=1&page_size=100
Authorization: Bearer YOUR_API_KEY
JSON
{
  "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)

Zdobądź numer
REST
POST /api/v1/activations
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Idempotency-Key: request-unique-001

{
  "service": "go",
  "country": 86
}

Wybór automatyczny: najwięcej kodów w ostatniej godzinie, potem w 24 godzinach. Brak numerów: kolejny operator.

REST
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: string

Numer jest ważny przez 20 minut. SMS sprawdzany co 20 sekund. Można odwołać natychmiast.

Sprawdź wiele numerów
REST
GET /api/v1/activations/batch?ids=42,43
Authorization: Bearer YOUR_API_KEY
JSON
{
  "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
}
REST
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 message
Saldo · Wstrzymane
REST
GET /api/v1/balance
Authorization: Bearer YOUR_API_KEY
JSON
{
  "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 — Dostępne; held_balance — Wstrzymane. USD · 8

Można wypłacić tylko środki, których okres wstrzymania się zakończył.

Gotowe klienty

JavaScript · Node.js 18+
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 string
Python 3.9+
import 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 string
SDK
me() · 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

SMS-Activate · Kompatybilność API podstawa URLhttps://smscash.org/sms-activate/stubs/handler_api.php
HeroSMS · Kompatybilność API podstawa URLhttps://smscash.org/hero-sms/stubs/handler_api.php

Osobisty klucz API użytkownika.

Wybierz usługę i kraj. Wynagrodzenie za SMS zależy od kraju.

KodOpis
getNumber / getNumberV2Zdobądź numer
getStatus / getStatusV2Pobierz najnowszy kod
setStatus / finishActivation / cancelActivationZarządzaj sesją
getPrices / getNumbersStatusSprawdź dostępność
getRewards (SMScash)Nagroda za SMS
getServicesList / getServicesUsługi
getCountries / getOperatorsUsługi i kraje
getActiveActivationsSesje
getBalanceSaldo użytkownika
getHoldBalance (SMScash)Wstrzymane

cost = 0 USD · activationCost = 0 USD
reward — Nagroda za SMS

HeroSMS · cURL
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'
Odpowiedzi
{
  "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"
}
SMS-Activate / HeroSMS
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.

Numer jest ważny przez 20 minut. SMS sprawdzany co 20 sekund. Można odwołać natychmiast.

Uwierzytelnianie i ponawianie

REST: header Authorization: Bearer YOUR_API_KEY. Zgodny interfejs: parametry api_key i action. Użyj HTTPS.

Aby zarządzać kluczami API, wejdź na swoje konto.

∞żądań/min na konto
∞sesje jednoczesne

Częstotliwość żądań i liczba numerów telefonu są nieograniczone. Nie ma limitów dziennych ani godzinowych.

Numer jest ważny przez 20 minut. SMS sprawdzany co 20 sekund. Można odwołać natychmiast.

W REST, wyjątkowy Idempotency-Key jest wymagany do przydzielania numerów, powtarzania alokacji, retry i żądań wypłat. Jest to opcjonalne, ale zalecane w handler_api.php. Reuse the key when retrying a network request; use a new key for a new operation.

Zakres klucza API

Klucz można przypisać do konkretnych usług, krajów i dostawców. Puste listy zezwalają na wszystkie dostępne opcje.

JSON
{
  "label": "Moje oprogramowanie",
  "policy": {
    "services": [
      "go"
    ],
    "countries": [
      86
    ],
    "providers": [
      1
    ]
  }
}

PATCH /api/v1/keys/{id} całkowicie zmienia nazwę i policy. Sekret jest pokazywany dopiero po utworzeniu.

W sumie 10%. 5% + 5% z kodem oprogramowania.

Przy wydawaniu numeru prosimy o podanie ref właściciel oprogramowania. Żądanie jest autoryzowane kluczem użytkownika. Kod znajduje się w dziale „Poleconych” oraz w GET /api/v1/referrals → software_ref.

ŻądanieOsoba polecającaOprogramowanie
Bez ref10%—
Z ref5%5%
W przypadku ref nie ma elementu odsyłającego—5%

Platforma wypłaca premię nie umniejszając wynagrodzenia użytkownika. Właściciel oprogramowania i osoba polecająca mogą być tą samą osobą. Użytkownik nie może używać własnego kodu.

Warunki są ustalane przy utworzeniu sesji; czytanie SMS i retry nie zmieniają ich. Przekazuj ref ponownie dla nowej sesji powtórkowej. W obliczeniu taryfy, nagroda użytkownika w wysokości USD 0.003 daje USD 0.00015 każdemu właścicielowi oprogramowania i referencyjnikowi. Całkowity bonus wynosi USD 0.00030.

Polecenia API

11 metod w stylu XVBC plus saldo SMScash.

GETgetNumberZdobądź numer

Tworzy sesję i rezerwuje dostępny numer dla użytkownika. Stawka oraz odbiorcy premii za polecenia są ustalani przy przydzieleniu; wynagrodzenie jest naliczane po otrzymaniu SMS z kodem.

Parametry

ParametrWpiszOpis
api_key*stringOsobisty klucz API użytkownika.
service*stringDostępne kody serwisowe. Odpowiedź ogranicza się do obszaru klucza API.
country*integerWeź ID z getCountries.
operatorstringWeź ID z operators/getOperators (API). operator=1 · any/0
session_durationintegerSesja trwa 20 minut. Przekieruj 20 lub pominąć ten parametr.
with_operatorinteger1 dodaje ID operatora do odpowiedzi; 0 lub pominięcie parametru zwraca trzy segmenty.
refstringKod publiczny właściciela oprogramowania: 5% dla niego i 5% dla zapraszającego. Bez ref - 10% dla zapraszającego.

* Parametr wymagany. We wszystkich żądaniach należy także przekazać action=getNumber.

Przykładowe żądanie

curl
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'

Odpowiedzi

Numer wydany
ACCESS_NUMBER:42:380670000000:1
Brak dostępnych numerów
EMPTY_POOL
  • Wybór automatyczny: najwięcej kodów w ostatniej godzinie, potem w 24 godzinach. Brak numerów: kolejny operator.
  • Pass Idempotency-Key: to samo żądanie z tym samym kluczem powoduje powrót do poprzedniej sesji. Zmiana parametrów wywołuje IDEMPOTENCY_CONFLICT.
  • Numeryczny kraj bez puli daje EMPTY_POOL; nieprawidłowy format kraju to BAD_COUNTRY.
  • Klucz wykreślonej sesji jest nadal używany: ponowne przydzielenie z tym kluczem daje SESSION_CLOSED i nie wydaje kolejnego numeru.
  • Wynik przydzielania nie został potwierdzony. Automatyczne ponawianie jest wyłączone, aby nie przydzielić drugiego numeru.
GETgetNumbersStatusSprawdź dostępność

Liczba dostępnych numerów telefonu według usługi i kraju.

Parametry

ParametrWpiszOpis
api_key*stringOsobisty klucz API użytkownika.
country*integerWeź ID z getCountries.

* Parametr wymagany. We wszystkich żądaniach należy także przekazać action=getNumbersStatus.

Przykładowe żądanie

curl
curl 'https://smscash.org/stubs/handler_api.php?action=getNumbersStatus&api_key=YOUR_API_KEY&country=86'

Odpowiedzi

Dostępne numery
{
  "go_0": 0
}
  • Sufiks _0 oznacza wybór bez określonego operatora.
  • Dostępność dotyczy całej puli dostawcy. Wybrany kanał jest sprawdzany przy przydzielaniu numeru.
GETgetStatusPobierz najnowszy kod

Łatwe żądanie statusu sesji i ostatniego kodu SMS. Zera wiodące w kodzie zostają zachowane.

Parametry

ParametrWpiszOpis
api_key*stringOsobisty klucz API użytkownika.
id*integerID Twojej sesji, otrzymany w momencie wydania numeru.

* Parametr wymagany. We wszystkich żądaniach należy także przekazać action=getStatus.

Przykładowe żądanie

curl
curl 'https://smscash.org/stubs/handler_api.php?action=getStatus&api_key=YOUR_API_KEY&id=42'

Odpowiedzi

Czekam
STATUS_WAIT_CODE
Kod otrzymany
STATUS_OK:001234
Anulowanie lub wygaśnięcie
STATUS_CANCEL
Nie znaleziono
NO_ACTIVATION
  • Prowadź ankiety co 20 sekund. Ponowne czytanie wiadomości nie powoduje nowego płatności.
  • Po retry stary kod nie jest zwracany: getStatus czeka na następny SMS.
  • Po usunięciu liczby bez SMS, getStatus i getSms powracają do STATUS_CANCEL; getSmsFull powraca do stanu zamkniętego, pusty telefon i pusta lista SMS. REST /activations/{id} i /sms powracają do 404 NO_ACTIVATION.
GETsetStatusZarządzaj sesją

Zakończenia, odwołania lub wznowienie oczekiwania na SMS. Okres ważności sesji pozostaje takim samym.

Parametry

ParametrWpiszOpis
api_key*stringOsobisty klucz API użytkownika.
id*integerID Twojej sesji, otrzymany w momencie wydania numeru.
status*integer3 — czekać na następny kod bez rozszerzania sesji; 6 — zakończyć po SMS; 8 — natychmiast anulować.

* Parametr wymagany. We wszystkich żądaniach należy także przekazać action=setStatus.

Przykładowe żądanie

curl
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'

Odpowiedzi

Waiting for SMS
ACCESS_RETRY_GET
Ukończono
ACCESS_ACTIVATION
Anulowano
ACCESS_CANCEL
  • Wielokrotnie próbuj, czekając na następny kod w ciągu pierwotnych 20 minut. Czas problemu i wygaśnięcia nie zmieniają się.
  • Dla statusu=3 użyj Idempotency-Key: powtórzenie żądania nie spowoduje zresetowania otrzymanego już nowego kodu. Historia SMS pozostaje dostępna.
  • Anulowanie nie odbiera już zarobionych środków.
  • Tylko numery z kodem SMS są przechowywane w historii. Zlikwidowane i wygasłe numery bez kodu są usuwane.
GETgetRepeatNumberWydaj ponownie ten sam numer

Otwiera nową sesję z określonym numerem z Twojej historii. Możesz wybrać inną usługę dostępną w tym samym kraju.

Parametry

ParametrWpiszOpis
api_key*stringOsobisty klucz API użytkownika.
number*stringTwój stary numer. Dozwolone są tylko cyfry i opcjonalny znak +.
service*stringDostępne kody serwisowe. Odpowiedź ogranicza się do obszaru klucza API.
session_durationintegerSesja trwa 20 minut. Przekieruj 20 lub pominąć ten parametr.
with_operatorinteger1 dodaje ID operatora do odpowiedzi; 0 lub pominięcie parametru zwraca trzy segmenty.
refstringKod publiczny właściciela oprogramowania: 5% dla niego i 5% dla zapraszającego. Bez ref - 10% dla zapraszającego.
operatorstringWeź ID z operators/getOperators (API). operator=1 · any/0

* Parametr wymagany. We wszystkich żądaniach należy także przekazać action=getRepeatNumber.

Przykładowe żądanie

curl
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'

Odpowiedzi

Nowa sesja
ACCESS_NUMBER:43:380670000000
Numer jest nadal zajęty
NUMBER_IN_USE
  • Najpierw zakończ lub anuluj bieżącą sesję. Jeżeli numer jest zajęty, ponowne wydanie nie jest realizowane.
  • Nowa sesja otrzymuje nowe ID i aktualną taryfę. Stare SMS nie są do niego kopiowane. ref jest ponownie ustawione.
  • SMScash pozwala na powtarzanie tylko numerów z historii tego rachunku. Kraj jest identyfikowany poprzez numer.
  • Klucz wykreślonej sesji jest nadal używany: ponowne przydzielenie z tym kluczem daje SESSION_CLOSED i nie wydaje kolejnego numeru.
GETgetSmsFullZdobądź SMS jako JSON

Ustrukturyzowana historia wszystkich wiadomości z ID, nadawcą, kodem, tekstem i danymi kraju, usługi i dostawcy.

Parametry

ParametrWpiszOpis
api_key*stringOsobisty klucz API użytkownika.
id*integerID Twojej sesji, otrzymany w momencie wydania numeru.

* Parametr wymagany. We wszystkich żądaniach należy także przekazać action=getSmsFull.

Przykładowe żądanie

curl
curl 'https://smscash.org/stubs/handler_api.php?action=getSmsFull&api_key=YOUR_API_KEY&id=42'

Odpowiedzi

JSON
{
  "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"
}
  • Preferowany format integracji. Zapamiętaj sms[].id, aby przetwarzać tylko nowe wiadomości.
  • Status numeryczny SMScash: 1 - aktywny, 6 - zakończony, 8 - anulowany lub wygasł. status_name rozróżnia oczekujące, odebrane, zakończone, anulowane i wygasłe.
  • Kody otrzymane pozostają dostępne po zakończeniu sesji. W przypadku dużych ilości użyj REST /activations/{id}/sms z after_id.
  • Po usunięciu liczby bez SMS, getStatus i getSms powracają do STATUS_CANCEL; getSmsFull powraca do stanu zamkniętego, pusty telefon i pusta lista SMS. REST /activations/{id} i /sms powracają do 404 NO_ACTIVATION.
GETgetSmsPobierz SMS jako ciąg tekstowy

Zwraca całą historię SMS w formacie ciągu dla istniejących klientów.

Parametry

ParametrWpiszOpis
api_key*stringOsobisty klucz API użytkownika.
id*integerID Twojej sesji, otrzymany w momencie wydania numeru.

* Parametr wymagany. We wszystkich żądaniach należy także przekazać action=getSms.

Przykładowe żądanie

curl
curl 'https://smscash.org/stubs/handler_api.php?action=getSms&api_key=YOUR_API_KEY&id=42'

Odpowiedzi

Wiadomość
STATUS_OK:2026-10-09T12:00:00Z|001234|Код подтверждения: 001234
Czekam
STATUS_WAIT_CODE
Anulowanie lub wygaśnięcie
STATUS_CANCEL
  • Format wiadomości: czas|kod|tekst. Wiele wiadomości oddziela się dwukropkiem.
  • Sam tekst SMS może zawierać dwukropki i pionowe kreski. Aby zapewnić niezawodne analizowanie, użyj getSmsFull.
GETgetServicesUsługi

Dostępne kody serwisowe. Odpowiedź ogranicza się do obszaru klucza API.

Parametry

ParametrWpiszOpis
api_key*stringOsobisty klucz API użytkownika.
countryintegerWeź ID z getCountries.

* Parametr wymagany. We wszystkich żądaniach należy także przekazać action=getServices.

Przykładowe żądanie

curl
curl 'https://smscash.org/stubs/handler_api.php?action=getServices&api_key=YOUR_API_KEY'

Odpowiedzi

Usługi
{
  "go": {
    "name": "Google",
    "code": "go"
  }
}
  • Katalog usługowy jest udostępniany przez dostawcę. Dostępność numerów sprawdzana jest osobno.
GETgetCountriesKraje

ID-y, nazwy i kody telefonów dla krajów w wybranym kanałie.

Parametry

ParametrWpiszOpis
api_key*stringOsobisty klucz API użytkownika.

* Parametr wymagany. We wszystkich żądaniach należy także przekazać action=getCountries.

Przykładowe żądanie

curl
curl 'https://smscash.org/stubs/handler_api.php?action=getCountries&api_key=YOUR_API_KEY'

Odpowiedzi

Kraje
{
  "86": {
    "id": 86,
    "name": "Italy",
    "phone_code": "39"
  }
}
GETgetOperatorsOperatorzy

Dostępni operatorzy: ID API, nazwa i okres wstrzymania wynagrodzenia.

Parametry

ParametrWpiszOpis
api_key*stringOsobisty klucz API użytkownika.
countryintegerWeź ID z getCountries.
operatorstringWeź ID z operators/getOperators (API). operator=1 · any/0

* Parametr wymagany. We wszystkich żądaniach należy także przekazać action=getOperators.

Przykładowe żądanie

curl
curl 'https://smscash.org/stubs/handler_api.php?action=getOperators&api_key=YOUR_API_KEY'

Odpowiedzi

Operatorzy
{
  "1": {
    "id": 1,
    "provider_id": 1,
    "operator": 1,
    "name": "Оператор 1",
    "earnings_hold_days": 45
  }
}
  • Weź ID z operators/getOperators (API).
GETgetRewardsNagroda za SMS

Ceny zależą od kraju. Wszystkie wartości w tabeli są za cenę zapłaconą SMS.

Parametry

ParametrWpiszOpis
api_key*stringOsobisty klucz API użytkownika.
countryintegerWeź ID z getCountries.
servicestringDostępne kody serwisowe. Odpowiedź ogranicza się do obszaru klucza API.
operatorstringWeź ID z operators/getOperators (API). operator=1 · any/0

* Parametr wymagany. We wszystkich żądaniach należy także przekazać action=getRewards.

Przykładowe żądanie

curl
curl 'https://smscash.org/stubs/handler_api.php?action=getRewards&api_key=YOUR_API_KEY&country=59&service=vi'

Odpowiedzi

JSON
{
  "59": {
    "vi": {
      "1": "0.01000000",
      "3": "0.00500000"
    }
  }
}
{}
{}
  • USD kwoty taryfowe są zwracane jako dokładne ciągi dziesiętne z 8 miejscami na cyfrze:
  • Włączeni dostawcy dostępni dla Twojego klucza.
  • country ID → service code → operator ID → reward (USD)
GETgetBalanceSaldo użytkownika

Dodatek SMScash: dostępne saldo uwzględniające rozliczenia międzyokresowe, premie za polecenie i wnioski o płatność.

Parametry

ParametrWpiszOpis
api_key*stringOsobisty klucz API użytkownika.

* Parametr wymagany. We wszystkich żądaniach należy także przekazać action=getBalance.

Przykładowe żądanie

curl
curl 'https://smscash.org/stubs/handler_api.php?action=getBalance&api_key=YOUR_API_KEY'

Odpowiedzi

Saldo
ACCESS_BALANCE:0.00
  • getBalance zwraca dostępne saldo w USD z dokładnością do 8 miejsc po przecinku.
  • Można wypłacić tylko środki, których okres wstrzymania się zakończył.
GETgetHoldBalanceWstrzymane

Po otrzymaniu SMS wynagrodzenie jest wstrzymane na okres określony przez dostawcę. We wskazanym terminie kwota automatycznie staje się dostępna do wypłaty.

Parametry

ParametrWpiszOpis
api_key*stringOsobisty klucz API użytkownika.

* Parametr wymagany. We wszystkich żądaniach należy także przekazać action=getHoldBalance.

Przykładowe żądanie

curl
curl 'https://smscash.org/stubs/handler_api.php?action=getHoldBalance&api_key=YOUR_API_KEY'

Odpowiedzi

Wstrzymane
ACCESS_HOLD_BALANCE:34.50000001
  • SMScash · getHoldBalance · USD · 8
  • Można wypłacić tylko środki, których okres wstrzymania się zakończył.

Kody odpowiedzi i powtórzenia żądań

W handler_api.php wyniki biznesowe zwykle pochodzą z HTTP 200. Sprawdź tekst główny. Katalogi i getSmsFull zwracają JSON, jeśli się powiedzie; błędy są zawsze tekstowe.

KodHTTPPrzyczyna i kolejny krok
TARIFF_NOT_CONFIGURED200Ceny jeszcze nie zostały ustaloneDystrybucja numerów zacznie się po skonfigurowaniu nagród SMS.
COUNTRY_BLOCKED200Dzielenie numerów dla tego kraju jest zablokowane.Wybierz inny kraj.
BAD_SERVICE200Przydzielanie numerów dla tej usługi jest zablokowane.Wybierz inną usługę.
PROVIDER_NOT_READY200Alokacja numerów jest tymczasowo niedostępnaOdśwież katalogi API.
BAD_KEY400Brak api_key lub nieprawidłowy format.Sprawdź klucz w żądaniu.
INVALID_API_KEY401Klucz jest nieznany, unieważniony lub konto jest wyłączone.Utwórz prawidłowy klucz API.
BAD_COUNTRY400brakuje kraju lub nie jest to liczba dodatnia.Weź ID z getCountries.
BAD_SESSION_DURATION400Numery telefonów są wydawane na dokładnie 20 minut.Prawidłowy session_duration.
BAD_REQUEST400Nieprawidłowy parametr lub Idempotency-Key.Popraw swoją prośbę.
BAD_SERVICE / BAD_OPERATOR / INVALID_PROVIDER200Nieznany lub wyłączony element katalogu.Odśwież katalogi API.
BAD_NUMBER200Nieprawidłowy format liczby.Podaj liczbę cyframi.
BAD_ACTION / BAD_STATUS200Nieznane polecenie, ID lub operacja.Sprawdź ustawienia.
EMPTY_POOL200Obecnie nie są dostępne żadne pasujące numery telefonów.Powtórz po 10-30 sekundach lub zmień filtry.
NUMBER_IN_USE200Aktywna sesja zajmuje określony numer.Zakończ sesję lub wybierz inny numer.
NO_ACTIVATION200Sesja lub poprzedni numer nie należy do Twojego konta.Sprawdź ID i klucz.
SESSION_CLOSED / SMS_REQUIRED200Zmiana stanu jest obecnie niedostępna.Sprawdź stan i dostępność SMS.
SCOPE_BLOCKED200Usługa, kraj lub sprzedawca nie mają autoryzacji do klucza.Zaktualizuj zakres klucza API.
IDEMPOTENCY_CONFLICT200Ten klucz zapytania jest już powiązany z innymi parametrami.Dla nowej operacji utwórz kolejny Idempotency-Key.
BAD_REF / SELF_REF400Kod oprogramowania jest nieznany, wyłączony lub należy do samego użytkownika.Przekaż kod właściciela oprogramowania.
INTERNAL_ERROR500Tymczasowy błąd serwera lub dostawcy.Powtórz z opóźnieniem i tym samym Idempotency-Key.
ALLOCATION_PENDING200Przydzielanie numeru już trwa. Ponów zapytanie z tym samym Idempotency-Key.Przydzielanie numeru już trwa. Ponów zapytanie z tym samym Idempotency-Key.
ALLOCATION_UNCERTAIN200Wynik przydzielania nie został potwierdzony. Automatyczne ponawianie jest wyłączone, aby nie przydzielić drugiego numeru.Wynik przydzielania nie został potwierdzony. Automatyczne ponawianie jest wyłączone, aby nie przydzielić drugiego numeru.

REST zwraca obiekt {"error":{"code":"…","message":"…"}} i regularne statusy HTTP 400/401/403/404/409/503.

JSON
{
  "error": {
    "code": "BAD_REQUEST",
    "message": "Sprawdź pola żądania.",
    "request_id": "req_…",
    "hint": "Use the documented JSON type; numbers must not be quoted.",
    "retryable": false,
    "details": {
      "field": "country",
      "expected": "integer"
    }
  }
}
REST
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.

REST dla nowych integracji

USD kwoty taryfowe są zwracane jako dokładne ciągi dziesiętne z 8 miejscami na cyfrze: 0.00300000 USD.

Waluta salda to USD. Schematy żądań i odpowiedzi są dostępne w OpenAPI.

Wypłata w USDT · TRC20Wypłata trwa od 1 do 45 dni. Opłata za wypłatę wynosi 4 $. Jest potrącana z kwoty wniosku. Po otrzymaniu SMS wynagrodzenie jest wstrzymane na okres określony przez dostawcę. We wskazanym terminie kwota automatycznie staje się dostępna do wypłaty. Można wypłacić tylko środki, których okres wstrzymania się zakończył.
GET/api/v1/catalogUsługi i kraje
GET/api/v1/tariffsSMS stawki nagród według kraju
GET/api/v1/offersStawki i nagrody
GET/api/v1/servicesKatalog
GET/api/v1/countriesKatalog
GET/api/v1/operatorsKatalog
GET/api/v1/availability?country=1Dostępność numeru
POST/api/v1/activationsNowa sesja
GET/api/v1/activations/batch?ids=42,43Sprawdź wiele numerów
GET/api/v1/activationsNajnowsze 200 sesje: scope=history, czekanie lub wszystkie
GET/api/v1/activations/{id}Sesja i wiadomości
GET/api/v1/activations/{id}/sms?after_id=0&limit=100Nowy SMS z kursorem
POST/api/v1/activations/{id}/retryWaiting for SMS
POST/api/v1/activations/{id}/finishZakończenie
POST/api/v1/activations/{id}/cancelAnuluj
POST/api/v1/activations/repeatPonowne wydanie numeru
GET/api/v1/keysKlucze API
POST/api/v1/keysUtwórz klucz
PATCH/api/v1/keys/{id}Zmień nazwę lub policy
DELETE/api/v1/keys/{id}Unieważnij klucz
GET/api/v1/referralsKod polecający i zarobki
GET/api/v1/summaryBilans i podsumowanie
GET/api/v1/balanceWstrzymane
GET/api/v1/ledgerKsięga zarobków
GET/api/v1/withdrawalsŻądania wypłaty
POST/api/v1/withdrawalsUtwórz prośbę
GET/api/v1/statisticsOgólne statystyki
GET/api/v1/earnings/holdsWstrzymane wynagrodzenia

Otrzymuję tylko nowy SMS

REST
GET /api/v1/activations/42/sms?after_id=0&limit=100
Authorization: Bearer YOUR_API_KEY
JSON
{
  "session_id": 42,
  "sms": [
    {
      "id": 101,
      "code": "001234",
      "text": "Kod: 001234",
      "sender": "Service",
      "received_at": "2026-10-09T12:00:00Z"
    }
  ],
  "next_cursor": 101,
  "has_more": false
}

Zapisz next_cursor i przekaż go jako after_id. Jeśli has_more=true, następną stronę można przeczytać natychmiast. limit: 1–200. Sesje i SMS są dostępne tylko dla właściciela.