API ยืนยัน SMS
ซื้อหมายเลขและอ่านรหัส SMS ด้วยคำขอ HTTP GET หรือ POST ธรรมดา คำตอบใช้รูปแบบข้อความของเครื่องมือรับ SMS ทั่วไป ส่วนคำขอหมายเลขส่วนตัวจะตอบกลับในรูปแบบ JSON
เริ่มต้นใช้งาน
- ที่อยู่
- https://snscodes.com/stubs/handler_api.php
- การยืนยันตัวตน
- พารามิเตอร์ api_key สร้างคีย์ในหน้า API ของบัญชีคุณ จะแสดงเพียงครั้งเดียว
- อัตราการจำกัด
- 300 คำขอต่อนาทีต่อคีย์
- เงิน
- ราคาและเครดิตเป็นดอลลาร์สหรัฐ หักจากเครดิตเดียวกันกับเว็บไซต์
curl "https://snscodes.com/stubs/handler_api.php?api_key=$KEY&action=getNumber&service=telegram&country=us" # ACCESS_NUMBER:N-7KQ2M9XWD4:14155550123 curl "https://snscodes.com/stubs/handler_api.php?api_key=$KEY&action=getStatus&id=N-7KQ2M9XWD4" # STATUS_OK:482913
import time, requests
BASE = "https://snscodes.com/stubs/handler_api.php"
KEY = "YOUR_KEY"
r = requests.get(BASE, params={"api_key": KEY, "action": "getNumber", "service": "telegram", "country": "us"}).text
_, num_id, phone = r.split(":")
print("number", phone)
while True:
s = requests.get(BASE, params={"api_key": KEY, "action": "getStatus", "id": num_id}).text
if s.startswith("STATUS_OK"):
print("code", s.split(":")[1]); break
if s == "STATUS_CANCEL":
break
time.sleep(5)const BASE = "https://snscodes.com/stubs/handler_api.php";
const KEY = process.env.SNSCODES_KEY;
const call = async (q) => (await fetch(BASE + "?" + new URLSearchParams({ api_key: KEY, ...q }))).text();
const [, id, phone] = (await call({ action: "getNumber", service: "telegram", country: "us" })).split(":");
console.log("number", phone);
for (;;) {
const s = await call({ action: "getStatus", id });
if (s.startsWith("STATUS_OK")) { console.log("code", s.split(":")[1]); break; }
if (s === "STATUS_CANCEL") break;
await new Promise((r) => setTimeout(r, 5000));
}รับเครดิต action=getBalance
แสดงยอดเครดิตในบัญชีคุณเป็นดอลลาร์สหรัฐ
ACCESS_BALANCE:42.50
BAD_KEYคีย์หายหรือไม่ถูกต้อง
ราคารหัส action=getPrices
ราคาต่อรหัสแยกตามประเทศและบริการ ตัวกรองทั้งสองเป็นตัวเลือก
| พารามิเตอร์ | จำเป็น | คำอธิบาย |
|---|---|---|
| service | ไม่ | รหัสบริการ เช่น telegram |
| country | ไม่ | us, gb หรือ au |
{"us":{"telegram":{"cost":3,"count":100}}}ซื้อหมายเลขสำหรับรหัส action=getNumber
ซื้อหมายเลขหนึ่งหมายเลขสำหรับหนึ่งแอป เงินจะถูกหักจากเครดิตทันทีและคืนเงินหากไม่ได้รับรหัสภายใน 20 นาที
| พารามิเตอร์ | จำเป็น | คำอธิบาย |
|---|---|---|
| service | ใช่ | รหัสบริการจาก getPrices |
| country | ใช่ | us, gb หรือ au |
ACCESS_NUMBER:N-7KQ2M9XWD4:14155550123
BAD_SERVICEไม่รู้จักรหัสบริการBAD_COUNTRYไม่มีบริการนี้สำหรับประเทศที่เลือกNO_BALANCEเครดิตไม่เพียงพอ ไม่มีการหักเงินNO_NUMBERSไม่มีหมายเลขว่างในขณะนี้ ไม่มีการหักเงินNO_ACTIVATIONSคุณมีหมายเลขรหัสที่เปิดอยู่แล้ว 20 หมายเลข
อ่านรหัส action=getStatus
ตรวจสอบทุก 5 ถึง 10 วินาทีจนกว่ารหัสจะมา
| พารามิเตอร์ | จำเป็น | คำอธิบาย |
|---|---|---|
| id | ใช่ | id จาก getNumber |
STATUS_OK:482913
STATUS_WAIT_CODEยังไม่มี SMSSTATUS_WAIT_RETRY:482913กำลังรอรับรหัสอีกครั้ง รหัสล่าสุดจะแสดงSTATUS_CANCELยกเลิกหรือคืนเงินแล้วNO_ACTIVATIONไม่รู้จัก id
ยกเลิก, ลองใหม่หรือเสร็จสิ้น action=setStatus
status=8 ยกเลิกหมายเลขที่ไม่มีรหัส (คืนเงินเต็มจำนวน), status=3 ขอรหัสอีกครั้งบนหมายเลขเดิม, status=6 จบการทำงาน
| พารามิเตอร์ | จำเป็น | คำอธิบาย |
|---|---|---|
| id | ใช่ | id จาก getNumber |
| status | ใช่ | 8, 3 หรือ 6 |
ACCESS_CANCEL
EARLY_CANCEL_DENIEDได้รับรหัสแล้ว ให้ใช้ finish แทน cancelACCESS_RETRY_GETกำลังรอรับรหัสอีกครั้งACCESS_ACTIVATIONเสร็จสิ้น
ราคาหมายเลขส่วนตัว action=getRentPrices
ราคาสำหรับระยะเวลาทั้งหมดแยกตามประเทศและระยะเวลา คืนค่าเป็น JSON
| พารามิเตอร์ | จำเป็น | คำอธิบาย |
|---|---|---|
| country | ไม่ | รหัสประเทศสองตัวอักษร |
{"us":{"sixMonths":35.99,"twelveMonths":59.99}}ซื้อหมายเลขส่วนตัว action=getRentNumber
ซื้อหมายเลขส่วนตัวสำหรับระยะเวลา ส่งคืนข้อมูลในรูปแบบ JSON
| พารามิเตอร์ | จำเป็น | คำอธิบาย |
|---|---|---|
| country | ใช่ | รหัสประเทศสองตัวอักษร |
| period | ใช่ | หนึ่งเดือน สามเดือน หกเดือน สิบสองเดือน สองปี หรือสามปี |
{"status":"success","id":"N-3HV8QZ2K5M","phone":"14155550123","until":"2027-05-02T10:00:00.000Z"}BAD_PERIODไม่มีการขายระยะเวลานี้สำหรับประเทศนี้NO_BALANCEเครดิตไม่เพียงพอ
อ่าน SMS ของหมายเลขส่วนตัว action=getRentStatus
SMS ทั้งหมดที่ได้รับจากหมายเลขส่วนตัวจนถึงปัจจุบัน ส่งคืนข้อมูลในรูปแบบ JSON
| พารามิเตอร์ | จำเป็น | คำอธิบาย |
|---|---|---|
| id | ใช่ | รหัสจาก getRentNumber |
{"status":"success","state":"active","messages":[{"code":"482913","text":"Your code is 482913","from":"Telegram","at":"..."}]}ยกเลิกหมายเลขส่วนตัว action=setRentStatus
status=2 ยกเลิกหมายเลขส่วนตัวเพื่อรับเงินคืนเต็มจำนวนเมื่อยังไม่ได้รับ SMS และอายุไม่เกิน 20 นาที
| พารามิเตอร์ | จำเป็น | คำอธิบาย |
|---|---|---|
| id | ใช่ | รหัสจาก getRentNumber |
| status | ใช่ | 2 |
{"status":"success"}EARLY_CANCEL_DENIEDได้รับ SMS หรือผ่านไปแล้ว 20 นาที