API-nin təhrifləri
- Sayılar, mesajlar və qazandıqlar, doğrudan sizin appınızdan.
Başlamaq üçün bir başvuru
Cərgəni seçin API dashboarddakı düymə, bir ədəd al və hər bir ismarışı yoxlayın 20 saniyələr. Ödəmə müəyyən edilir SMS Onu yenidən oxumaq düzgünlüyünə tə’sir etmir.
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}'Alternatif uyumlu interfejs adresi: /handler_api.php. Mevcut REST bütünleşimləri çalışmaya devam edir.
Sorğu qurucusu
Idempotency-Key: UUID · POST · 8–128
Avtomatik seçim: əvvəl son saatda, sonra 24 saatda ən çox kod. Nömrə yoxdursa, növbəti operator.
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.Açar saxlanmır. Bu yoxlama nömrə ayırmır.
Yeni bütünleşmə üçün
Xidmətlər və ölkələr
Qadın və uşaqların SMS-ə paylaşıbları, bu barədə məlumatlar alın.
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)
Bir sayı alın
POST /api/v1/activations
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Idempotency-Key: request-unique-001
{
"service": "go",
"country": 86
}Avtomatik seçim: əvvəl son saatda, sonra 24 saatda ən çox kod. Nömrə yoxdursa, növbəti operator.
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: stringBu sayı üçün geçerlidir. 20 Minutlar SMS Hər birinin kontrol edilməsi 20 - Qadınlar, siz də hemen iptal edebilirsiniz.
Bir neçə nömrəni yoxla
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 messageBalans · Gözləmədə
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 — Mövcuddur; held_balance — Gözləmədə. USD · 8
Yalnız gözləmə müddəti bitmiş vəsaiti çıxarmaq olar.
İstifadəyə hazır müştərilər
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.phpİstifadəçinin şəxsi API açarı.
Qadın və uşaqların SMS-ə paylaşıbları, bu barədə məlumatlar alın.
| Codeqə | Açıklama |
|---|---|
getNumber / getNumberV2 | Bir sayı alın |
getStatus / getStatusV2 | Yeni kodunu alın |
setStatus / finishActivation / cancelActivation | Sesi yöneticisi |
getPrices / getNumbersStatus | Hazırlıq kontrolü |
getRewards (SMScash) | SMS-dən ödüllə |
getServicesList / getServices | Xidmətlər |
getCountries / getOperators | Xidmətlər və ölkələr |
getActiveActivations | Sesi |
getBalance | İstifadəçinin balansı |
getHoldBalance (SMScash) | Gözləmədə |
cost = 0 USD · activationCost = 0 USDreward — SMS-dən ödüllə
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.Bu sayı üçün geçerlidir. 20 Minutlar SMS Hər birinin kontrol edilməsi 20 - Qadınlar, siz də hemen iptal edebilirsiniz.
Xərim və retreat
REST: Başlıq Authorization: Bearer YOUR_API_KEY. Kompatib interfejslər : Parametrlər api_key və actionHTTPS ilə istifadə edin.
Qadınlar üçün API-nin qapıları, hesabınıza giriş yapın.
API İsteyiniz frekansı və telefon numaralarının sayı sınırsızdır.Günlük və saatlik kvota yoxdur.
Bu sayı üçün geçerlidir. 20 Minutlar SMS Hər birinin kontrol edilməsi 20 - Qadınlar, siz də hemen iptal edebilirsiniz.
Bir neçə dəfə, bir Idempotency-Key Nömrə bölüşməsi, təkrarlamaq üçün lazımdır, retry və ödəmə istəyilər. Bu seçimdir, lakin məsləhət verir handler_api.php. Açarı yenidən istifadə et; yeni əməliyyat üçün yeni açar işlət.
API Keyqəvi
Bir anahtarı belirli xidmətlərə, ölkələr və sağlayıcılara sınırlayabilirsiniz. boş listlər tüm mevcut seçenekleri sağlar.
{
"label": "Mənim programım",
"policy": {
"services": [
"go"
],
"countries": [
86
],
"providers": [
1
]
}
}PATCH /api/v1/keys/{id} İsim və politikası tamamen dəyişir.Sahiri yalnız yaratıldığında ortaya çıxır.
10% -u toplamda. 5% + 5% -u yazılım koduyla.
Bir sayı verirsen, lütfen ref Proqramın sahibi. İcraçının açarı tərəfindən istəyib. Kod "Təkrarlar" bölməsi və "Tərcümə" böyüklükdədir GET /api/v1/referrals → software_ref.
| İsteq | İtfər | Software |
|---|---|---|
| REF olmadan | 10% | — |
| REF ilə | 5% | 5% |
| Xatır, Xatır, Xatır | — | 5% |
Bu platform, istifadəçinin qazlarını azaltmadan bonus payını ödüyor. yazılım sahibinin və refererinin aynı kişi olabilirsən. istifadəçinin kendi kodunu kullanamaz.
Bir oturum yaratıldığında zamanlar sabitdir; SMS-i və geri qayıtma onları dəyişmez. Yeni bir tekrar oturumu üçün ref-i yeniden geçir. Tarif hesaplamada, bir istifadəçi mükafatı USD 0.003 hər bir yazılım sahibine və referer'a USD 0.00015 verir. Top bonus USD 0.00030dır.
API Komanda
11 XVBC-style metodları artı SMScash bilansi.
GETgetNumberBir sayı alın+
Bu, istifadəçilərə bir sayı və bir sayı saxlayır.Müşhərlərin ödülləri və referralı alıcıları dağıtılmasında sabitdir; Ödülləri bir kodla SMS-ə gəldikdə kredit edilir.
Parametrlər
| Parametrlər | Tip | Açıklama |
|---|---|---|
api_key* | string | İstifadəçinin şəxsi API açarı. |
service* | string | Qadınlar bu problemdən qalandır.Cevap API-nin qalığına sınırlıdır. |
country* | integer | İtraflar üçün bir neçə dəfə getCountries. |
operator | string | İtraflar üçün bir neçə dəfə operators/getOperators (API). operator=1 · any/0 |
session_duration | integer | Sesi davam edir 20 Xərimət: Xərimət 20 Bu parametri də gözləyir. |
with_operator | integer | 1 cavaba operator ID-sini əlavə edir; 0 və ya parametrin olmaması üç hissə qaytarır. |
ref | string | Və bu, “Software” sahibinin kamu kodunu: onun üçün 5% və misafir üçün 5% və misafir üçün 10% və ya ref olmadan. |
* İhtiyaç paramilə. bütün taleplərdə də aktlar keçir=getNumber.
İsteqə örnek
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)Cevaplar
ACCESS_NUMBER:42:380670000000:1EMPTY_POOL- Avtomatik seçim: əvvəl son saatda, sonra 24 saatda ən çox kod. Nömrə yoxdursa, növbəti operator.
- Pass Idempotency-KeyEyni düymə ilə eyni istəyirik, əvvəlki iclasını dəyişdirir. Parametrləri dəyişər IDEMPOTENCY_CONFLICT.
- Bir bazan olmayan sayı ülke EMPTY_POOL verir; yanlış ülke formatı BAD_COUNTRYdir.
- Bu qapı ilə xilas edilmiş bir oturumun anahtarı istifadə edilir: bu anahtarla yeniden dağıtmaq SESSION_CLOSED qaytarır və başka bir sayı yayınlanmaz.
- İkinci sayıdan istifadə etmə üçün automatik geri çekilmə yetirilmə bilər.
GETgetNumbersStatusHazırlıq kontrolü+
Telefon numarası və ölkələr arasında istifadə edilir.
Parametrlər
| Parametrlər | Tip | Açıklama |
|---|---|---|
api_key* | string | İstifadəçinin şəxsi API açarı. |
country* | integer | İtraflar üçün bir neçə dəfə getCountries. |
* İhtiyaç paramilə. bütün taleplərdə də aktlar keçir=getNumbersStatus.
İsteqə örnek
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())Cevaplar
{
"go_0": 0
}- _0 suffix-i, bir seçenek olmadan seçilmə bilər.
- Bu kanalın bir sayı varsa seçilmiş kanal kontrol edilir.
GETgetStatusYeni kodunu alın+
Əvvəlki xəbərlər » Sessions status və son SMS Qadınlar bu kodda qalıb.
Parametrlər
| Parametrlər | Tip | Açıklama |
|---|---|---|
api_key* | string | İstifadəçinin şəxsi API açarı. |
id* | integer | Sizin sayıları, sayıları yayımlandığında alınan oturum ID. |
* İhtiyaç paramilə. bütün taleplərdə də aktlar keçir=getStatus.
İsteqə örnek
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)Cevaplar
STATUS_WAIT_CODESTATUS_OK:001234STATUS_CANCELNO_ACTIVATION- 20 saniyədə bir dəfə bir mesajı oxumaq, yeni bir pay yaratmaz.
- Eski kod geri qayıtılmaz: getStatus bir sonraki SMS üçün gözləyir.
- Bir sayı olmadan SMS Bu işdən çıxıb, getStatus və getSms qayıtmaq STATUS_CANCEL; getSmsFull Bu, boş telefon və boş telefonun qapılarını geri qayıtır. sms Listə də var. REST /activations/{id} və /sms qayıtmaq 404 NO_ACTIVATION.
GETsetStatusSesi yöneticisi+
SMS-ə baxmaq üçün son, iptal və ya yeniden qayıtmaq.
Parametrlər
| Parametrlər | Tip | Açıklama |
|---|---|---|
api_key* | string | İstifadəçinin şəxsi API açarı. |
id* | integer | Sizin sayıları, sayıları yayımlandığında alınan oturum ID. |
status* | integer | 3 - Sessionsın uzatılmadan bir sonraki kodu bekmək; 6 - SMS sonra bitmək; 8 - hemen iptal etmək. |
* İhtiyaç paramilə. bütün taleplərdə də aktlar keçir=setStatus.
İsteqə örnek
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)Cevaplar
ACCESS_RETRY_GETACCESS_ACTIVATIONACCESS_CANCEL- Qazaqın ilk 20 mində bir sonraki kodu bekə bilər.
- İtraflar =3 Kullanım Idempotency-Key- Yeni qapıdan alınan yeni kodun yeniden başlatılmayacağına dair bir bildirim SMS Hazırda qalır.
- Bu barədə xəbər verir ki, bu barədə “Global Report” xəbər verir.
- SMS-i olan sayıları yalnız tarihdə tutulur. kod olmadan iptal edilmiş və sona qədər olan sayıları silinir.
GETgetRepeatNumberYenə aynı sayıya baxın+
Yeni bir oturumu, tarihinizdən belirli bir sayı ilə açılır. aynı ülkədə bir daha mevcut hizmet seçebilirsiniz.
Parametrlər
| Parametrlər | Tip | Açıklama |
|---|---|---|
api_key* | string | İstifadəçinin şəxsi API açarı. |
number* | string | Yalnızca sayı və seçici bir lider + izin verilir. |
service* | string | Qadınlar bu problemdən qalandır.Cevap API-nin qalığına sınırlıdır. |
session_duration | integer | Sesi davam edir 20 Xərimət: Xərimət 20 Bu parametri də gözləyir. |
with_operator | integer | 1 cavaba operator ID-sini əlavə edir; 0 və ya parametrin olmaması üç hissə qaytarır. |
ref | string | Və bu, “Software” sahibinin kamu kodunu: onun üçün 5% və misafir üçün 5% və misafir üçün 10% və ya ref olmadan. |
operator | string | İtraflar üçün bir neçə dəfə operators/getOperators (API). operator=1 · any/0 |
* İhtiyaç paramilə. bütün taleplərdə də aktlar keçir=getRepeatNumber.
İsteqə örnek
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)Cevaplar
ACCESS_NUMBER:43:380670000000NUMBER_IN_USE- İlk dəfə, günümüzün oturumunu bitir və ya iptal et. - Bir sayı işləmişsə, yeniden çıxış yapılmaz.
- Yeni oturum yeni bir ID və mevcut tarifi alır. Eski SMS-lər buna kopyalanmaz. ref yeniden ayarlanır.
- SMScash bu hesabın tarihindən yalnız sayıları tekrarlayır.
- Bu qapı ilə xilas edilmiş bir oturumun anahtarı istifadə edilir: bu anahtarla yeniden dağıtmaq SESSION_CLOSED qaytarır və başka bir sayı yayınlanmaz.
GETgetSmsFullİndir SMS O qədər JSON+
Bütün mesajların, ID, gönderdən, kod, texti və ülke, servis və təchizçi verileri ilə struktur edilmiş tarihi.
Parametrlər
| Parametrlər | Tip | Açıklama |
|---|---|---|
api_key* | string | İstifadəçinin şəxsi API açarı. |
id* | integer | Sizin sayıları, sayıları yayımlandığında alınan oturum ID. |
* İhtiyaç paramilə. bütün taleplərdə də aktlar keçir=getSmsFull.
İsteqə örnek
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())Cevaplar
{
"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"
}- İnteqrasiya üçün seçili format. sms[].id yalnız yeni ismarışları icra etmək üçün xatırlayın.
- Ədədi vəziyyəti SMScash: 1 - fəal 6 tamamla 8 - bağlanıb çıxart. status_name Gözləmək, alınmış, tamamlandı, bağlanıb, müəyyən edildi.
- Bu barədə məlumatlar üçün məlumatlar verilmə bilər.Açıqlaşma zamanı, REST /activations/{id}/sms və after_id ilə istifadə olun.
- Bir sayı olmadan SMS Bu işdən çıxıb, getStatus və getSms qayıtmaq STATUS_CANCEL; getSmsFull Bu, boş telefon və boş telefonun qapılarını geri qayıtır. sms Listə də var. REST /activations/{id} və /sms qayıtmaq 404 NO_ACTIVATION.
GETgetSmsSMS-i bir texti string kimi alın+
SMS-in bütün öyküsü mevcut müştərilər üçün string formatı ilə qayıtır.
Parametrlər
| Parametrlər | Tip | Açıklama |
|---|---|---|
api_key* | string | İstifadəçinin şəxsi API açarı. |
id* | integer | Sizin sayıları, sayıları yayımlandığında alınan oturum ID. |
* İhtiyaç paramilə. bütün taleplərdə də aktlar keçir=getSms.
İsteqə örnek
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)Cevaplar
STATUS_OK:2026-10-09T12:00:00Z|001234|Код подтверждения: 001234STATUS_WAIT_CODESTATUS_CANCEL- İsmarış formatı: time
- SMS-in özü kolonlar və vertikal çarşalar içərir. güvenilir parsing üçün getSmsFull istifadə edin.
GETgetServicesXidmətlər+
Qadınlar bu problemdən qalandır.Cevap API-nin qalığına sınırlıdır.
Parametrlər
| Parametrlər | Tip | Açıklama |
|---|---|---|
api_key* | string | İstifadəçinin şəxsi API açarı. |
country | integer | İtraflar üçün bir neçə dəfə getCountries. |
* İhtiyaç paramilə. bütün taleplərdə də aktlar keçir=getServices.
İsteqə örnek
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())Cevaplar
{
"go": {
"name": "Google",
"code": "go"
}
}- Bu barədə məlumatlar üçün məlumatlar verilmə bilər.
GETgetCountriesÖlkələr+
İsimlər, isimlər və seçilmiş kanalda ölkələr üçün çağrı kodları.
Parametrlər
| Parametrlər | Tip | Açıklama |
|---|---|---|
api_key* | string | İstifadəçinin şəxsi API açarı. |
* İhtiyaç paramilə. bütün taleplərdə də aktlar keçir=getCountries.
İsteqə örnek
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())Cevaplar
{
"86": {
"id": 86,
"name": "Italy",
"phone_code": "39"
}
}GETgetOperatorsOperatorlar+
Mövcud operatorlar: API ID-si, ad və gözləmə müddəti.
Parametrlər
| Parametrlər | Tip | Açıklama |
|---|---|---|
api_key* | string | İstifadəçinin şəxsi API açarı. |
country | integer | İtraflar üçün bir neçə dəfə getCountries. |
operator | string | İtraflar üçün bir neçə dəfə operators/getOperators (API). operator=1 · any/0 |
* İhtiyaç paramilə. bütün taleplərdə də aktlar keçir=getOperators.
İsteqə örnek
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())Cevaplar
{
"1": {
"id": 1,
"provider_id": 1,
"operator": 1,
"name": "Оператор 1",
"earnings_hold_days": 45
}
}- İtraflar üçün bir neçə dəfə operators/getOperators (API).
GETgetRewardsSMS-dən ödüllə+
Ümrüdə hər bir ücret SMS-ə bağlıdır.
Parametrlər
| Parametrlər | Tip | Açıklama |
|---|---|---|
api_key* | string | İstifadəçinin şəxsi API açarı. |
country | integer | İtraflar üçün bir neçə dəfə getCountries. |
service | string | Qadınlar bu problemdən qalandır.Cevap API-nin qalığına sınırlıdır. |
operator | string | İtraflar üçün bir neçə dəfə operators/getOperators (API). operator=1 · any/0 |
* İhtiyaç paramilə. bütün taleplərdə də aktlar keçir=getRewards.
İsteqə örnek
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())Cevaplar
{
"59": {
"vi": {
"1": "0.01000000",
"3": "0.00500000"
}
}
}{}- USD tarifin miktarları 8 decimal yerlə tam decimal çubuk olarak qaytarılır:
- - Key-in üçün sağlanan aktivasiya
- country ID → service code → operator ID → reward (USD)
GETgetBalanceİstifadəçinin balansı+
SMScash: Aksırlar, referral bonuslar və paylaşma talepləri gözləyir.
Parametrlər
| Parametrlər | Tip | Açıklama |
|---|---|---|
api_key* | string | İstifadəçinin şəxsi API açarı. |
* İhtiyaç paramilə. bütün taleplərdə də aktlar keçir=getBalance.
İsteqə örnek
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)Cevaplar
ACCESS_BALANCE:0.00- getBalance Hazır olanı geri qaytarır USD Bu qədər balans 8 yerdə.
- Yalnız gözləmə müddəti bitmiş vəsaiti çıxarmaq olar.
GETgetHoldBalanceGözləmədə+
SMS alındıqdan sonra qazanc təchizatçının müəyyən etdiyi müddət ərzində saxlanılır. Göstərilən tarixdə məbləğ avtomatik olaraq çıxarış üçün əlçatan olur.
Parametrlər
| Parametrlər | Tip | Açıklama |
|---|---|---|
api_key* | string | İstifadəçinin şəxsi API açarı. |
* İhtiyaç paramilə. bütün taleplərdə də aktlar keçir=getHoldBalance.
İsteqə örnek
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)Cevaplar
ACCESS_HOLD_BALANCE:34.50000001- SMScash · getHoldBalance · USD · 8
- Yalnız gözləmə müddəti bitmiş vəsaiti çıxarmaq olar.
Cəmi və tekrarlama sorularını
Bu işdə handler_api.php işdən çıxır ki, normaldə HTTP 200 ilə gəlir. vücut texti kontrol edin. direktoryalar və getSmsFull başarılı olursa JSON qayıtır; hatlar hər zaman textidir.
| Codeqə | HTTP | Qaza və bir sonraki adım |
|---|---|---|
TARIFF_NOT_CONFIGURED | 200 | Tariflər hala ayarlanmıyorSMS-in təhrifləri ilə bağlı olaraq bu sayılar başlanır. |
COUNTRY_BLOCKED | 200 | Bu ölkəyə sayı dağılımı bloklandırılır.Başqa ülke seçin. |
BAD_SERVICE | 200 | Bu xidmət üçün sayıları bloklandırılır.Başqa bir servis seçin. |
PROVIDER_NOT_READY | 200 | Əhizəçi sayıları geçici olaraq qəbul edilemezAPI katalogları yenilə bilər. |
BAD_KEY | 400 | Yox api_key yaxud hökmsüz format.İsteyinizdə anahtarı gözləyin. |
INVALID_API_KEY | 401 | Key bilinməz, geri qayıtılır və ya hesabı devre dışı bırakılır.Bir API-nin yaradılması üçün bir qapı var. |
BAD_COUNTRY | 400 | Bu sayı çox azdır və ya olumlu sayı eksikdir.İtraflar üçün bir neçə dəfə getCountries. |
BAD_SESSION_DURATION | 400 | Telefon numarası 20 min ərzində təhrif edilir.Düzgün session_duration. |
BAD_REQUEST | 400 | Hökmsüz parametr Idempotency-Key.Lütfen bu taleqınızı düzeltin. |
BAD_SERVICE / BAD_OPERATOR / INVALID_PROVIDER | 200 | Bilinmeyen və ya işsizdir.API katalogları yenilə bilər. |
BAD_NUMBER | 200 | Şifrin düzgün formatı.Bu sayı sayıları sayılarda göstərin. |
BAD_ACTION / BAD_STATUS | 200 | İnanılmaz komand, ID və ya işləyir.Qəzaqlar üçün baxın. |
EMPTY_POOL | 200 | Telefon numarası şu anda heç bir şey yoxdur.10-30 saniye sonra və ya filtreyi dəyişdir. |
NUMBER_IN_USE | 200 | Bir neçə sayı aktiv bir seansla işləyir.Sizin oturumunu bitir və ya bir sayı seçin. |
NO_ACTIVATION | 200 | Sesi və əvvəlki sayı hesabınıza ait deyil.ID və key ilə baxın. |
SESSION_CLOSED / SMS_REQUIRED | 200 | Devletin qapıları şu an hazır deyil.SMS-in qalıblığı və qalıblığı ilə görüşür. |
SCOPE_BLOCKED | 200 | Həkim, dövlət və ya müştərinin bu işləvi üçün yetkilidir.API-nin qapı ilə bağlı problemlər güncəliləcək. |
IDEMPOTENCY_CONFLICT | 200 | Bu sual açar artıq başqa parametrləri ilə əlaqəlidir.Yeni əməliyyat üçün başqa yarat Idempotency-Key. |
BAD_REF / SELF_REF | 400 | Software kodu bilinməz, bozulmuşdur və ya istifadəçinin özüne aitdir.Yazılım sahibinin kodu ilə bağlıdır. |
INTERNAL_ERROR | 500 | Soruşturma və satıcı hatasıGecikmə və eyni olaraq təkrarla Idempotency-Key. |
ALLOCATION_PENDING | 200 | Sayı böyüklüyü onsuzda başa düşür. Eynilə yenidən keçir Idempotency-Key.Sayı böyüklüyü onsuzda başa düşür. Eynilə yenidən keçir Idempotency-Key. |
ALLOCATION_UNCERTAIN | 200 | İkinci sayıdan istifadə etmə üçün automatik geri çekilmə yetirilmə bilər.İkinci sayıdan istifadə etmə üçün automatik geri çekilmə yetirilmə bilər. |
REST bir objekti qayıtır {"error":{"code":"…","message":"…"}} və müəyyən HTTP Vəziyyətlər 400/401/403/404/409/503.
{
"error": {
"code": "BAD_REQUEST",
"message": "İsteyilik alanlarını gözləyin.",
"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.Yeni bütünleşmə üçün
USD tarifin miktarları 8 decimal yerlə tam decimal çubuk olarak qaytarılır: 0.00300000 USD.
Balonun valutası USDİstey və Cevaplama Şəmlər OpenAPI.
/api/v1/catalogXidmətlər və ölkələr/api/v1/tariffsSMS-in dövlətin təhrifləri/api/v1/offersTarif və mükafatlar/api/v1/servicesDirektor/api/v1/countriesDirektor/api/v1/operatorsDirektor/api/v1/availability?country=1Dostluq sayıları/api/v1/activationsYeni Sesi/api/v1/activations/batch?ids=42,43Bir neçə nömrəni yoxla/api/v1/activationsSon 200 dəfə: Sığınma = Tarih, Sığınma və ya bütün/api/v1/activations/{id}Sesi və mesajları/api/v1/activations/{id}/sms?after_id=0&limit=100Yeni SMS-lər kursorla/api/v1/activations/{id}/retrySMS-ə baxmaq/api/v1/activations/{id}/finishtamamlayış/api/v1/activations/{id}/cancelİptal/api/v1/activations/repeatRəsmi sayı/api/v1/keysAPI Keylər/api/v1/keysKey yaratmaq/api/v1/keys/{id}İsim və politikası dəyişdir/api/v1/keys/{id}Key qayıtmaq/api/v1/referralsReferral Code və İndirimlər/api/v1/summarybilan və bilan/api/v1/balanceGözləmədə/api/v1/ledgerLiderlik faizləri/api/v1/withdrawalsPaylaşım İsteyileri/api/v1/withdrawalsBir taleq yaratır/api/v1/statisticsBütün statistika/api/v1/earnings/holdsQazancın gözləmə müddətiYeni SMS-lər üçün istifadə
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": "Kod: 001234",
"sender": "Service",
"received_at": "2026-10-09T12:00:00Z"
}
],
"next_cursor": 101,
"has_more": false
}Qeyd Et next_cursor Və onu əvəz et . after_id. İşlə has_more=trueNövbəti səhifə dərhal oxuna bilər. 1–200İclas və SMS yalnız sahibi üçün mövcuddur.