Doğrudan uygulamanızdan sayılar, mesajlar ve kazançlar.
SMScash
API dokümantasyonu
Başlarken

API dokümantasyonu

Doğrudan uygulamanızdan sayılar, mesajlar ve kazançlar.

Tek bir istekle başlayın

13 · API komutlarıREST + handler_api.phpJSON / plain text · Bearer

Panelinizde bir API anahtarı oluşturun, bir sayı alın ve her 20 saniye de bir mesaj kontrol edin. Kodlu bir SMS geldiğinde ödeme işlemi gerçekleşir; bunu tekrar okumanız hesabınızı etkilemez.

REST APIhttps://smscash.org/api/v1
Uyumluluk API tabanı URLhttps://smscash.org/stubs/handler_api.php
Hizmet canlıTelefon numarası , SMS Kârlar mevcuttur.Kârlar kullanılabilir USDT üzerinde TRC20Paylaşımlar arasında 1 ve 45 Günler için.
Hızlı başlangıç · 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}'

Alternatif uyumlu arayüz adresi: /handler_api.php. Mevcut REST entegrasyonları çalışmaya devam etmektedir.

REST API

İstek oluşturucu

cURL · Go · JS · Python

Idempotency-Key: UUID · POST · 8–128

Otomatik seçim: son saatte, ardından 24 saatte en çok kod. Numara yoksa sonraki operatör.

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

Anahtar kaydedilmez. Bu kontrol numara tahsis etmez.

Yeni entegrasyonlar için REST

Hizmetler ve ülkeler

Bir hizmet ve ülke seçin. SMS başına ödeme ülkeye bağlıdır.

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)

Bir numara al
REST
POST /api/v1/activations
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Idempotency-Key: request-unique-001

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

Otomatik seçim: son saatte, ardından 24 saatte en çok kod. Numara yoksa sonraki operatör.

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

Sayı 20 dakika için geçerlidir. SMS her 20 saniyede bir kontrol edilir. Hemen iptal edebilirsiniz.

Birden fazla numarayı kontrol et
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
Bakiye · Bekletiliyor
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 — Mevcut; held_balance — Bekletiliyor. USD · 8

Yalnızca bekletme süresi sona ermiş tutarlar çekilebilir.

Kullanıma hazır istemciler

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 · Uyumluluk API tabanı URLhttps://smscash.org/sms-activate/stubs/handler_api.php
HeroSMS · Uyumluluk API tabanı URLhttps://smscash.org/hero-sms/stubs/handler_api.php

Kullanıcının kişisel API anahtarı.

Bir hizmet ve ülke seçin. SMS başına ödeme ülkeye bağlıdır.

KodAçıklama
getNumber / getNumberV2Bir numara al
getStatus / getStatusV2En son kodu alın
setStatus / finishActivation / cancelActivationOturumu yönet
getPrices / getNumbersStatusMüsaitliği kontrol et
getRewards (SMScash)SMS için ödül
getServicesList / getServicesHizmetler
getCountries / getOperatorsHizmetler ve ülkeler
getActiveActivationsOturumlar
getBalanceKullanıcı bakiyesi
getHoldBalance (SMScash)Bekletiliyor

cost = 0 USD · activationCost = 0 USD
reward — SMS için ödül

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'
Yanıtlar
{
  "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.

Sayı 20 dakika için geçerlidir. SMS her 20 saniyede bir kontrol edilir. Hemen iptal edebilirsiniz.

Kimlik doğrulama ve yeniden deneme

REST: başlık Authorization: Bearer YOUR_API_KEY. Uyumlu Arayüz: parametreler api_key ve action. HTTPS'yi kullanın.

API anahtarlarını yönetmek için hesabınıza girin.

∞hesap başına istek/dakika
∞eşzamanlı oturumlar

İstek sıklığı ve telefon numarası sayısı sınırsızdır. Günlük veya saatlik kota yoktur.

Sayı 20 dakika için geçerlidir. SMS her 20 saniyede bir kontrol edilir. Hemen iptal edebilirsiniz.

REST'de benzersiz bir Idempotency-Key numara tahsisi, tekrar tahsisi, retry ve ödeme talepleri için gereklidir. İsteğe bağlıdır ancak handler_api.php'de önerilir. Bir ağ isteğini yeniden denediğinizde anahtarı yeniden kullanın; yeni bir işlem için yeni bir anahtar kullanın.

API anahtarının kapsamı

Bir anahtarı belirli hizmetlere, ülkelere ve sağlayıcılara bağlayabilirsiniz. Boş listeler mevcut tüm seçeneklere izin verir.

JSON
{
  "label": "Yazılımım",
  "policy": {
    "services": [
      "go"
    ],
    "countries": [
      86
    ],
    "providers": [
      1
    ]
  }
}

PATCH /api/v1/keys/{id} adı ve policy'yi tamamen değiştirir. Sır yalnızca oluşturulduğunda gösterilir.

Toplamda %10. Yazılım koduyla birlikte %5 + %5.

Numara verirken lütfen belirtin ref yazılımın sahibi. İstek, kullanıcının anahtarı tarafından yetkilendirilir. Kod "Yönlendirmeler" bölümünde ve GET /api/v1/referrals → software_ref.

TalepDavet edenYazılım
ref olmadan10%—
ref ile5%5%
ref ile yönlendiren yok—5%

Platform, ikramiyeyi kullanıcının kazancını azaltmadan ödüyor. Yazılımın sahibi ve yönlendiren aynı kişi olabilir. Kullanıcı kendi kodunu kullanamaz.

Şartlar bir oturum oluşturulduğunda belirlenir; SMS ve retry okunması bunları değiştirmez. Yeni bir tekrar oturumu için ref'yı tekrar gönderin. Tarife hesaplamasında, USD 0.003 kullanıcı ödülü, yazılım sahibine ve referans sağlayıcıya USD 0.00015 verir. Toplam bonus ise USD 0.00030'dır.

API komutları

11 XVBC tarzı yöntem artı SMScash bakiyeniz.

GETgetNumberBir numara al

Bir oturum oluşturur ve kullanıcı için uygun bir numara ayırır. Ücret ve referans paylarının alıcıları tahsis sırasında belirlenir; kod içeren bir SMS geldiğinde kazanç bakiyeye eklenir.

Parametreler

ParametreTürAçıklama
api_key*stringKullanıcının kişisel API anahtarı.
service*stringMevcut servis kodları. Cevap API anahtarının alanıyla sınırlıdır.
country*integergetCountries'den ID'yi alın.
operatorstringoperators/getOperators (API)'den ID'yi alın. operator=1 · any/0
session_durationintegerSüre 20 dakika sürer. 20 geçiş yapın veya bu parametreyi eklemeyin.
with_operatorinteger1 yanıta operatör ID’sini ekler; 0 veya parametrenin atlanması üç bölüm döndürür.
refstringYazılım sahibinin genel kodu: Kendisi için %5 ve davet eden için %5. ref olmadan - davet edene %10.

* Gerekli parametre. Tüm isteklerde ayrıca action=getNumber'yi de iletin.

Örnek istek

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'

Yanıtlar

Verilen numara
ACCESS_NUMBER:42:380670000000:1
Numara yok
EMPTY_POOL
  • Otomatik seçim: son saatte, ardından 24 saatte en çok kod. Numara yoksa sonraki operatör.
  • Idempotency-Key'yi iletin: aynı anahtarla aynı istek önceki oturumu döndürür. Parametrelerin değiştirilmesi IDEMPOTENCY_CONFLICT'yi çağırır.
  • Havuzu olmayan sayısal bir ülke EMPTY_POOL'yi verir; yanlış ülke formatı BAD_COUNTRY'dir.
  • Silinmiş bir oturumun anahtarı hala kullanılır: o anahtara göre yeniden dağıtım yapıldığında SESSION_CLOSED döner ve başka bir numara verilmez.
  • Numara isteğinin sonucu doğrulanmadı. İkinci bir numara verilmemesi için otomatik tekrar kapatıldı.
GETgetNumbersStatusMüsaitliği kontrol et

Hizmete ve ülkeye göre kullanılabilir telefon numarası sayısı.

Parametreler

ParametreTürAçıklama
api_key*stringKullanıcının kişisel API anahtarı.
country*integergetCountries'den ID'yi alın.

* Gerekli parametre. Tüm isteklerde ayrıca action=getNumbersStatus'yi de iletin.

Örnek istek

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

Yanıtlar

Mevcut numaralar
{
  "go_0": 0
}
  • _0 son eki, belirli bir işleci olmayan bir seçim anlamına gelir.
  • Stok, sağlayıcının genel havuzunu gösterir. Seçilen kanalın uygunluğu numara verilirken kontrol edilir.
GETgetStatusEn son kodu alın

Oturum durumu ve son SMS kodu için kolay talep. Kodun başındaki sıfırlar korunur.

Parametreler

ParametreTürAçıklama
api_key*stringKullanıcının kişisel API anahtarı.
id*integerNumara verildiğinde alınan oturumunuzun ID'si.

* Gerekli parametre. Tüm isteklerde ayrıca action=getStatus'yi de iletin.

Örnek istek

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

Yanıtlar

Bekliyor
STATUS_WAIT_CODE
Kod alındı
STATUS_OK:001234
İptal veya sona erme
STATUS_CANCEL
Bulunamadı
NO_ACTIVATION
  • Her 20 saniye de bir kez anket yapın. Bir mesajı tekrar okumak yeni bir ödeme oluşturmaz.
  • retry'den sonra eski kod döndürülmez: getStatus sonraki SMS'yi bekler.
  • SMS içermeyen bir sayı silindikten sonra, getStatus ve getSms STATUS_CANCEL’e geri döner; getSmsFull kapalı durum, boş bir telefon ve boş bir SMS listesi durumuna geri döner. REST, /activations/{id} ve /sms 404 NO_ACTIVATION’e geri döner.
GETsetStatusOturumu yönet

Bitim, iptal veya yeniden başlatma bekleniyor SMS. Sırasının sonu süresi aynı kalıyor.

Parametreler

ParametreTürAçıklama
api_key*stringKullanıcının kişisel API anahtarı.
id*integerNumara verildiğinde alınan oturumunuzun ID'si.
status*integer3 — oturumu genişletmeden bir sonraki kodı bekleyin; 6 — SMS sonrasında bitirin; 8 — hemen iptal edin.

* Gerekli parametre. Tüm isteklerde ayrıca action=setStatus'yi de iletin.

Örnek istek

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'

Yanıtlar

SMS bekleniyor
ACCESS_RETRY_GET
Tamamlandı
ACCESS_ACTIVATION
İptal edildi
ACCESS_CANCEL
  • Bir sonraki kodun gelmesini bekleyerek 20 dakika süresi içinde tekrar deneyin. Sorun ve süreler değişmez.
  • Durum=3 için Idempotency-Key kullanın: isteğin tekrarlanması halihazırda alınmış olan yeni kodu sıfırlamayacaktır. SMS'nin geçmişi mevcut olmaya devam ediyor.
  • İptal, daha önce kazanılan tutarı silmez.
  • Sadece SMS koduna sahip rakamlar tarihte saklanır. Kodu olmayan iptal edilmiş ve süresi dolmuş rakamlar silinir.
GETgetRepeatNumberAynı numarayı tekrar ver

Geçmişinizden belirli bir numarayla yeni bir oturum açar. Aynı ülkede mevcut olan başka bir hizmeti seçebilirsiniz.

Parametreler

ParametreTürAçıklama
api_key*stringKullanıcının kişisel API anahtarı.
number*stringEski numaran. Yalnızca sayılara ve isteğe bağlı olarak baştaki +'ya izin verilir.
service*stringMevcut servis kodları. Cevap API anahtarının alanıyla sınırlıdır.
session_durationintegerSüre 20 dakika sürer. 20 geçiş yapın veya bu parametreyi eklemeyin.
with_operatorinteger1 yanıta operatör ID’sini ekler; 0 veya parametrenin atlanması üç bölüm döndürür.
refstringYazılım sahibinin genel kodu: Kendisi için %5 ve davet eden için %5. ref olmadan - davet edene %10.
operatorstringoperators/getOperators (API)'den ID'yi alın. operator=1 · any/0

* Gerekli parametre. Tüm isteklerde ayrıca action=getRepeatNumber'yi de iletin.

Örnek istek

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'

Yanıtlar

Yeni oturum
ACCESS_NUMBER:43:380670000000
Numara hâlâ meşgul
NUMBER_IN_USE
  • Öncelikle mevcut oturumunuzu sonlandırın veya iptal edin. Numaranın meşgul olması durumunda yeniden düzenleme yapılmaz.
  • Yeni oturum yeni bir ID ve mevcut tarifeyi alır. Eski SMS buna kopyalanmaz. ref yeniden ayarlandı.
  • SMScash yalnızca bu hesabın geçmişindeki sayıların tekrarlanmasına izin verir. Ülke numarasıyla tanımlanır.
  • Silinmiş bir oturumun anahtarı hala kullanılır: o anahtara göre yeniden dağıtım yapıldığında SESSION_CLOSED döner ve başka bir numara verilmez.
GETgetSmsFullSMS'yi JSON olarak alın

ID, gönderen, kod, metin ve ülke, hizmet ve tedarikçi verilerini içeren tüm mesajların yapılandırılmış geçmişi.

Parametreler

ParametreTürAçıklama
api_key*stringKullanıcının kişisel API anahtarı.
id*integerNumara verildiğinde alınan oturumunuzun ID'si.

* Gerekli parametre. Tüm isteklerde ayrıca action=getSmsFull'yi de iletin.

Örnek istek

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

Yanıtlar

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"
}
  • Entegrasyon için tercih edilen format. Yalnızca yeni mesajları işlemek için sms[].id'yi unutmayın.
  • Sayısal durum SMScash: 1 - etkin, 6 - tamamlandı, 8 - iptal edildi veya süresi dolmuş. status_name bekleme, alınan, biten, iptal edilen, süresi dolan arasındaki ayrımları yapar.
  • Bir oturum sona erdikten sonra alınan kodlar hala kullanılabilir. Büyük miktarlarda, after_id ile REST /activations/{id}/sms kullanın.
  • SMS içermeyen bir sayı silindikten sonra, getStatus ve getSms STATUS_CANCEL’e geri döner; getSmsFull kapalı durum, boş bir telefon ve boş bir SMS listesi durumuna geri döner. REST, /activations/{id} ve /sms 404 NO_ACTIVATION’e geri döner.
GETgetSmsSMS'yi metin dizesi olarak alın

Mevcut istemciler için SMS geçmişinin tamamını dize biçiminde döndürür.

Parametreler

ParametreTürAçıklama
api_key*stringKullanıcının kişisel API anahtarı.
id*integerNumara verildiğinde alınan oturumunuzun ID'si.

* Gerekli parametre. Tüm isteklerde ayrıca action=getSms'yi de iletin.

Örnek istek

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

Yanıtlar

Mesaj
STATUS_OK:2026-10-09T12:00:00Z|001234|Код подтверждения: 001234
Bekliyor
STATUS_WAIT_CODE
İptal veya sona erme
STATUS_CANCEL
  • Mesaj formatı: zaman|kod|metin. Birden fazla mesaj iki nokta üst üste işaretiyle ayrılır.
  • SMS metninin kendisi iki nokta üst üste ve dikey çubuklar içerebilir. Güvenilir ayrıştırma için getSmsFull kullanın.
GETgetServicesHizmetler

Mevcut servis kodları. Cevap API anahtarının alanıyla sınırlıdır.

Parametreler

ParametreTürAçıklama
api_key*stringKullanıcının kişisel API anahtarı.
countryintegergetCountries'den ID'yi alın.

* Gerekli parametre. Tüm isteklerde ayrıca action=getServices'yi de iletin.

Örnek istek

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

Yanıtlar

Hizmetler
{
  "go": {
    "name": "Google",
    "code": "go"
  }
}
  • Hizmet dizini tedarikçiler arasında paylaşılır. Sayfa sayısı mevcutluğu ayrı olarak kontrol edilir.
GETgetCountriesÜlkeler

Seçilen kanaldaki ülkelerin kimlikleri, isimleri ve arama kodları.

Parametreler

ParametreTürAçıklama
api_key*stringKullanıcının kişisel API anahtarı.

* Gerekli parametre. Tüm isteklerde ayrıca action=getCountries'yi de iletin.

Örnek istek

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

Yanıtlar

Ülkeler
{
  "86": {
    "id": 86,
    "name": "Italy",
    "phone_code": "39"
  }
}
GETgetOperatorsOperatörler

Kullanılabilir operatörler: API kimliği, ad ve ödül bekletme süresi.

Parametreler

ParametreTürAçıklama
api_key*stringKullanıcının kişisel API anahtarı.
countryintegergetCountries'den ID'yi alın.
operatorstringoperators/getOperators (API)'den ID'yi alın. operator=1 · any/0

* Gerekli parametre. Tüm isteklerde ayrıca action=getOperators'yi de iletin.

Örnek istek

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

Yanıtlar

Operatörler
{
  "1": {
    "id": 1,
    "provider_id": 1,
    "operator": 1,
    "name": "Оператор 1",
    "earnings_hold_days": 45
  }
}
  • operators/getOperators (API)'den ID'yi alın.
GETgetRewardsSMS için ödül

Oranlar ülkeye bağlıdır. Tüm tablo miktarları ödenen SMS başına verilmiştir.

Parametreler

ParametreTürAçıklama
api_key*stringKullanıcının kişisel API anahtarı.
countryintegergetCountries'den ID'yi alın.
servicestringMevcut servis kodları. Cevap API anahtarının alanıyla sınırlıdır.
operatorstringoperators/getOperators (API)'den ID'yi alın. operator=1 · any/0

* Gerekli parametre. Tüm isteklerde ayrıca action=getRewards'yi de iletin.

Örnek istek

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

Yanıtlar

JSON
{
  "59": {
    "vi": {
      "1": "0.01000000",
      "3": "0.00500000"
    }
  }
}
{}
{}
  • USD tarife tutarları 8 ondalık basamakla tam ondalık diziler olarak verilir:
  • Anahtarınızın kullanabileceği etkin sağlayıcılar.
  • country ID → service code → operator ID → reward (USD)
GETgetBalanceKullanıcı bakiyesi

İlave SMScash: tahakkuklar, yönlendirme ikramiyeleri ve ödeme talepleri dikkate alınarak mevcut bakiye.

Parametreler

ParametreTürAçıklama
api_key*stringKullanıcının kişisel API anahtarı.

* Gerekli parametre. Tüm isteklerde ayrıca action=getBalance'yi de iletin.

Örnek istek

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

Yanıtlar

Bakiye
ACCESS_BALANCE:0.00
  • getBalance kullanılabilir USD bakiyesini 8 ondalık basamağa kadar döndürür.
  • Yalnızca bekletme süresi sona ermiş tutarlar çekilebilir.
GETgetHoldBalanceBekletiliyor

SMS alındıktan sonra kazanç, sağlayıcının belirlediği süre boyunca bekletilir. Belirtilen tarihte tutar otomatik olarak çekilebilir hâle gelir.

Parametreler

ParametreTürAçıklama
api_key*stringKullanıcının kişisel API anahtarı.

* Gerekli parametre. Tüm isteklerde ayrıca action=getHoldBalance'yi de iletin.

Örnek istek

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

Yanıtlar

Bekletiliyor
ACCESS_HOLD_BALANCE:34.50000001
  • SMScash · getHoldBalance · USD · 8
  • Yalnızca bekletme süresi sona ermiş tutarlar çekilebilir.

Yanıt kodları ve tekrarlanan istekler

handler_api.php'de iş sonuçları genellikle HTTP 200 ile birlikte gelir. Gövde metnini kontrol edin. Dizinler ve getSmsFull, başarılı olursa JSON'yi döndürür; hatalar her zaman metindir.

KodHTTPNedeni ve sonraki adım
TARIFF_NOT_CONFIGURED200Oranlar henüz belirlenmediSMS ödülleri yapılandırıldığında sayı tahsisatı başlayacaktır.
COUNTRY_BLOCKED200Bu ülke için sayı tahsisi engellenmiştir.Başka bir ülke seçin.
BAD_SERVICE200Bu hizmet için numara tahsisi engellenmiştir.Başka bir hizmet seçin.
PROVIDER_NOT_READY200Sayı tahsisi geçici olarak kullanılamıyorAPI kataloglarını yenileyin.
BAD_KEY400api_key yok veya geçersiz biçim.İstekteki anahtarı kontrol edin.
INVALID_API_KEY401Anahtar bilinmiyor, iptal edilmiş veya hesap devre dışı bırakılmış.Geçerli bir API anahtarı oluşturun.
BAD_COUNTRY400ülke eksik veya pozitif bir sayı değil.getCountries'den ID'yi alın.
BAD_SESSION_DURATION400Telefon numaraları tam olarak 20 dakika için verilir.Doğru session_duration.
BAD_REQUEST400Geçersiz parametre veya Idempotency-Key.Lütfen isteğinizi düzeltin.
BAD_SERVICE / BAD_OPERATOR / INVALID_PROVIDER200Bilinmeyen veya devre dışı bırakılan dizin öğesi.API kataloglarını yenileyin.
BAD_NUMBER200Yanlış sayı biçimi.Sayıyı rakamla verin.
BAD_ACTION / BAD_STATUS200Bilinmeyen komut, ID veya işlem.Ayarları kontrol edin.
EMPTY_POOL200Şu anda eşleşen telefon numarası yok.10-30 saniye sonra tekrarlayın veya filtreleri değiştirin.
NUMBER_IN_USE200Belirli bir sayı aktif bir oturum tarafından kullanılıyor.Oturumunuzu sonlandırın veya başka bir numara seçin.
NO_ACTIVATION200Oturum veya önceki numara hesabınıza ait değil.ID'yi ve anahtarı kontrol edin.
SESSION_CLOSED / SMS_REQUIRED200Durum geçişi şu anda kullanılamıyor.SMS'nin durumunu ve kullanılabilirliğini kontrol edin.
SCOPE_BLOCKED200Hizmet, ülke veya satıcının anahtar için yetkisi yok.API anahtarının kapsamını güncelleyin.
IDEMPOTENCY_CONFLICT200Bu sorgu anahtarı zaten diğer parametrelerle ilişkilendirilmiş.Yeni bir işlem için başka bir Idempotency-Key oluşturun.
BAD_REF / SELF_REF400Yazılım kodu bilinmiyor, devre dışı veya kullanıcının kendisine ait.Yazılım sahibinin kodunu iletin.
INTERNAL_ERROR500Geçici sunucu veya satıcı hatası.Bir gecikmeyle ve aynı Idempotency-Key ile tekrarlayın.
ALLOCATION_PENDING200Numara isteği zaten işleniyor. Aynı Idempotency-Key ile tekrar dene.Numara isteği zaten işleniyor. Aynı Idempotency-Key ile tekrar dene.
ALLOCATION_UNCERTAIN200Numara isteğinin sonucu doğrulanmadı. İkinci bir numara verilmemesi için otomatik tekrar kapatıldı.Numara isteğinin sonucu doğrulanmadı. İkinci bir numara verilmemesi için otomatik tekrar kapatıldı.

REST bir nesne döndürür {"error":{"code":"…","message":"…"}} ve normal HTTP durumları 400/401/403/404/409/503.

JSON
{
  "error": {
    "code": "BAD_REQUEST",
    "message": "İstek alanlarını kontrol edin.",
    "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.

Yeni entegrasyonlar için REST

USD tarife tutarları 8 ondalık basamakla tam ondalık diziler olarak verilir: 0.00300000 USD.

Bakiye para birimi USD’dir. İstek ve yanıt şemaları şu belgede yer alır: OpenAPI.

USDT ile para çekme · TRC20Ödemeler 1 ile 45 gün arasında sürer. Para çekme ücreti 4 $’dır. Talep edilen tutardan düşülür. SMS alındıktan sonra kazanç, sağlayıcının belirlediği süre boyunca bekletilir. Belirtilen tarihte tutar otomatik olarak çekilebilir hâle gelir. Yalnızca bekletme süresi sona ermiş tutarlar çekilebilir.
GET/api/v1/catalogHizmetler ve ülkeler
GET/api/v1/tariffsSMS ülkelere göre ödül oranları
GET/api/v1/offersOranlar ve ödüller
GET/api/v1/servicesRehber
GET/api/v1/countriesRehber
GET/api/v1/operatorsRehber
GET/api/v1/availability?country=1Numara kullanılabilirliği
POST/api/v1/activationsYeni oturum
GET/api/v1/activations/batch?ids=42,43Birden fazla numarayı kontrol et
GET/api/v1/activationsEn yeni 200 oturumları: scope=history, bekleme veya tüm
GET/api/v1/activations/{id}Oturum ve mesajlar
GET/api/v1/activations/{id}/sms?after_id=0&limit=100İmleçli yeni SMS
POST/api/v1/activations/{id}/retrySMS bekleniyor
POST/api/v1/activations/{id}/finishTamamlama
POST/api/v1/activations/{id}/cancelİptal
POST/api/v1/activations/repeatNumaranın yeniden düzenlenmesi
GET/api/v1/keysAPI tuşları
POST/api/v1/keysBir anahtar oluşturun
PATCH/api/v1/keys/{id}Adı değiştirin veya policy
DELETE/api/v1/keys/{id}Anahtarı iptal et
GET/api/v1/referralsReferans kodu ve kazançlar
GET/api/v1/summaryBakiye ve Özet
GET/api/v1/balanceBekletiliyor
GET/api/v1/ledgerKazanç defteri
GET/api/v1/withdrawalsÖdeme talepleri
POST/api/v1/withdrawalsBir istek oluştur
GET/api/v1/statisticsGenel istatistikler
GET/api/v1/earnings/holdsBekletilen kazançlar

Yalnızca yeni SMS alınıyor

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
}

next_cursor'yi kaydedin ve after_id olarak aktarın. has_more=true ise sonraki sayfa hemen okunabilir. limit: 1–200. Oturumlar ve SMS yalnızca sahibin kullanımına açıktır.