API دستاویزات
اعداد و شمار، پیغامات اور آمدنی، براہ راست آپ کی اپلی کیشن سے.
ایک درخواست کے ساتھ شروع کریں
آپ کے ڈیسک بورڈ میں ایک API کلید بنائیں، ایک نمبر حاصل کریں اور ہر 20 سیکنڈ میں پیغامات کے لئے چیک کریں۔ ادائیگی ایک کوڈ کے ساتھ ایک SMS پہنچنے پر کریڈٹ کی جاتی ہے؛ اسے دوبارہ پڑھنا آپ کے توازن کو متاثر نہیں کرتا۔
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}'مقام موافق اندرکس پتہ: /handler_api.php. موجود REST اکثریت کام کرتے رہتے ہیں ۔
درخواست بنانے کا ٹول
Idempotency-Key: UUID · POST · 8–128
خودکار انتخاب: گزشتہ گھنٹے، پھر ۲۴ گھنٹوں میں سب سے زیادہ کوڈ۔ نمبر دستیاب نہ ہوں تو اگلا آپریٹر۔
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.کلید محفوظ نہیں کی جاتی۔ یہ جانچ نمبر جاری نہیں کرتی۔
نئے انضمام کے لئے باقی
سروسز اور ممالک
ایک سروس اور ملک کا انتخاب کریں۔ 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)
ایک نمبر حاصل کریں
POST /api/v1/activations
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Idempotency-Key: request-unique-001
{
"service": "go",
"country": 86
}خودکار انتخاب: گزشتہ گھنٹے، پھر ۲۴ گھنٹوں میں سب سے زیادہ کوڈ۔ نمبر دستیاب نہ ہوں تو اگلا آپریٹر۔
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نمبر 20 منٹ کے لئے قابل اعتماد ہے.SMS ہر 20 سیکنڈ میں چیک کیا جاتا ہے.آپ فوری طور پر منسوخ کر سکتے ہیں.
کئی نمبروں کی جانچ
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 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';
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صارف کی ذاتی 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' \
-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.نمبر 20 منٹ کے لئے قابل اعتماد ہے.SMS ہر 20 سیکنڈ میں چیک کیا جاتا ہے.آپ فوری طور پر منسوخ کر سکتے ہیں.
تصدیق اور رجوع
REST: ہائیڈر Authorization: Bearer YOUR_API_KEY. مطابقت پذیر انٹرفیس: پارامترز api_key اور actionHTTPS کا استعمال کریں
API کلیدوں کو کنٹرول کرنے کے لئے، اپنے اکاؤنٹ میں داخل کریں.
API درخواست کی فرکانس اور فون نمبر کی تعداد نامحدود ہے. کوئی روزانہ یا گھنٹے کی شرح نہیں ہے.
نمبر 20 منٹ کے لئے قابل اعتماد ہے.SMS ہر 20 سیکنڈ میں چیک کیا جاتا ہے.آپ فوری طور پر منسوخ کر سکتے ہیں.
ایک اور، ایک منفرد Idempotency-Key نمبر تقسیم کے لئے ضروری ہے، تقسیم کی تکرار، ریٹری اور ادائیگی کے مطالبات. یہ اختیاری ہے لیکن handler_api.php میں سفارش کی جاتی ہے. نیٹ ورک کی درخواست کو ریٹرینگ کے وقت کلید کا دوبارہ استعمال کریں؛ ایک نئی آپریشن کے لئے ایک نئی کلید کا استعمال کریں.
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). operator=1 · any/0 |
session_duration | integer | سیشن 20 منٹ تک جاری رہتا ہے. 20 یا اس پیرامیٹر کو چھوڑ دو. |
with_operator | integer | 1 جواب میں آپریٹر ID شامل کرتا ہے؛ 0 یا پیرامیٹر نہ دینے پر تین حصے واپس آتے ہیں۔ |
ref | string | سافٹ ویئر کے مالک کا عوامی کوڈ: 5% اس کے لئے اور 5% زائرین کے لئے، بغیر ref - 10% مہمان کے لئے |
* مطلوبہ پیرامیٹر۔ تمام درخواستوں میں بھی عمل=getNumber پاس کریں۔
مثال کے مطالبے
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)جوابات
ACCESS_NUMBER:42:380670000000:1EMPTY_POOL- خودکار انتخاب: گزشتہ گھنٹے، پھر ۲۴ گھنٹوں میں سب سے زیادہ کوڈ۔ نمبر دستیاب نہ ہوں تو اگلا آپریٹر۔
- قطع Idempotency-Key: ایک ہی کلید کے ساتھ درخواست پچھلی سیشن کو لوٹا دیتا ہے. پرامیٹر کو تبدیلی کرتے ہیں IDEMPOTENCY_CONFLICT.
- ایک پونس کے بغیر ایک اعداد و شمار ملک 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 | آپ کی سیشن کا ID، جب نمبر جاری کیا گیا تھا تو حاصل کیا گیا تھا. |
* مطلوبہ پیرامیٹر۔ تمام درخواستوں میں بھی عمل=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 ایک پیغام دوبارہ پڑھنا ایک اور ادائیگی پیدا نہیں کرتا.
- واپس لینے کے بعد پرانے کوڈ واپس نہیں کیا جاتا ہے: getStatus اگلے SMS کے لئے انتظار کرتا ہے.
- ایک تعداد کے بغیر SMS ہٹا دیا گیا ہے، getStatus اور getSms واپس آنا STATUS_CANCEL; getSmsFull بند حالت، خالی فون اور خالی فون واپس آتا ہے sms فہرست ہے REST /activations/{id} اور /sms واپس آنا 404 NO_ACTIVATION.
GETsetStatusسیکشن کا انتظام+
ختم ہو جاتا ہے، منسوخ یا دوبارہ منتظر SMS.
پیرامیٹرز
| پارامٹر | قسم کے | بیانات |
|---|---|---|
api_key* | string | صارف کی ذاتی API کلید۔ |
id* | integer | آپ کی سیشن کا ID، جب نمبر جاری کیا گیا تھا تو حاصل کیا گیا تھا. |
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' \
-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)جوابات
ACCESS_RETRY_GETACCESS_ACTIVATIONACCESS_CANCEL- رجوع اگلے کوڈ کے لئے انتظار 20 منٹ کے اندر اندر اصل.
- Status=3 کے لئے استعمال کریں Idempotency-Key: درخواست کی تکرار پہلے سے ہی حاصل کردہ نئے کوڈ کو دوبارہ نہیں بناتا۔ SMS کی تاریخ دستیاب ہے۔
- انکوائری پہلے سے ہی حاصل کردہ اجر کو ہٹا نہیں دیتا.
- صرف ایک SMS کوڈ کے ساتھ اعداد و شمار تاریخ میں رکھا جاتا ہے. ایک کوڈ کے بغیر منسوخ اور ختم اعداد و شمار حذف کیا جاتا ہے.
GETgetRepeatNumberایک بار پھر اسی رقم کو نکالیں+
آپ کی تاریخ سے ایک مخصوص نمبر کے ساتھ ایک نئی سیشن کھولیں۔ آپ ایک ہی ملک میں ایک اور دستیاب سروس منتخب کرسکتے ہیں۔
پیرامیٹرز
| پارامٹر | قسم کے | بیانات |
|---|---|---|
api_key* | string | صارف کی ذاتی API کلید۔ |
number* | string | آپ کا پرانے نمبر. صرف اعداد و شمار اور ایک اختیاری رہنما + کی اجازت دی جاتی ہے. |
service* | string | دستیاب سروس کوڈز۔ جواب API کلید کے علاقے تک محدود ہے۔ |
session_duration | integer | سیشن 20 منٹ تک جاری رہتا ہے. 20 یا اس پیرامیٹر کو چھوڑ دو. |
with_operator | integer | 1 جواب میں آپریٹر ID شامل کرتا ہے؛ 0 یا پیرامیٹر نہ دینے پر تین حصے واپس آتے ہیں۔ |
ref | string | سافٹ ویئر کے مالک کا عوامی کوڈ: 5% اس کے لئے اور 5% زائرین کے لئے، بغیر ref - 10% مہمان کے لئے |
operator | string | لے ID اس سے operators/getOperators (API). operator=1 · any/0 |
* مطلوبہ پیرامیٹر۔ تمام درخواستوں میں بھی عمل=getRepeatNumber پاس کریں۔
مثال کے مطالبے
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)جوابات
ACCESS_NUMBER:43:380670000000NUMBER_IN_USE- سب سے پہلے، آپ کے موجودہ سیشن کو ختم کریں یا منسوخ کریں۔ اگر نمبر پر مشغول ہے تو، دوبارہ نکالنے کا عمل نہیں کیا جاتا ہے۔
- نئے سیشن کو ایک نیا ID اور موجودہ ٹیکس ملتا ہے. پرانے SMS اس میں کاپی نہیں کیا جاتا ہے. ref دوبارہ مقرر کیا جاتا ہے.
- SMScash اس اکاؤنٹ کی تاریخ سے صرف اعداد و شمار کی تکرار کی اجازت دیتا ہے.
- حذف شدہ سیشن کا کلید استعمال کیا جاتا ہے: اس کلید کے ساتھ تقسیم کو دوبارہ ادا کرنے سے SESSION_CLOSED واپس آتا ہے اور کوئی اور نمبر جاری نہیں کرتا.
GETgetSmsFullSMS کے طور پر JSON حاصل کریں+
تمام پیغامات کی ساختی تاریخ، ID، بھیجنے، کوڈ، متن اور ملک، سروس اور سپلائر کے اعداد و شمار کے ساتھ.
پیرامیٹرز
| پارامٹر | قسم کے | بیانات |
|---|---|---|
api_key* | string | صارف کی ذاتی API کلید۔ |
id* | integer | آپ کی سیشن کا ID، جب نمبر جاری کیا گیا تھا تو حاصل کیا گیا تھا. |
* مطلوبہ پیرامیٹر۔ تمام درخواستوں میں بھی عمل=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": "Оператор 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.
GETgetSmsSMS ایک متن سٹینڈر کے طور پر حاصل کریں+
موجودہ گاہکوں کے لئے سٹار فارمیٹ میں پورے SMS تاریخ کو واپس کرتا ہے.
پیرامیٹرز
| پارامٹر | قسم کے | بیانات |
|---|---|---|
api_key* | string | صارف کی ذاتی API کلید۔ |
id* | integer | آپ کی سیشن کا ID، جب نمبر جاری کیا گیا تھا تو حاصل کیا گیا تھا. |
* مطلوبہ پیرامیٹر۔ تمام درخواستوں میں بھی عمل=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 کلید کے علاقے تک محدود ہے۔
پیرامیٹرز
| پارامٹر | قسم کے | بیانات |
|---|---|---|
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ممالک+
منتخب کردہ چینل میں ممالک کے لئے IDs، نام اور کال کوڈ.
پیرامیٹرز
| پارامٹر | قسم کے | بیانات |
|---|---|---|
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). operator=1 · 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": "Оператор 1",
"earnings_hold_days": 45
}
}- لے ID اس سے operators/getOperators (API).
GETgetRewardsSMS کے لئے اجر+
قیمتیں ملک پر منحصر ہیں ۔ تمام میز کی رقم فی ادائیگی کی جاتی ہے SMS.
پیرامیٹرز
| پارامٹر | قسم کے | بیانات |
|---|---|---|
api_key* | string | صارف کی ذاتی API کلید۔ |
country | integer | لے ID اس سے getCountries. |
service | string | دستیاب سروس کوڈز۔ جواب API کلید کے علاقے تک محدود ہے۔ |
operator | string | لے ID اس سے operators/getOperators (API). operator=1 · 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)
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 | معذور پیرامیٹر یا Idempotency-Key.براہ مہربانی آپ کی درخواست کو درست کریں. |
BAD_SERVICE / BAD_OPERATOR / INVALID_PROVIDER | 200 | نامعلوم یا غیر فعال ڈائریکٹری اشیاء.API کاتالوگوں کو تازہ کریں. |
BAD_NUMBER | 200 | غلط نمبر فارمیٹاعداد و شمار کو اعداد و شمار میں شامل کریں. |
BAD_ACTION / BAD_STATUS | 200 | نامعلوم کمانڈ، ID یا آپریشنترتیبات پر نظر ڈالیں |
EMPTY_POOL | 200 | فی الحال کوئی مطابقت پذیر ٹیلی فون نمبر دستیاب نہیں ہے.تکرار کے بعد 10-30 ٹکڑے ٹکڑے یا فیلٹر تبدیل کریں |
NUMBER_IN_USE | 200 | ایک مخصوص نمبر ایک فعال سیشن کے ذریعے قبضہ کیا جاتا ہے.آپ کی سیشن ختم کریں یا ایک اور نمبر منتخب کریں. |
NO_ACTIVATION | 200 | سیشن یا پچھلے نمبر آپ کے اکاؤنٹ میں شامل نہیں ہے.ID اور کلید چیک کریں |
SESSION_CLOSED / SMS_REQUIRED | 200 | ریاستی منتقلی ابھی تک دستیاب نہیں ہے.اس بات کا یقین کریں کہ SMS کی موجودگی اور حالات کی وضاحت کی جائے گی. |
SCOPE_BLOCKED | 200 | سروس، ملک، یا فراہم کرنے والے کو کلید کے لئے اجازت نہیں ہے.API کلید کی پیمائش کو اپ ڈیٹ کریں. |
IDEMPOTENCY_CONFLICT | 200 | یہ سوال کلید پہلے سے ہی دوسرے پیرامیٹرز کے ساتھ منسلک ہے.ایک نئی آپریشن کے لئے، ایک اور Idempotency-Key بنائیں. |
BAD_REF / SELF_REF | 400 | سافٹ ویئر کوڈ نامعلوم ہے، غیر فعال ہے، یا صارف خود کی ملکیت ہے.سافٹ ویئر کے مالک کا کوڈ پر عمل کریں. |
INTERNAL_ERROR | 500 | ایک موقت سرور یا سپلائر غلطیپیچھے دوبارہ دوباره کریں اور ایک ہی Idempotency-Key. |
ALLOCATION_PENDING | 200 | اعداد و شمار کی تقسیم پہلے سے ہی آگے بڑھ رہی ہے. اسی Idempotency-Key کے ساتھ واپسی.اعداد و شمار کی تقسیم پہلے سے ہی آگے بڑھ رہی ہے. اسی Idempotency-Key کے ساتھ واپسی. |
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=100نئے SMS کے ساتھ Cursor/api/v1/activations/{id}/retrySMS کے لئے انتظار/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، اگلے صفحہ فوراً پڑھ سکتا ہے : 1–200. سیشن اور SMS صرف مالک کے لئے دستیاب ہے.