API مستندات
با یک درخواست شروع کنید
یک کلید API را در صفحه کلید خود ایجاد کنید، یک شماره دریافت کنید و هر 10 ثانیه برای پیام ها چک کنید پرداخت زمانی اعتبار داده می شود که یک SMS با یک کد به آن می رسد؛ خواندن آن دوباره بر تعادل شما تاثیر نمی گذارد.
https://smscash.org/api/v1https://smscash.org/stubs/handler_api.phpcurl --get 'https://smscash.org/stubs/handler_api.php' \
--data-urlencode 'api_key=YOUR_API_KEY' \
--data-urlencode 'action=getNumber' \
--data-urlencode 'service=go' \
--data-urlencode 'country=86'آدرس رابط سازگار جایگزین: /handler_api.php. ادغام های موجود REST همچنان در حال کار است.
سازنده درخواست
https://smscash.org/stubs/handler_api.phpcurl --max-time 15 --fail-with-body 'https://smscash.org/stubs/handler_api.php?action=getNumber&api_key=YOUR_API_KEY&service=go&country=86&with_operator=1'package main
import (
"fmt"
"io"
"net/http"
"net/url"
"os"
"time"
)
func main() {
endpoint, err := url.Parse("https://smscash.org/stubs/handler_api.php?action=getNumber&api_key=YOUR_API_KEY&service=go&country=86&with_operator=1")
if err != nil { panic(err) }
query := endpoint.Query()
query.Set("api_key", os.Getenv("SMSCASH_API_KEY"))
endpoint.RawQuery = query.Encode()
req, err := http.NewRequest("GET", endpoint.String(), nil)
if err != nil { panic(err) }
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) }
defer res.Body.Close()
body, err := io.ReadAll(res.Body)
if err != nil { panic(err) }
fmt.Println(res.StatusCode, string(body))
}// Node.js 18+: set SMSCASH_API_KEY in your environment.
const url = new URL("https://smscash.org/stubs/handler_api.php?action=getNumber&api_key=YOUR_API_KEY&service=go&country=86&with_operator=1");
url.searchParams.set("api_key", process.env.SMSCASH_API_KEY);
const response = await fetch(url, {
method: 'GET',
signal: AbortSignal.timeout(15000),
redirect: 'error',
});
const result = await response.text();
console.log(response.status, result);
// SMS codes are strings: keep leading zeros. Never repeat issuance automatically.import json
import os
import urllib.error
import urllib.parse
import urllib.request
class NoRedirect(urllib.request.HTTPRedirectHandler):
def redirect_request(self, req, fp, code, msg, headers, newurl):
return None
url = "https://smscash.org/stubs/handler_api.php?action=getNumber&api_key=YOUR_API_KEY&service=go&country=86&with_operator=1"
parts = urllib.parse.urlsplit(url)
params = dict(urllib.parse.parse_qsl(parts.query))
params["api_key"] = os.environ["SMSCASH_API_KEY"]
url = urllib.parse.urlunsplit(parts._replace(query=urllib.parse.urlencode(params)))
request = urllib.request.Request(url, method='GET')
try:
with urllib.request.build_opener(NoRedirect).open(request, timeout=15) as response:
result = response.read().decode("utf-8")
print(response.status, result)
except urllib.error.HTTPError as error:
print(error.code, error.read().decode('utf-8'))
raise
# No automatic retries; SMS codes remain strings.کلید ذخیره نمیشود. این بررسی شمارهای اختصاص نمیدهد.
باقی مانده برای ادغام جدید
سرویسها و کشورها
انتخاب یک سرویس و کشور. پرداخت از طریق SMS بستگی به کشور دارد.
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)
یک عدد دریافت کنید
GET /stubs/handler_api.php?action=getNumber&api_key=YOUR_API_KEY&service=go&country=86انتخاب خودکار: یک اپراتور در دسترس بهصورت تصادفی.
ACCESS_NUMBER: session ID · phone number
service + country · session_duration: 20
ref: software owner code (optional)
operator: public ID (e.g. 1) or comma-separated IDs (e.g. "1,3")
optional · omitted/any/0: random eligible provider
country: integer · service: string · SMS code: stringاین شماره برای 20 دقیقه معتبر است.SMS هر 10 ثانیه بررسی می شود.شما می توانید بلافاصله لغو کنید.
بررسی چند شماره
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": 10
}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موجودی · در انتظار آزادسازی
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 — در دسترس; held_balance — در انتظار آزادسازی. USD · 8
فقط مبالغی که دوره انتظار آنها پایان یافته قابل برداشت هستند.
کلاینتهای آماده
import {SmScash, SmScashError} from './smscash.mjs';
const api = new SmScash(process.env.SMSCASH_API_KEY);
const catalog = await api.catalog({service: 'go', country: 86});
console.log(catalog.rows);
const messages = await api.sms(42, {afterId: 0});
console.log(messages.sms);
const statuses = await api.batch([42]);
const held = await api.holdBalance();
console.log(held); // Exact USD stringimport os
from smscash import SmScash, SmScashError
api = SmScash(os.environ['SMSCASH_API_KEY'])
catalog = api.catalog(service='go', country=86)
print(catalog['rows'])
messages = api.sms(42, after_id=0)
print(messages['sms'])
statuses = api.batch([42])
held = api.hold_balance()
print(held) # Exact USD stringme() · balance() · holdBalance()/hold_balance() · catalog() · activation() · sms() · batch()
setStatus(id, "cancel") / set_status(id, "cancel")
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کلید API شخصی کاربر.
انتخاب یک سرویس و کشور. پرداخت از طریق SMS بستگی به کشور دارد.
| کد | توصیف |
|---|---|
getNumber / getNumberV2 | یک عدد دریافت کنید |
getStatus / getStatusV2 | آخرین کد را دریافت کنید |
setStatus / finishActivation / cancelActivation | مدیریت جلسه |
getPrices / getNumbersStatus | بررسی در دسترس بودن |
getRewards (SMScash) | پاداش برای SMS |
getServicesList / getServices | سرویسها |
getCountries / getOperators | سرویسها و کشورها |
getActiveActivations | جلسات |
getBalance | موجودی کاربر |
getHoldBalance (SMScash) | در انتظار آزادسازی |
cost = 0 USD · activationCost = 0 USDreward — پاداش برای SMS
curl --get 'https://smscash.org/hero-sms/stubs/handler_api.php' \
--data-urlencode 'api_key=YOUR_API_KEY' \
--data-urlencode 'action=getNumberV2' \
--data-urlencode 'service=go' \
--data-urlencode 'country=86'{
"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, e.g. 1,3); 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.
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.این شماره برای 20 دقیقه معتبر است.SMS هر 10 ثانیه بررسی می شود.شما می توانید بلافاصله لغو کنید.
تصدیق و بازنشستگی
REST: سرگام Authorization: Bearer YOUR_API_KEY. رابط کاربری سازگار : پارامترها api_key و actionاستفاده از HTTPS
برای مدیریت کلیدهای API، حساب خود را وارد کنید.
فرکانس درخواست API و تعداد شماره تلفن نامحدود است.هیچ نرخ روزانه یا ساعت وجود ندارد.
این شماره برای 20 دقیقه معتبر است.SMS هر 10 ثانیه بررسی می شود.شما می توانید بلافاصله لغو کنید.
API کلید
شما می توانید یک کلید را به خدمات خاص، کشورها و ارائه دهندگان محدود کنید لیست های خالی اجازه می دهد تا تمام گزینه های موجود را داشته باشید.
{
"label": "نرم افزار من",
"policy": {
"services": [
"go"
],
"countries": [
86
],
"providers": [
1
]
}
}PATCH /api/v1/keys/{id} نام و سیاست را به طور کامل تغییر دهید.سرگذشت تنها زمانی آشکار می شود که ایجاد شده است.
10% در مجموع . 5% + 5% با کد نرم افزار
در صورت ارسال شماره، لطفاً ref مالک نرم افزار. درخواست توسط کلید اجرایی مجاز است. کد در بخش "مراجعات" و در GET /api/v1/referrals → software_ref.
| درخواست | دعوت کننده | نرم افزار |
|---|---|---|
| بدون رفیق | 10% | — |
| با ref | 5% | 5% |
| با ref، بدون ارجاع | — | 5% |
پلتفرم پاداش را بدون کاهش درآمد کاربر پرداخت می کند. مالک نرم افزار و ارجاع دهنده می توانند همان فرد باشند. کاربر نمی تواند از کد خود استفاده کند.
زمان تعیین شده زمانی که یک جلسه ایجاد می شود؛ خواندن SMS و retry تغییر نکنید، تغییر نکنید ref در محاسبه نرخ بهره، یک کاربر پاداش می دهد. USD 0.003 داده می شود USD 0.00015 هر کدام به مالک نرم افزار و ارجاع دهنده.مجموع پاداش USD 0.00030.
API فرماندهی
11 روش های سبک XVBC به علاوه تعادل SMScash شما.
GETgetNumberیک عدد دریافت کنید+
برای کاربر یک جلسه ایجاد می کند و یک شماره در دسترس را ذخیره می کند. نرخ پاداش و دریافت کنندگان ارجاع در توزیع تعیین می شود؛ پاداش در هنگام ورود یک SMS با کد اعتبار داده می شود.
پارامترها
| پارامتر | نوع | توصیف |
|---|---|---|
api_key* | string | کلید API شخصی کاربر. |
service* | string | کد های سرویس در دسترس است پاسخ محدود به منطقه کلید API است. |
country* | integer | بگیرید ID از getCountries. |
operator | string | Возьмите ID из operators/getOperators (API). ID поставщиков, через запятую: operator=1,3. operator=1 · operator=1,3 · any/0 |
session_duration | integer | مدت زمان این جلسه 20 دقیقه است. 20 را عبور کنید یا این پارامتر را نادیده بگیرید. |
with_operator | integer | 1 شناسه اپراتور را به پاسخ اضافه میکند؛ 0 یا نبود پارامتر، سه بخش برمیگرداند. |
ref | string | Публичный код владельца софта: 5% ему и 5% пригласившему. Без ref — 10% пригласившему. Неизвестный, отключённый, некорректный или собственный ref игнорируется: запрос продолжается без бонуса владельцу софта. Действующие коды и прежние условия уже выданных сессий сохраняются. |
* پارامتر مورد نیاز.در تمام درخواست ها نیز عمل =getNumber را انجام دهید.
درخواست نمونه
curl 'https://smscash.org/stubs/handler_api.php?action=getNumber&api_key=YOUR_API_KEY&service=go&country=86&with_operator=1'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) }
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");
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",
timeout=15,
)
print(response.status_code, response.text)پاسخ ها
ACCESS_NUMBER:42:380670000000:1EMPTY_POOL- انتخاب خودکار: یک اپراتور در دسترس بهصورت تصادفی.
- یک کشور عددی بدون یک استخر EMPTY_POOL را می دهد؛ فرمت کشور اشتباه BAD_COUNTRY است.
- کلید یک جلسه حذف شده همچنان مورد استفاده قرار می گیرد: بازنویسی توزیع با آن کلید SESSION_CLOSED را باز می گرداند و شماره دیگری را منتشر نمی کند.
- نتایج توزیع تایید نشده است.تخلیه اتوماتیک غیرفعال است تا از توزیع شماره دوم اجتناب شود.
GETgetNumbersStatusبررسی در دسترس بودن+
شماره تلفن در دسترس با توجه به خدمات و کشور
پارامترها
| پارامتر | نوع | توصیف |
|---|---|---|
api_key* | string | کلید API شخصی کاربر. |
country* | integer | بگیرید ID از getCountries. |
* پارامتر مورد نیاز.در تمام درخواست ها نیز عمل =getNumbersStatus را انجام دهید.
درخواست نمونه
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())پاسخ ها
{
"go_0": 0
}- _0 suffix به معنای انتخاب بدون یک اپراتور خاص است.
- در دسترس بودن به کل استخر تامین کننده اشاره دارد کانال انتخاب شده در هنگام توزیع یک عدد بررسی می شود.
GETgetStatusآخرین کد را دریافت کنید+
درخواست آسان برای وضعیت جلسه و آخرین کد SMS.زروک های اصلی در کد حفظ می شود.
پارامترها
| پارامتر | نوع | توصیف |
|---|---|---|
api_key* | string | کلید API شخصی کاربر. |
id* | integer | شناسه جلسه شما، دریافت شده در زمان صدور شماره. |
* پارامتر مورد نیاز.در تمام درخواست ها نیز عمل =getStatus را انجام دهید.
درخواست نمونه
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)پاسخ ها
STATUS_WAIT_CODESTATUS_OK:001234STATUS_CANCELNO_ACTIVATION- هر 20 ثانیه یک پیام را دوباره بخوانید، پرداخت دیگری ایجاد نمی کند.
- بعد از retry کد قدیمی بازگردانده نمی شود: getStatus منتظر بعدی SMS.
- پس از تعداد بدون SMS حذف شده است، getStatus و getSms بازگشت STATUS_CANCEL; getSmsFull بازگشت وضعیت بسته، یک تلفن خالی و یک تلفن خالی sms لیست REST /activations/{id} و /sms بازگشت 404 NO_ACTIVATION.
GETsetStatusمدیریت جلسه+
پایان می یابد، لغو می شود یا منتظر SMS است.
پارامترها
| پارامتر | نوع | توصیف |
|---|---|---|
api_key* | string | کلید API شخصی کاربر. |
id* | integer | شناسه جلسه شما، دریافت شده در زمان صدور شماره. |
status* | integer | 3 - منتظر کد بعدی بدون تمدید جلسه؛ 6 - پایان پس از SMS؛ 8 - بلافاصله لغو. |
* پارامتر مورد نیاز.در تمام درخواست ها نیز عمل =setStatus را انجام دهید.
درخواست نمونه
curl 'https://smscash.org/stubs/handler_api.php?action=setStatus&api_key=YOUR_API_KEY&id=42&status=3'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) }
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");
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",
timeout=15,
)
print(response.status_code, response.text)پاسخ ها
ACCESS_RETRY_GETACCESS_ACTIVATIONACCESS_CANCEL- بازگشت برای کد بعدی در 20 دقیقه اصلی منتظر است.
- این انحلال پاداش هایی را که قبلاً به دست آورده اند حذف نمی کند.
- فقط اعداد با کد SMS در تاریخ نگهداری می شوند اعداد لغو شده و بدون کد حذف می شوند.
GETgetRepeatNumberهمان عدد را دوباره اضافه کنید+
یک جلسه جدید با یک شماره خاص از تاریخچه خود را باز کنید.شما می توانید یک سرویس دیگر در دسترس در همان کشور را انتخاب کنید.
پارامترها
| پارامتر | نوع | توصیف |
|---|---|---|
api_key* | string | کلید API شخصی کاربر. |
number* | string | فقط اعداد و یک رهبر + اختیاری مجاز است. |
service* | string | کد های سرویس در دسترس است پاسخ محدود به منطقه کلید API است. |
session_duration | integer | مدت زمان این جلسه 20 دقیقه است. 20 را عبور کنید یا این پارامتر را نادیده بگیرید. |
with_operator | integer | 1 شناسه اپراتور را به پاسخ اضافه میکند؛ 0 یا نبود پارامتر، سه بخش برمیگرداند. |
ref | string | Публичный код владельца софта: 5% ему и 5% пригласившему. Без ref — 10% пригласившему. Неизвестный, отключённый, некорректный или собственный ref игнорируется: запрос продолжается без бонуса владельцу софта. Действующие коды и прежние условия уже выданных сессий сохраняются. |
operator | string | Возьмите ID из operators/getOperators (API). ID поставщиков, через запятую: operator=1,3. operator=1 · operator=1,3 · any/0 |
* پارامتر مورد نیاز.در تمام درخواست ها نیز عمل =getRepeatNumber را انجام دهید.
درخواست نمونه
curl 'https://smscash.org/stubs/handler_api.php?action=getRepeatNumber&api_key=YOUR_API_KEY&number=380670000000&service=go'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) }
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");
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",
timeout=15,
)
print(response.status_code, response.text)پاسخ ها
ACCESS_NUMBER:43:380670000000NUMBER_IN_USE- اول، جلسه فعلی خود را به پایان برسانید یا آن را لغو کنید.اگر تعداد شلوغ باشد، بازگرداندن انجام نمی شود.
- جلسه جدید یک شناسه جدید و قیمت فعلی دریافت می کند.SMS قدیمی کپی نمی شود. ref دوباره تنظیم می شود.
- SMScash اجازه می دهد تا فقط اعداد از تاریخچه این حساب را تکرار کنید.
- کلید یک جلسه حذف شده همچنان مورد استفاده قرار می گیرد: بازنویسی توزیع با آن کلید SESSION_CLOSED را باز می گرداند و شماره دیگری را منتشر نمی کند.
GETgetSmsFullدریافت کنید SMS به عنوان JSON+
تاریخچه ساختار تمام پیام ها با شناسه، فرستنده، کد، متن و کشور، خدمات و داده های تامین کننده.
پارامترها
| پارامتر | نوع | توصیف |
|---|---|---|
api_key* | string | کلید API شخصی کاربر. |
id* | integer | شناسه جلسه شما، دریافت شده در زمان صدور شماره. |
* پارامتر مورد نیاز.در تمام درخواست ها نیز عمل =getSmsFull را انجام دهید.
درخواست نمونه
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())پاسخ ها
{
"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": "operator=1"
}
}
],
"expires_at": "2026-10-09T12:20:00Z"
}- به یاد داشته باشید که SMS[].id برای پردازش پیام های جدید فقط.
- وضعیت عددی SMScash: 1 - فعال، 6 - تکمیل شده، 8 - لغو یا به پایان رسیده است. status_name تفاوت بین انتظار، دریافت، تکمیل، لغو، به پایان رسیده است.
- کد های دریافت شده پس از یک جلسه بسته باقی می ماند.برای حجم های بزرگ، از REST /activations/{id}/sms با after_id استفاده کنید.
- پس از تعداد بدون SMS حذف شده است، getStatus و getSms بازگشت STATUS_CANCEL; getSmsFull بازگشت وضعیت بسته، یک تلفن خالی و یک تلفن خالی sms لیست REST /activations/{id} و /sms بازگشت 404 NO_ACTIVATION.
GETgetSmsدریافت SMS به عنوان یک خط متن+
تاریخچه SMS را در قالب نوار برای مشتریان موجود بازگردانید.
پارامترها
| پارامتر | نوع | توصیف |
|---|---|---|
api_key* | string | کلید API شخصی کاربر. |
id* | integer | شناسه جلسه شما، دریافت شده در زمان صدور شماره. |
* پارامتر مورد نیاز.در تمام درخواست ها نیز عمل =getSms را انجام دهید.
درخواست نمونه
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)پاسخ ها
STATUS_OK:2026-10-09T12:00:00Z|001234|Код подтверждения: 001234STATUS_WAIT_CODESTATUS_CANCEL- فرمت پیام: زمان و کد و متن متن. چند پیام توسط یک ستون جدا می شود.
- SMS متن خود ممکن است حاوی ستون ها و نوارها باشد.برای پارسینگ قابل اعتماد، از getSmsFull استفاده کنید.
GETgetServicesسرویسها+
کد های سرویس در دسترس است پاسخ محدود به منطقه کلید API است.
دایرکتوری
انتشار…
| نام | کد خدمات service |
|---|
دایرکتوری خدمات در سراسر تامین کننده به اشتراک گذاشته می شود.در دسترس بودن شماره به صورت جداگانه بررسی می شود.
شما می توانید یک کلید را به خدمات خاص، کشورها و ارائه دهندگان محدود کنید لیست های خالی اجازه می دهد تا تمام گزینه های موجود را داشته باشید.
پارامترها
| پارامتر | نوع | توصیف |
|---|---|---|
api_key* | string | کلید API شخصی کاربر. |
country | integer | بگیرید ID از getCountries. |
* پارامتر مورد نیاز.در تمام درخواست ها نیز عمل =getServices را انجام دهید.
درخواست نمونه
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())پاسخ ها
{
"go": {
"name": "Google",
"code": "go"
}
}- دایرکتوری خدمات در سراسر تامین کننده به اشتراک گذاشته می شود.در دسترس بودن شماره به صورت جداگانه بررسی می شود.
GETgetCountriesکشورها+
شناسه ها، نام ها و کدهای تماس برای کشورها در کانال انتخاب شده.
دایرکتوری
انتشار…
| نام | ID کشور country |
|---|
شما می توانید یک کلید را به خدمات خاص، کشورها و ارائه دهندگان محدود کنید لیست های خالی اجازه می دهد تا تمام گزینه های موجود را داشته باشید.
پارامترها
| پارامتر | نوع | توصیف |
|---|---|---|
api_key* | string | کلید API شخصی کاربر. |
* پارامتر مورد نیاز.در تمام درخواست ها نیز عمل =getCountries را انجام دهید.
درخواست نمونه
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())پاسخ ها
{
"86": {
"id": 86,
"name": "Italy",
"phone_code": "39"
}
}GETgetOperatorsاپراتورها+
اپراتورهای موجود: شناسه API، نام و مدت نگهداری پاداش.
پارامترها
| پارامتر | نوع | توصیف |
|---|---|---|
api_key* | string | کلید API شخصی کاربر. |
country | integer | بگیرید ID از getCountries. |
operator | string | Возьмите ID из operators/getOperators (API). ID поставщиков, через запятую: operator=1,3. operator=1 · operator=1,3 · any/0 |
* پارامتر مورد نیاز.در تمام درخواست ها نیز عمل =getOperators را انجام دهید.
درخواست نمونه
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())پاسخ ها
{
"1": {
"id": 1,
"provider_id": 1,
"operator": 1,
"name": "operator=1",
"earnings_hold_days": 45
}
}- Возьмите ID из operators/getOperators (API). ID поставщиков, через запятую: operator=1,3.
GETgetRewardsپاداش برای SMS+
قیمت ها به کشور بستگی دارد.همه مبلغ میز برای SMS پرداخت می شود.
پارامترها
| پارامتر | نوع | توصیف |
|---|---|---|
api_key* | string | کلید API شخصی کاربر. |
country | integer | بگیرید ID از getCountries. |
service | string | کد های سرویس در دسترس است پاسخ محدود به منطقه کلید API است. |
operator | string | Возьмите ID из operators/getOperators (API). ID поставщиков, через запятую: operator=1,3. operator=1 · operator=1,3 · any/0 |
* پارامتر مورد نیاز.در تمام درخواست ها نیز عمل =getRewards را انجام دهید.
درخواست نمونه
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())پاسخ ها
{
"59": {
"vi": {
"1": "0.01000000",
"3": "0.00500000"
}
}
}{}- USD مبلغ مالیاتی به صورت دهم دقیق با 8 دوازدهمین مکان :
- امکان دسترسی به کلیدهای شما
- country ID → service code → operator ID → reward (USD)
GETgetTopCountriesByServiceТоп стран по сервису+
До 10 стран с лучшей доставкой смс кодов за последние 24 часа
پارامترها
| پارامتر | نوع | توصیف |
|---|---|---|
api_key* | string | کلید API شخصی کاربر. |
service* | string | Код сервиса из getServices. |
* پارامتر مورد نیاز.در تمام درخواست ها نیز عمل =getTopCountriesByService را انجام دهید.
درخواست نمونه
curl 'https://smscash.org/stubs/handler_api.php?action=getTopCountriesByService&api_key=YOUR_API_KEY&service=go'package main
import (
"fmt"
"io"
"net/http"
"time"
)
func main() {
req, err := http.NewRequest("GET", "https://smscash.org/stubs/handler_api.php?action=getTopCountriesByService&api_key=YOUR_API_KEY&service=go", 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=getTopCountriesByService&api_key=YOUR_API_KEY&service=go");
const result = await response.json();
console.log(response.status, result);import requests
response = requests.get(
"https://smscash.org/stubs/handler_api.php?action=getTopCountriesByService&api_key=YOUR_API_KEY&service=go",
timeout=15,
)
print(response.status_code, response.json())پاسخ ها
Структура ответа
| Ключ в примере | توصیف | دایرکتوری |
|---|---|---|
["12"], ["36"] | ID کشور Первый, внешний уровень JSON. Каждая запись объединяет операторов одной страны. | getCountries |
["12"]["1"], ["12"]["3"] | ID оператора Второй уровень JSON, внутри страны. Это публичный ID оператора (поставщика), который передаётся в параметре operator. | getOperators |
{
"12": {
"1": {
"reward": 0.012,
"count": 542
},
"3": {
"reward": 0.014,
"count": 301
}
},
"36": {
"1": {
"reward": 0.011,
"count": 190
}
}
}{}- В примере ["12"]["1"] — данные оператора 1 в стране 12. ID стран берутся из getCountries, ID операторов — из getOperators.
- reward — действующее личное вознаграждение в USD, JSON-число. count — количество выданных номеров за последние 24 часа, включая сессии без кода.
- Рейтинг рассчитывается как все полученные непустые коды, делённые на все выдачи номеров за последние 24 часа для выбранного сервиса.
- Повторные непустые коды увеличивают числитель; конверсия может превышать 100%. Начальные нули сохраняются.
- Суточная статистика сервиса кэшируется на 10 минут. Тарифы и ограничения ключа проверяются при каждом запросе. Момент среза — в заголовке X-Statistics-As-Of.
- Нет данных или доступных связок — пустой объект {}. Страны с выдачами и нулём кодов имеют нулевую конверсию. Порядок ключей JSON не задаёт места в рейтинге.
GETgetBalanceموجودی کاربر+
اضافه SMScash: تعادل در دسترس با توجه به انحرافات، پاداش های ارجاع و درخواست های پرداخت.
پارامترها
| پارامتر | نوع | توصیف |
|---|---|---|
api_key* | string | کلید API شخصی کاربر. |
* پارامتر مورد نیاز.در تمام درخواست ها نیز عمل =getBalance را انجام دهید.
درخواست نمونه
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)پاسخ ها
ACCESS_BALANCE:0.00- getBalance تعادل USD را با 8 دسیامتر باز می گرداند.
- فقط مبالغی که دوره انتظار آنها پایان یافته قابل برداشت هستند.
GETgetHoldBalanceدر انتظار آزادسازی+
پس از دریافت SMS، درآمد برای مدت تعیینشده توسط تأمینکننده مسدود میماند. در تاریخ مشخصشده، مبلغ بهطور خودکار برای برداشت در دسترس قرار میگیرد.
پارامترها
| پارامتر | نوع | توصیف |
|---|---|---|
api_key* | string | کلید API شخصی کاربر. |
* پارامتر مورد نیاز.در تمام درخواست ها نیز عمل =getHoldBalance را انجام دهید.
درخواست نمونه
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)پاسخ ها
ACCESS_HOLD_BALANCE:34.50000001- SMScash · getHoldBalance · USD · 8
- فقط مبالغی که دوره انتظار آنها پایان یافته قابل برداشت هستند.
کد پاسخ و درخواست های تکراری
اندرون handler_api.محصولات کارها ظاهر میشود HTTP 200. نصیحت بدن را تفحص کنید. فلکرهها و getSmsFull بازگشت JSON اگر کامل باشد؛ خطایای دائم نصیحت است.
| کد | HTTP | علت و گام بعدی |
|---|---|---|
TARIFF_NOT_CONFIGURED | 200 | نرخ ها هنوز تعیین نشده استتوزیع شماره ها پس از تنظیم پاداش های SMS آغاز می شود. |
COUNTRY_BLOCKED | 200 | تعداد اعطای برای این کشور مسدود شده است.کشور دیگری را انتخاب کنید. |
BAD_SERVICE | 200 | شماره توزیع برای این سرویس مسدود شده است.یک سرویس دیگر را انتخاب کنید. |
PROVIDER_NOT_READY | 200 | تعداد محاسبه به طور موقت در دسترس نیستکاتالوگ های API را باز کنید. |
BAD_KEY | 400 | نه api_key یا فونطاله ناقص.کلید را در درخواست خود بررسی کنید. |
INVALID_API_KEY | 401 | کلید ناشناخته است، لغو شده یا حساب غیرفعال شده است.یک کلید API معتبر ایجاد کنید. |
BAD_COUNTRY | 400 | کشور از دست رفته است یا نه یک عدد مثبت.بگیرید ID از getCountries. |
BAD_SESSION_DURATION | 400 | شماره تلفن ها دقیقاً 20 دقیقه طول می کشد.تصدیق session_duration. |
BAD_REQUEST | 400 | فیلد های درخواست را بررسی کنید.لطفا درخواست خود را اصلاح کنید. |
BAD_SERVICE / BAD_OPERATOR / INVALID_PROVIDER | 200 | ناشناخته یا ناشناخته در دایرکتوریکاتالوگ های API را باز کنید. |
BAD_NUMBER | 200 | فرمت شماره نامناسبشماره را در اعداد بگذارید. |
BAD_ACTION / BAD_STATUS | 200 | دستور، شناسه یا عملیات ناشناختهتنظیمات را بررسی کنید. |
EMPTY_POOL | 200 | در حال حاضر هیچ شماره تلفن مطابقت در دسترس نیست.تکرار بعد از 10-30 ثانیه یا تغییر فیلتر |
NUMBER_IN_USE | 200 | یک عدد خاص توسط یک جلسه فعال اشغال می شود.جلسه خود را به پایان برسانید یا شماره دیگری را انتخاب کنید. |
NO_ACTIVATION | 200 | جلسه یا شماره قبلی متعلق به حساب شما نیست.بررسی ID و کلید |
SESSION_CLOSED / SMS_REQUIRED | 200 | در حال حاضر انتقال دولتی در دسترس نیست.بررسی وضعیت و در دسترس بودن پیام های SMS |
SCOPE_BLOCKED | 200 | سرویس، کشور یا فروشنده برای کلید مجاز نیست.به روز رسانی محدوده کلید API. |
INTERNAL_ERROR | 500 | خطای سرور موقت یا خطای فروشندهتماس و پشتیبانی · X-Request-ID |
ALLOCATION_PENDING | 200 | منتظرgetActiveActivations · getStatus |
ALLOCATION_UNCERTAIN | 200 | نتایج توزیع تایید نشده است.تخلیه اتوماتیک غیرفعال است تا از توزیع شماره دوم اجتناب شود.نتایج توزیع تایید نشده است.تخلیه اتوماتیک غیرفعال است تا از توزیع شماره دوم اجتناب شود. |
بازگرداندن یک شی {"error":{"code":"…","message":"…"}} و عادل HTTP حالات 400/401/403/404/409/503.
{
"error": {
"code": "BAD_REQUEST",
"message": "فیلد های درخواست را بررسی کنید.",
"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.باقی مانده برای ادغام جدید
USD مبلغ مالیاتی به صورت دهم دقیق با 8 دوازدهمین مکان : 0.00300000 USD.
ارز تعادل USD است.مطالعات درخواست و پاسخ در دسترس هستند در OpenAPI.
/api/v1/catalogسرویسها و کشورها/api/v1/tariffsSMS قیمت ها در کشور/api/v1/offersقیمت ها و پاداش ها/api/v1/servicesدایرکتوری/api/v1/countriesدایرکتوری/api/v1/operatorsدایرکتوری/api/v1/availability?country=1تعداد در دسترس/api/v1/activationsجلسه جدید/api/v1/activations/batch?ids=42,43بررسی چند شماره/api/v1/activationsآخرین 200 جلسه: scope=history، انتظار یا همه/api/v1/activations/{id}جلسه و پیام ها/api/v1/activations/{id}/sms?after_id=0&limit=100SMS با Cursor/api/v1/activations/{id}/retryمنتظر SMS/api/v1/activations/{id}/finishتکمیل/api/v1/activations/{id}/cancelلغو/api/v1/activations/repeatشماره بازگشت/api/v1/keysAPI کلیدها/api/v1/keysایجاد کلید/api/v1/keys/{id}تغییر نام یا سیاست/api/v1/keys/{id}کلید ردیابی/api/v1/referralsکد مرجع و درآمد/api/v1/summaryتعادل و خلاصه/api/v1/balanceدر انتظار آزادسازی/api/v1/ledgerسودگام لند/api/v1/withdrawalsدرخواست پرداخت/api/v1/withdrawalsایجاد یک درخواست/api/v1/statisticsآمار کلی/api/v1/earnings/holdsدوره انتظار درآمددریافت فقط SMS جدید
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": "کد : 001234",
"sender": "Service",
"received_at": "2026-10-09T12:00:00Z"
}
],
"next_cursor": 101,
"has_more": false
}نجات next_cursor و آن را به عنوان after_idاگر has_more=trueصفحه بعدی را می توان بلافاصله خواند. limit: 1–200جلسات و SMS این کار فقط برای مالک در دسترس است.