Zahlen, Nachrichten und Einnahmen direkt aus Ihrer App.
SMScash
API-Dokumentation
Erste Schritte

API-Dokumentation

Zahlen, Nachrichten und Einnahmen direkt aus Ihrer App.

Beginnen Sie mit einer Anfrage

13 · API-BefehleREST + handler_api.phpJSON / plain text · Bearer

Erstelle eine API-Schlüssel in deinem Dashboard, erhalte eine Zahl und überprüfe die Nachrichten alle 20 Sekunden. Der Zahlungsvorgang wird abgewickelt, sobald ein SMS mit einem Code eintrifft; das Wiederlesen dieses Codes hat keinen Einfluss auf dein Guthaben.

REST APIhttps://smscash.org/api/v1
Kompatibilität API Basis URLhttps://smscash.org/stubs/handler_api.php
Service ist lebendigTelefonnummern zu finden, SMS Gewinne sind verfügbar. Rückzug ist verfügbar in USDT auf TRC20Zahlungen nehmen zwischen 1 und 45 Tage sind.
Schnellstart · 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}'

Alternative kompatible Schnittstellenadresse: /handler_api.php. Bestehende REST-Integrationen funktionieren weiterhin.

REST API

Anfragen erstellen

cURL · Go · JS · Python

Idempotency-Key: UUID · POST · 8–128

Automatische Auswahl: die meisten Codes in der letzten Stunde, dann in 24 Stunden. Keine Nummern: nächster Betreiber.

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

Der Schlüssel wird nicht gespeichert. Diese Prüfung vergibt keine Nummern.

REST für neue Integrationen

Dienste und Länder

Wähle einen Dienst und ein Land. Die Vergütung pro SMS hängt vom Land ab.

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)

Holen Sie sich eine Nummer
REST
POST /api/v1/activations
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Idempotency-Key: request-unique-001

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

Automatische Auswahl: die meisten Codes in der letzten Stunde, dann in 24 Stunden. Keine Nummern: nächster Betreiber.

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

Die Telefonnummer ist 20 Minuten gültig. SMS werden alle 20 Sekunden geprüft. Die Sitzung kann sofort abgebrochen werden.

Mehrere Nummern prüfen
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
Guthaben · Gesperrt
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 — Verfügbar; held_balance — Gesperrt. USD · 8

Nur Beträge mit abgelaufener Sperrfrist können ausgezahlt werden.

Einsatzbereite Clients

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 · Kompatibilität API Basis URLhttps://smscash.org/sms-activate/stubs/handler_api.php
HeroSMS · Kompatibilität API Basis URLhttps://smscash.org/hero-sms/stubs/handler_api.php

Der persönliche API-Schlüssel des Benutzers.

Wähle einen Dienst und ein Land. Die Vergütung pro SMS hängt vom Land ab.

CodeBeschreibung
getNumber / getNumberV2Holen Sie sich eine Nummer
getStatus / getStatusV2Holen Sie sich den neuesten Code
setStatus / finishActivation / cancelActivationSitzung verwalten
getPrices / getNumbersStatusVerfügbarkeit prüfen
getRewards (SMScash)Belohnung für SMS
getServicesList / getServicesDienstleistungen
getCountries / getOperatorsDienste und Länder
getActiveActivationsSitzungen
getBalanceBenutzerguthaben
getHoldBalance (SMScash)Gesperrt

cost = 0 USD · activationCost = 0 USD
reward — Belohnung für 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'
Antworten
{
  "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.

Die Telefonnummer ist 20 Minuten gültig. SMS werden alle 20 Sekunden geprüft. Die Sitzung kann sofort abgebrochen werden.

Authentifizierung und Wiederholungen

REST: Kopfzeile Authorization: Bearer YOUR_API_KEY. Kompatible Schnittstelle: Parameter api_key und action. Verwenden Sie HTTPS.

Um API-Schlüssel zu verwalten, geben Sie Ihr Konto ein.

∞Anfragen/Min. pro Konto
∞gleichzeitige Sitzungen

Die Häufigkeit der API-Anfragen und die Anzahl der Telefonnummern sind unbegrenzt. Es gibt keine Tages- oder Stundenkontingente.

Die Telefonnummer ist 20 Minuten gültig. SMS werden alle 20 Sekunden geprüft. Die Sitzung kann sofort abgebrochen werden.

In REST ein Unikat Idempotency-Key wird für Rufnummernvergabe, Wiederholungsvergabe, retry und Auszahlungsanfragen benötigt. Es ist optional, wird aber in handler_api.php empfohlen. Verwenden Sie den Schlüssel erneut, wenn Sie eine Netzwerkanfrage erneut versuchen. Verwenden Sie einen neuen Schlüssel für eine neue Operation.

Geltungsbereich des API-Schlüssels

Ein Schlüssel kann auf bestimmte Dienste, Länder und Anbieter beschränkt werden. Leere Listen erlauben alle verfügbaren Optionen.

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

PATCH /api/v1/keys/{id} ändert den Namen und policy vollständig. Das Geheimnis wird erst beim Erstellen angezeigt.

Insgesamt 10 %. 5 % + 5 % mit Softwarecode.

Bei der Nummernvergabe bitte angeben ref Eigentümer der Software. Die Anfrage wird durch den Schlüssel des Benutzers autorisiert. Der Code befindet sich im Abschnitt „Empfehlungen“ und in GET /api/v1/referrals → software_ref.

AnfrageWerberSoftware
Ohne ref10%—
Mit ref5%5%
Bei ref kein Referrer—5%

Die Plattform zahlt den Bonus aus, ohne den Verdienst des Benutzers zu mindern. Der Softwarebesitzer und der Empfehlungsgeber können dieselbe Person sein. Ein Benutzer kann seinen eigenen Code nicht verwenden.

Die Bedingungen werden bei der Erstellung einer Sitzung festgelegt; das Lesen von SMS und retry ändern sie nicht. Pass ref erneut für eine neue wiederholte Sitzung. Bei der Tarifberechnung ergibt sich ein Benutzervergütung von USD 0.003, der USD 0.00015 pro Stück dem Softwarebesitzer und Referenznehmer zugutekommt. Die Gesamtbónus beträgt USD 0.00030.

API-Befehle

11 Methoden im XVBC-Stil plus Ihr SMScash-Guthaben.

GETgetNumberHolen Sie sich eine Nummer

Erstellt eine Sitzung und reserviert eine verfügbare Nummer für den Nutzer. Der Vergütungssatz und die Empfänger der Empfehlungsboni werden bei der Zuteilung festgelegt; die Vergütung wird beim Empfang einer SMS mit Code gutgeschrieben.

Parameter

ParameterTypBeschreibung
api_key*stringDer persönliche API-Schlüssel des Benutzers.
service*stringVerfügbare Servicecodes. Die Antwort beschränkt sich auf den Bereich der API-Taste.
country*integerNehmen Sie ID von getCountries.
operatorstringNehmen Sie ID von operators/getOperators (API). operator=1 · any/0
session_durationintegerDie Sitzung dauert 20 Minuten. Gehen Sie durch 20 oder vergessen Sie diesen Parameter.
with_operatorinteger1 fügt der Antwort die Operator-ID hinzu; 0 oder Weglassen liefert drei Abschnitte.
refstringÖffentlicher Code des Softwarebesitzers: 5 % für ihn und 5 % für den Einladenden. Ohne ref - 10 % an den Einladenden.

* Erforderlicher Parameter. Übergeben Sie in allen Anfragen auch action=getNumber.

Beispielanfrage

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'

Antworten

Nummer ausgegeben
ACCESS_NUMBER:42:380670000000:1
Keine Nummern verfügbar
EMPTY_POOL
  • Automatische Auswahl: die meisten Codes in der letzten Stunde, dann in 24 Stunden. Keine Nummern: nächster Betreiber.
  • Übergeben Sie Idempotency-Key: Dieselbe Anforderung mit demselben Schlüssel gibt die vorherige Sitzung zurück. Das Ändern der Parameter ruft IDEMPOTENCY_CONFLICT auf.
  • Ein numerisches Land ohne Pool ergibt EMPTY_POOL; Das falsche Länderformat ist BAD_COUNTRY.
  • Die Schlüssel für eine gelöschte Sitzung bleiben weiterhin in Gebrauch: die Wiederholung der Zuweisung mit diesem Schlüssel liefert SESSION_CLOSED und gibt keine weitere Zahl aus.
  • Das Ergebnis der Nummernvergabe ist unbestätigt. Automatische Wiederholung ist deaktiviert, damit keine zweite Nummer vergeben wird.
GETgetNumbersStatusVerfügbarkeit prüfen

Verfügbare Telefonnummern nach Dienst und Land.

Parameter

ParameterTypBeschreibung
api_key*stringDer persönliche API-Schlüssel des Benutzers.
country*integerNehmen Sie ID von getCountries.

* Erforderlicher Parameter. Übergeben Sie in allen Anfragen auch action=getNumbersStatus.

Beispielanfrage

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

Antworten

Verfügbare Nummern
{
  "go_0": 0
}
  • Das Suffix _0 bedeutet eine Auswahl ohne einen bestimmten Operator.
  • Die Verfügbarkeit bezieht sich auf den gesamten Nummernpool des Anbieters. Der gewählte Kanal wird bei der Nummernvergabe geprüft.
GETgetStatusHolen Sie sich den neuesten Code

Einfache Abfrage des Sitzungsstatus und des letzten SMS-Codes. Führende Nullen im Code bleiben erhalten.

Parameter

ParameterTypBeschreibung
api_key*stringDer persönliche API-Schlüssel des Benutzers.
id*integerID Ihrer Sitzung, erhalten bei der Nummernvergabe.

* Erforderlicher Parameter. Übergeben Sie in allen Anfragen auch action=getStatus.

Beispielanfrage

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

Antworten

Warten
STATUS_WAIT_CODE
Code erhalten
STATUS_OK:001234
Stornierung oder Ablauf
STATUS_CANCEL
Nicht gefunden
NO_ACTIVATION
  • Ab alle 20 Sekunden abfragen. Das Wiederlesen einer Nachricht führt nicht zu einer weiteren Zahlung.
  • Nach retry wird der alte Code nicht zurückgegeben: getStatus wartet auf den nächsten SMS.
  • Nachdem eine Zahl ohne SMS gelöscht wurde, kehren getStatus und getSms zu STATUS_CANCEL zurück; getSmsFull gibt den geschlossenen Zustand, ein leeres Telefon und eine leere SMS-Liste an. REST /activations/{id} und /sms kehren 404 NO_ACTIVATION zurück.
GETsetStatusSitzung verwalten

Fertigstellung, Absage oder Wiederaufnahme – Wartezeit für SMS. Die Laufzeit der Sitzung bleibt unverändert.

Parameter

ParameterTypBeschreibung
api_key*stringDer persönliche API-Schlüssel des Benutzers.
id*integerID Ihrer Sitzung, erhalten bei der Nummernvergabe.
status*integer3 – Warte auf den nächsten Code, ohne die Sitzung zu verlängern; 6 – beende das Ganze nach SMS; 8 – storniere sofort.

* Erforderlicher Parameter. Übergeben Sie in allen Anfragen auch action=setStatus.

Beispielanfrage

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'

Antworten

Warten auf SMS
ACCESS_RETRY_GET
Abgeschlossen
ACCESS_ACTIVATION
Abgesagt
ACCESS_CANCEL
  • Wiederholen – Warte auf den nächsten Code innerhalb der ursprünglichen 20 Minuten. Die Probleme und Ablaufzeiten ändern sich nicht.
  • Für Status=3 verwenden Sie Idempotency-Key: Durch die Wiederholung der Anfrage wird der bereits empfangene neue Code nicht zurückgesetzt. Die Historie von SMS bleibt verfügbar.
  • Eine Stornierung zieht bereits verdiente Vergütungen nicht ab.
  • Nur Zahlen mit einem SMS-Code werden in der Historie aufbewahrt. Geschaffene und abgelaufene Zahlen ohne Code werden gelöscht.
GETgetRepeatNumberGeben Sie die gleiche Nummer erneut aus

Öffnet eine neue Sitzung mit einer bestimmten Nummer aus Ihrem Verlauf. Sie können einen anderen verfügbaren Dienst im selben Land auswählen.

Parameter

ParameterTypBeschreibung
api_key*stringDer persönliche API-Schlüssel des Benutzers.
number*stringIhre alte Nummer. Es sind nur Zahlen und ein optionales führendes + zulässig.
service*stringVerfügbare Servicecodes. Die Antwort beschränkt sich auf den Bereich der API-Taste.
session_durationintegerDie Sitzung dauert 20 Minuten. Gehen Sie durch 20 oder vergessen Sie diesen Parameter.
with_operatorinteger1 fügt der Antwort die Operator-ID hinzu; 0 oder Weglassen liefert drei Abschnitte.
refstringÖffentlicher Code des Softwarebesitzers: 5 % für ihn und 5 % für den Einladenden. Ohne ref - 10 % an den Einladenden.
operatorstringNehmen Sie ID von operators/getOperators (API). operator=1 · any/0

* Erforderlicher Parameter. Übergeben Sie in allen Anfragen auch action=getRepeatNumber.

Beispielanfrage

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'

Antworten

Neue Sitzung
ACCESS_NUMBER:43:380670000000
Die Nummer ist immer noch besetzt
NUMBER_IN_USE
  • Beenden oder brechen Sie zunächst Ihre aktuelle Sitzung ab. Wenn die Nummer besetzt ist, wird keine Neuzuteilung durchgeführt.
  • Die neue Sitzung erhält einen neuen ID und den aktuellen Tarif. Alte SMS werden nicht hineinkopiert. ref wird wieder gesetzt.
  • Mit SMScash können nur Nummern aus dem Verlauf dieses Kontos wiederholt werden. Das Land wird durch eine Nummer identifiziert.
  • Die Schlüssel für eine gelöschte Sitzung bleiben weiterhin in Gebrauch: die Wiederholung der Zuweisung mit diesem Schlüssel liefert SESSION_CLOSED und gibt keine weitere Zahl aus.
GETgetSmsFullHolen Sie sich SMS als JSON

Strukturierte Historie aller Nachrichten mit ID, Absender, Code, Text und Land, Service- und Lieferantendaten.

Parameter

ParameterTypBeschreibung
api_key*stringDer persönliche API-Schlüssel des Benutzers.
id*integerID Ihrer Sitzung, erhalten bei der Nummernvergabe.

* Erforderlicher Parameter. Übergeben Sie in allen Anfragen auch action=getSmsFull.

Beispielanfrage

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

Antworten

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"
}
  • Bevorzugtes Format für die Integration. Denken Sie daran, dass sms[].id nur neue Nachrichten verarbeitet.
  • Numerischer Status SMScash: 1 – aktiv, 6 – abgeschlossen, 8 – abgebrochen oder abgelaufen. status_name unterscheidet zwischen wartend, empfangen, beendet, abgebrochen und abgelaufen.
  • Die erhaltenen Codes sind nach dem Beenden einer Sitzung noch verfügbar. Für große Mengen verwenden Sie REST /activations/{id}/sms mit after_id.
  • Nachdem eine Zahl ohne SMS gelöscht wurde, kehren getStatus und getSms zu STATUS_CANCEL zurück; getSmsFull gibt den geschlossenen Zustand, ein leeres Telefon und eine leere SMS-Liste an. REST /activations/{id} und /sms kehren 404 NO_ACTIVATION zurück.
GETgetSmsHolen Sie sich SMS als Textzeichenfolge

Gibt den gesamten SMS-Verlauf im String-Format für vorhandene Clients zurück.

Parameter

ParameterTypBeschreibung
api_key*stringDer persönliche API-Schlüssel des Benutzers.
id*integerID Ihrer Sitzung, erhalten bei der Nummernvergabe.

* Erforderlicher Parameter. Übergeben Sie in allen Anfragen auch action=getSms.

Beispielanfrage

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

Antworten

Nachricht
STATUS_OK:2026-10-09T12:00:00Z|001234|Код подтверждения: 001234
Warten
STATUS_WAIT_CODE
Stornierung oder Ablauf
STATUS_CANCEL
  • Nachrichtenformat: Zeit|Code|Text. Mehrere Nachrichten werden durch einen Doppelpunkt getrennt.
  • Der Text SMS selbst kann Doppelpunkte und vertikale Balken enthalten. Für eine zuverlässige Analyse verwenden Sie getSmsFull.
GETgetServicesDienstleistungen

Verfügbare Servicecodes. Die Antwort beschränkt sich auf den Bereich der API-Taste.

Parameter

ParameterTypBeschreibung
api_key*stringDer persönliche API-Schlüssel des Benutzers.
countryintegerNehmen Sie ID von getCountries.

* Erforderlicher Parameter. Übergeben Sie in allen Anfragen auch action=getServices.

Beispielanfrage

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

Antworten

Dienstleistungen
{
  "go": {
    "name": "Google",
    "code": "go"
  }
}
  • Der Dienstverzeichnis ist bei dem Anbieter gemeinsam genutzt. Die Verfügbarkeit der Nummern wird separat überprüft.
GETgetCountriesLänder

Identifikatoren, Namen und Anrufnummern für die Länder im ausgewählten Kanal.

Parameter

ParameterTypBeschreibung
api_key*stringDer persönliche API-Schlüssel des Benutzers.

* Erforderlicher Parameter. Übergeben Sie in allen Anfragen auch action=getCountries.

Beispielanfrage

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

Antworten

Länder
{
  "86": {
    "id": 86,
    "name": "Italy",
    "phone_code": "39"
  }
}
GETgetOperatorsBetreiber

Verfügbare Betreiber: API-ID, Name und Sperrfrist der Vergütung.

Parameter

ParameterTypBeschreibung
api_key*stringDer persönliche API-Schlüssel des Benutzers.
countryintegerNehmen Sie ID von getCountries.
operatorstringNehmen Sie ID von operators/getOperators (API). operator=1 · any/0

* Erforderlicher Parameter. Übergeben Sie in allen Anfragen auch action=getOperators.

Beispielanfrage

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

Antworten

Betreiber
{
  "1": {
    "id": 1,
    "provider_id": 1,
    "operator": 1,
    "name": "Оператор 1",
    "earnings_hold_days": 45
  }
}
  • Nehmen Sie ID von operators/getOperators (API).
GETgetRewardsBelohnung für SMS

Die Preise hängen vom Land ab. Alle Beträge in der Tabelle sind pro bezahlten SMS.

Parameter

ParameterTypBeschreibung
api_key*stringDer persönliche API-Schlüssel des Benutzers.
countryintegerNehmen Sie ID von getCountries.
servicestringVerfügbare Servicecodes. Die Antwort beschränkt sich auf den Bereich der API-Taste.
operatorstringNehmen Sie ID von operators/getOperators (API). operator=1 · any/0

* Erforderlicher Parameter. Übergeben Sie in allen Anfragen auch action=getRewards.

Beispielanfrage

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

Antworten

JSON
{
  "59": {
    "vi": {
      "1": "0.01000000",
      "3": "0.00500000"
    }
  }
}
{}
{}
  • USD Die Tarifbeträge werden als exakte Dezimalzahlen mit 8 Dezimalstellen zurückgegeben:
  • Aktivierte Anbieter, die für Ihren Schlüssel verfügbar sind.
  • country ID → service code → operator ID → reward (USD)
GETgetBalanceBenutzerguthaben

Zusatz SMScash: verfügbarer Saldo unter Berücksichtigung von Rückstellungen, Empfehlungsboni und Zahlungsaufforderungen.

Parameter

ParameterTypBeschreibung
api_key*stringDer persönliche API-Schlüssel des Benutzers.

* Erforderlicher Parameter. Übergeben Sie in allen Anfragen auch action=getBalance.

Beispielanfrage

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

Antworten

Guthaben
ACCESS_BALANCE:0.00
  • getBalance liefert das verfügbare USD-Guthaben mit bis zu 8 Nachkommastellen.
  • Nur Beträge mit abgelaufener Sperrfrist können ausgezahlt werden.
GETgetHoldBalanceGesperrt

Nach Eingang einer SMS werden die Einnahmen für die vom Anbieter festgelegte Dauer gesperrt. Am angegebenen Datum wird der Betrag automatisch zur Auszahlung verfügbar.

Parameter

ParameterTypBeschreibung
api_key*stringDer persönliche API-Schlüssel des Benutzers.

* Erforderlicher Parameter. Übergeben Sie in allen Anfragen auch action=getHoldBalance.

Beispielanfrage

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

Antworten

Gesperrt
ACCESS_HOLD_BALANCE:34.50000001
  • SMScash · getHoldBalance · USD · 8
  • Nur Beträge mit abgelaufener Sperrfrist können ausgezahlt werden.

Antwortcodes und Wiederholungsanfragen

In handler_api.php werden Geschäftsergebnisse normalerweise mit HTTP 200 angegeben. Überprüfen Sie den Textkörper. Verzeichnisse und getSmsFull geben bei Erfolg JSON zurück; Fehler sind immer Text.

CodeHTTPUrsache und nächster Schritt
TARIFF_NOT_CONFIGURED200Die Preise sind noch nicht festgelegtDie Nummerzuweisung beginnt, sobald die SMS-Belohnungen konfiguriert sind.
COUNTRY_BLOCKED200Die Zuteilung der Nummern für dieses Land ist blockiert.Wählen Sie ein anderes Land.
BAD_SERVICE200Die Nummernvergabe für diesen Dienst ist gesperrt.Wählen Sie einen anderen Dienst.
PROVIDER_NOT_READY200Die Zuweisung der Nummern ist vorübergehend nicht verfügbarAktualisieren Sie die API-Kataloge.
BAD_KEY400Kein api_key oder ungültiges Format.Überprüfen Sie den Schlüssel in der Anfrage.
INVALID_API_KEY401Der Schlüssel ist unbekannt, widerrufen oder das Konto ist deaktiviert.Erstellen Sie einen gültigen API-Schlüssel.
BAD_COUNTRY400Land fehlt oder ist keine positive Zahl.Nehmen Sie ID von getCountries.
BAD_SESSION_DURATION400Telefonnummern werden für exakt 20 Minuten vergeben.Richtig session_duration.
BAD_REQUEST400Ungültiger Parameter oder Idempotency-Key.Bitte korrigieren Sie Ihre Anfrage.
BAD_SERVICE / BAD_OPERATOR / INVALID_PROVIDER200Unbekanntes oder deaktiviertes Verzeichniselement.Aktualisieren Sie die API-Kataloge.
BAD_NUMBER200Falsches Zahlenformat.Geben Sie die Zahl in Ziffern an.
BAD_ACTION / BAD_STATUS200Unbekannter Befehl, ID oder Vorgang.Überprüfen Sie die Einstellungen.
EMPTY_POOL200Derzeit sind keine passenden Telefonnummern verfügbar.Nach 10–30 Sekunden wiederholen oder Filter wechseln.
NUMBER_IN_USE200Eine bestimmte Nummer ist durch eine aktive Sitzung belegt.Beenden Sie Ihre Sitzung oder wählen Sie eine andere Nummer.
NO_ACTIVATION200Die Sitzungs- oder vorherige Nummer gehört nicht zu Ihrem Konto.Überprüfen Sie ID und Schlüssel.
SESSION_CLOSED / SMS_REQUIRED200Der Statusübergang ist derzeit nicht verfügbar.Überprüfen Sie den Zustand und die Verfügbarkeit von SMS.
SCOPE_BLOCKED200Der Dienst, das Land oder der Anbieter ist für den Schlüssel nicht autorisiert.Aktualisieren Sie den Bereich des API-Schlüssels.
IDEMPOTENCY_CONFLICT200Dieser Abfrageschlüssel ist bereits mit anderen Parametern verknüpft.Erstellen Sie für eine neue Operation ein weiteres Idempotency-Key.
BAD_REF / SELF_REF400Der Softwarecode ist unbekannt, deaktiviert oder gehört dem Benutzer selbst.Geben Sie den Code des Softwarebesitzers weiter.
INTERNAL_ERROR500Temporärer Server- oder Anbieterfehler.Wiederholen Sie dies mit einer Verzögerung und demselben Idempotency-Key.
ALLOCATION_PENDING200Die Nummernvergabe läuft bereits. Wiederhole die Anfrage mit demselben Idempotency-Key.Die Nummernvergabe läuft bereits. Wiederhole die Anfrage mit demselben Idempotency-Key.
ALLOCATION_UNCERTAIN200Das Ergebnis der Nummernvergabe ist unbestätigt. Automatische Wiederholung ist deaktiviert, damit keine zweite Nummer vergeben wird.Das Ergebnis der Nummernvergabe ist unbestätigt. Automatische Wiederholung ist deaktiviert, damit keine zweite Nummer vergeben wird.

REST gibt ein Objekt zurück {"error":{"code":"…","message":"…"}} und reguläre HTTP-Status 400/401/403/404/409/503.

JSON
{
  "error": {
    "code": "BAD_REQUEST",
    "message": "Überprüfen Sie die Anforderungsfelder.",
    "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 für neue Integrationen

USD Die Tarifbeträge werden als exakte Dezimalzahlen mit 8 Dezimalstellen zurückgegeben: 0.00300000 USD.

Die Währung des Guthabens ist USD. Anfrage- und Antwortschemata finden Sie in OpenAPI.

Auszahlung in USDT · TRC20Auszahlungen dauern zwischen 1 und 45 Tagen. Die Auszahlungsgebühr beträgt 4 $. Sie wird vom beantragten Betrag abgezogen. Nach Eingang einer SMS werden die Einnahmen für die vom Anbieter festgelegte Dauer gesperrt. Am angegebenen Datum wird der Betrag automatisch zur Auszahlung verfügbar. Nur Beträge mit abgelaufener Sperrfrist können ausgezahlt werden.
GET/api/v1/catalogDienste und Länder
GET/api/v1/tariffsSMS Belohnungsraten nach Land
GET/api/v1/offersTarife und Prämien
GET/api/v1/servicesVerzeichnis
GET/api/v1/countriesVerzeichnis
GET/api/v1/operatorsVerzeichnis
GET/api/v1/availability?country=1Nummernverfügbarkeit
POST/api/v1/activationsNeue Sitzung
GET/api/v1/activations/batch?ids=42,43Mehrere Nummern prüfen
GET/api/v1/activationsNeueste 200 Sitzungen: scope=history, Warten oder alle
GET/api/v1/activations/{id}Sitzung und Nachrichten
GET/api/v1/activations/{id}/sms?after_id=0&limit=100Neues SMS mit Cursor
POST/api/v1/activations/{id}/retryWarten auf SMS
POST/api/v1/activations/{id}/finishFertigstellung
POST/api/v1/activations/{id}/cancelAbbrechen
POST/api/v1/activations/repeatNeuvergabe der Nummer
GET/api/v1/keysAPI-Tasten
POST/api/v1/keysErstellen Sie einen Schlüssel
PATCH/api/v1/keys/{id}Namen ändern oder policy
DELETE/api/v1/keys/{id}Schlüssel widerrufen
GET/api/v1/referralsEmpfehlungscode und Einnahmen
GET/api/v1/summaryBilanz und Zusammenfassung
GET/api/v1/balanceGesperrt
GET/api/v1/ledgerErtragsbuch
GET/api/v1/withdrawalsAuszahlungsanfragen
POST/api/v1/withdrawalsErstellen Sie eine Anfrage
GET/api/v1/statisticsGesamtstatistik
GET/api/v1/earnings/holdsGesperrte Einnahmen

Ich erhalte nur neue 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": "Code: 001234",
      "sender": "Service",
      "received_at": "2026-10-09T12:00:00Z"
    }
  ],
  "next_cursor": 101,
  "has_more": false
}

Speichern Sie next_cursor und geben Sie es als after_id weiter. Wenn has_more=true, kann die nächste Seite sofort gelesen werden. limit: 1–200. Sitzungen und SMS stehen nur dem Eigentümer zur Verfügung.