ใบรับรอง 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.
| คําขอ | เสนอ | ซอฟต์แวร์ |
|---|---|---|
| ไม่มี REF | 10% | — |
| ด้วย REF | 5% | 5% |
| ด้วย ref ไม่มีการพูด | — | 5% |
พลั๊กอินจ่ายเงินโบนัสโดยไม่ต้องลดรายได้ของผู้ใช้ ผู้ถือซอฟต์แวร์และผู้ส่งข้อความสามารถเป็นบุคคลเดียวกัน ผู้ใช้ไม่สามารถใช้รหัสของตัวเอง
เงื่อนไขจะกําหนดเมื่อการประชุมถูกสร้างขึ้น อ่านข้อความ SMS และการคืนเงินไม่เปลี่ยนแปลงพวกเขา Pass 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 เพิ่ม ID ผู้ให้บริการในคำตอบ; 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 | 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- Poll ทุก 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'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- Retry รอสําหรับรหัสต่อไปภายใน 20 นาทีเดิม เวลาการปล่อยและเวลาสิ้นสุดไม่เปลี่ยนแปลง
- การยกเลิกไม่ลบรางวัลที่ได้รับแล้ว
- เท่านั้นหมายเลขที่มีรหัส 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% пригласившему. Неизвестный, отключённый, некорректный или собственный 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- ก่อนอื่นเสร็จสิ้นหรือยกเลิกการประชุมปัจจุบันของคุณ หากหมายเลข忙碌แล้วการส่งออกใหม่จะไม่ดําเนินการ
- การประชุมใหม่จะได้รับ ID ใหม่และค่าธรรมเนียมปัจจุบัน SMS เก่าไม่ได้คัดลอกลงในมัน ref จะตั้งค่าอีกครั้ง
- SMScash ช่วยให้สามารถทําซ้ําหมายเพียงแค่จํานวนจากประวัติบัญชีนี้ ประเทศที่ระบุโดยหมายเลข
- ปุ่มเซสชั่นที่ลบยังคงใช้: การเล่นการจัดหาใหม่ด้วยคีย์นั้นจะส่ง SESSION_CLOSED และไม่ปล่อยหมายเลขอื่น ๆ
GETgetSmsFullรับ SMS เป็น 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": "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 เป็นข้อความ string+
กลับประวัติ SMS ทั้งหมดในรูปแบบ string สําหรับลูกค้าที่มีอยู่
พารามิเตอร์
| พารามิเตอร์ | ประเภท | คําอธิบาย |
|---|---|---|
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- รูปแรกข้อความ: เวลา code ë text. ส่วนข้องแยกกันโดยคูล
- ข้อความ 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ประเทศ+
IDs, ชื่อและรหัสการโทรสําหรับประเทศในช่องที่เลือก
หลักสูตร
การเผยแพร่…
| ชื่อ | 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ผู้ประกอบการ+
ผู้ให้บริการที่พร้อมใช้งาน: ID 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 | การสั่งซื้อ ID หรือการดําเนินการที่ไม่ได้รับการระบุตรวจสอบการตั้งค่า |
EMPTY_POOL | 200 | ไม่มีหมายเลขโทรศัพท์ที่ตรงกันข้ามในปัจจุบันสัปดาห์ละครั้งหลังจาก 10-30 วินาทีหรือเปลี่ยนกรอง |
NUMBER_IN_USE | 200 | หมายเลขที่เฉพาะเจาะจงจะถูกครอบครองโดยการประชุมที่ใช้งานได้ปิดเซสชั่นของคุณหรือเลือกหมายเลขอื่น ๆ |
NO_ACTIVATION | 200 | การประชุมหรือหมายเลขก่อนหน้านี้ไม่ได้อยู่ในบัญชีของคุณตรวจสอบ ID และคีย์ |
SESSION_CLOSED / SMS_REQUIRED | 200 | การเปลี่ยนแปลงของรัฐในปัจจุบันไม่สามารถใช้ได้ตรวจสอบสถานะและมีอยู่ของ SMS |
SCOPE_BLOCKED | 200 | บริการประเทศหรือผู้จําหน่ายไม่ได้รับอนุญาตสําหรับกุญแจปรับปรุงช่วงของ API Key |
INTERNAL_ERROR | 500 | ข้อผิดพลาดเซิร์ฟเวอร์หรือผู้จําหน่ายติดต่อและช่วยเหลือ · X-Request-ID |
ALLOCATION_PENDING | 200 | รอgetActiveActivations · getStatus |
ALLOCATION_UNCERTAIN | 200 | ผลการจัดหาไม่ได้ยืนยัน การรีดอัตโนมัติจะถูกปิดกั้นเพื่อหลีกเลี่ยงการจัดหาหมายเลขที่สองผลการจัดหาไม่ได้ยืนยัน การรีดอัตโนมัติจะถูกปิดกั้นเพื่อหลีกเลี่ยงการจัดหาหมายเลขที่สอง |
REST กลับวัตถุ {"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. คําขอและคําตอบ schemes มีอยู่ใน 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/activations200 ครั้งล่าสุด: scope = เรื่องราว, รอ หรือทั้งหมด/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หมายเลขรุ่น: 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 มีเพียงผู้เป็นเจ้า