API สำหรับนักพัฒนา

ระบบอัตโนมัติสำหรับการยืนยันตัวตนในปริมาณมาก

API ของ SNSPhone ช่วยให้เครื่องมือของคุณสามารถสั่งซื้อหมายเลข non-VoIP ของสหรัฐฯ, อ่านรหัส SMS และจัดการการเช่าเบอร์ได้ มี 2 รูปแบบ: REST API ที่ใช้ JSON และรูปแบบการเปิดใช้งาน SMS ทั่วไปสำหรับสคริปต์ที่มีอยู่

เริ่มต้นใช้งาน

URL ฐาน https://snsphone.com/api/v1 สร้างคีย์ในหน้า API ของคอนโซลและส่งเป็น Authorization: Bearer spk_... (หรือฟิลด์คีย์) หมายเลขทั้งหมดเป็น non-VoIP ของสหรัฐฯ เงินเป็นสตริง USD ทศนิยม 2 ตำแหน่ง เวลาเป็น ISO 8601 UTC จำกัด 300 คำขอต่อนาทีต่อคีย์ ราคาตามวันที่ 2026-11-03

Python

import os, time, requests

API = "https://snsphone.com/api/v1"
H = {"Authorization": f"Bearer {os.environ['SNSPHONE_KEY']}"}

order = requests.post(f"{API}/orders", headers=H, data={"service": "google"}).json()["order"]
print("Use this US number:", order["phone"])

while True:
    o = requests.get(f"{API}/orders/{order['id']}", headers=H).json()["order"]
    if o["code"] or o["status"] in ("refunded", "canceled"):
        break
    time.sleep(4)
print("Code:", o["code"])

Node.js

const API = "https://snsphone.com/api/v1";
const H = { Authorization: `Bearer ${process.env.SNSPHONE_KEY}` };

const { order } = await fetch(`${API}/orders`, {
  method: "POST", headers: H, body: new URLSearchParams({ service: "discord" }),
}).then((r) => r.json());
console.log("Use this US number:", order.phone);

let o = order;
while (!o.code && !["refunded", "canceled"].includes(o.status)) {
  await new Promise((r) => setTimeout(r, 4000));
  ({ order: o } = await fetch(`${API}/orders/${order.id}`, { headers: H }).then((r) => r.json()));
}
console.log("Code:", o.code);

แคตตาล็อก

GET/services

รหัสบริการทุกบริการพร้อมชื่อ, หมวดหมู่, ราคาการยืนยันตัวตนและระยะเวลาเช่า ไม่ต้องใช้คีย์

สาธารณะ ไม่ต้องใช้คีย์

curl "https://snsphone.com/api/v1/services"
{"country":"us","services":[{"code":"whatsapp","name":"WhatsApp","category":"Messaging","verification":"0.90","rentals":[]},{"code":"telegram","name":"Telegram","verification":"0.45","rentals":[{"days":365,"period":"1 year","price":"37.44"}]}]}

GET/prices?service=telegram

ราคาเป็น USD สามารถระบุบริการเดียวได้ ไม่ต้องใช้คีย์

สาธารณะ ไม่ต้องใช้คีย์

curl "https://snsphone.com/api/v1/prices?service=telegram"
{"country":"us","prices":[{"service":"telegram","type":"verification","days":null,"price":"0.45"},{"service":"telegram","type":"rental","days":365,"price":"37.44"}]}

GET/balance

เครดิตของคุณเป็น USD

ต้องใช้คีย์ API ของคุณ

curl "https://snsphone.com/api/v1/balance" \
  -H "Authorization: Bearer $KEY"
{"balance":"25.00","currency":"USD"}

การยืนยัน

POST/orders

ซื้อการยืนยันตัวตน (201) ส่งคืนหมายเลขสหรัฐฯและเวลาที่หน้าต่าง 20 นาทีสิ้นสุด

ต้องใช้คีย์ API ของคุณ

curl -X POST "https://snsphone.com/api/v1/orders" \
  -H "Authorization: Bearer $KEY" \
  -d "service=whatsapp"
{"order":{"id":"VR-7K2M9QX4PB","service":"whatsapp","country":"us","phone":"+14155550142","number":"4155550142","status":"waiting","code":null,"expires_at":"2026-11-03T12:20:00.000Z"},"window_minutes":20}

GET/orders/VR-7K2M9QX4PB

การยืนยันตัวตนหนึ่งครั้งพร้อมสถานะและรหัสที่ได้รับทุกครั้ง สถานะ: waiting, received, finished, refunded, canceled

ต้องใช้คีย์ API ของคุณ

curl "https://snsphone.com/api/v1/orders/VR-7K2M9QX4PB" \
  -H "Authorization: Bearer $KEY"
{"order":{"id":"VR-7K2M9QX4PB","status":"received","code":"482913","sms":"Your WhatsApp code is 482913"}}

GET/orders?status=open

การยืนยันตัวตนที่เปิดอยู่ของคุณ (status=all สำหรับ 100 ล่าสุด)

ต้องใช้คีย์ API ของคุณ

curl "https://snsphone.com/api/v1/orders?status=open" \
  -H "Authorization: Bearer $KEY"
{"orders":[...]}

POST/orders/VR-7K2M9QX4PB/resend

ขอรหัสเพิ่มเติมบนหมายเลขเดิม หลังจากรหัสแรกและในขณะที่หน้าต่างยังเปิดอยู่ ไม่มีค่าใช้จ่ายเพิ่ม

ต้องใช้คีย์ API ของคุณ

curl -X POST "https://snsphone.com/api/v1/orders/VR-7K2M9QX4PB/resend" \
  -H "Authorization: Bearer $KEY"
{"order":{"status":"received","waiting_for_resend":true}}

POST/orders/VR-7K2M9QX4PB/finish

ปิดการยืนยันตัวตนที่ได้รับรหัสแล้ว

ต้องใช้คีย์ API ของคุณ

curl -X POST "https://snsphone.com/api/v1/orders/VR-7K2M9QX4PB/finish" \
  -H "Authorization: Bearer $KEY"
{"order":{"status":"finished"}}

POST/orders/VR-7K2M9QX4PB/cancel

ยกเลิกก่อนที่รหัสจะมาถึง เงินทั้งหมดจะกลับเข้าสู่เครดิตของคุณ

ต้องใช้คีย์ API ของคุณ

curl -X POST "https://snsphone.com/api/v1/orders/VR-7K2M9QX4PB/cancel" \
  -H "Authorization: Bearer $KEY"
{"order":{"status":"canceled","refunded":"0.90"}}

การเช่า

POST/rentals

เช่าเบอร์สหรัฐฯสำหรับหนึ่งบริการและระยะเวลา (201) days เป็นทางเลือกเมื่อบริการมีหนึ่งระยะเวลา

ต้องใช้คีย์ API ของคุณ

curl -X POST "https://snsphone.com/api/v1/rentals" \
  -H "Authorization: Bearer $KEY" \
  -d "service=telegram&days=365"
{"rental":{"id":"RN-4J8T2W6QHM","service":"telegram","phone":"+13125550198","days":365,"period":"1 year","price":"37.44","status":"active","ends_at":"2027-11-03T12:00:00.000Z","messages":[]}}

GET/rentals?status=active

การเช่าเบอร์ที่ใช้งานอยู่ของคุณพร้อมข้อความล่าสุด (status=all สำหรับ 100 ล่าสุด)

ต้องใช้คีย์ API ของคุณ

curl "https://snsphone.com/api/v1/rentals?status=active" \
  -H "Authorization: Bearer $KEY"
{"rentals":[...]}

GET/rentals/RN-4J8T2W6QHM

การเช่าเบอร์หนึ่งครั้งพร้อมทุก SMS ที่ได้รับ

ต้องใช้คีย์ API ของคุณ

curl "https://snsphone.com/api/v1/rentals/RN-4J8T2W6QHM" \
  -H "Authorization: Bearer $KEY"
{"rental":{"id":"RN-4J8T2W6QHM","status":"active","messages":[{"from":"Telegram","sms":"Telegram code: 57291","code":"57291","received_at":"2026-11-03T12:01:12.000Z"}]}}

POST/rentals/RN-4J8T2W6QHM/renew

เพิ่มระยะเวลาอีกหนึ่งครั้งในราคาเดิม

ต้องใช้คีย์ API ของคุณ

curl -X POST "https://snsphone.com/api/v1/rentals/RN-4J8T2W6QHM/renew" \
  -H "Authorization: Bearer $KEY"
{"rental":{"renewed":1,"ends_at":"2028-11-02T12:00:00.000Z"}}

POST/rentals/RN-4J8T2W6QHM/cancel

ยกเลิกภายใน 20 นาทีแรกขณะที่ยังไม่ได้รับ SMS เงินที่ชำระทั้งหมดจะกลับเข้าสู่เครดิตของคุณ

ต้องใช้คีย์ API ของคุณ

curl -X POST "https://snsphone.com/api/v1/rentals/RN-4J8T2W6QHM/cancel" \
  -H "Authorization: Bearer $KEY"
{"rental":{"status":"canceled","refunded":"37.44"}}

รูปแบบการเปิดใช้งานผ่าน SMS

สำหรับเครื่องมือที่รองรับรูปแบบการเปิดใช้งาน SMS ทั่วไป URL เดียว ฟิลด์ action คำตอบแบบข้อความธรรมดา สำหรับการยืนยันตัวตนเท่านั้น

https://snsphone.com/stubs/handler_api.php?api_key=KEY&action=ACTION
การดำเนินการฟิลด์เพิ่มเติมคำตอบความหมาย
getBalanceไม่มีACCESS_BALANCE:12.50เครดิตของคุณเป็น USD
getServicesListไม่มี{"status":"success","services":[{"code":"whatsapp","name":"WhatsApp"}]}รหัสบริการพร้อมราคาการยืนยันตัวตน (JSON)
getCountriesไม่มี{"us":{"name":"United States","dial":"1"}}เฉพาะสหรัฐอเมริกา country อาจเป็น us, 187 หรือเว้นว่าง
getPrices&service=whatsapp{"us":{"whatsapp":{"cost":0.9,"count":100}}}ราคาเป็น USD ตัวกรองบริการเป็นทางเลือก
getNumber&service=whatsapp&country=usACCESS_NUMBER:VR-7K2M9QX4PB:14155550142ซื้อการยืนยันตัวตน ส่งคืน id และหมายเลขที่มี 1 อยู่ข้างหน้า
getStatus&id=VR-7K2M9QX4PBSTATUS_OK:482913STATUS_WAIT_CODE, STATUS_OK:<code>, STATUS_WAIT_RETRY:<last code> (ขอรหัสเพิ่ม), STATUS_CANCEL (ยกเลิกหรือคืนเงิน)
setStatus&id=VR-7K2M9QX4PB&status=3ACCESS_RETRY_GETstatus=1 พร้อมใช้งาน (ACCESS_READY), 3 รหัสเพิ่ม (ACCESS_RETRY_GET), 6 เสร็จสิ้น (ACCESS_ACTIVATION), 8 ยกเลิกพร้อมคืนเงินเต็มจำนวนขณะที่ยังไม่ได้รับรหัส (ACCESS_CANCEL)

ข้อผิดพลาด

ข้อผิดพลาด REST จะมาในรูปแบบ {"error":{"code","message"}} พร้อมรหัสสถานะเหล่านี้ รูปแบบการเปิดใช้งานจะตอบกลับด้วยคำธรรมดา

400ข้อมูลไม่ครบถ้วนหรือไม่ถูกต้อง (bad_json, bad_period)
401ไม่มีคีย์หรือคีย์ไม่ถูกต้อง (no_key, bad_key)
402เครดิตไม่เพียงพอ (no_balance)
404ไม่รู้จักบริการ, คำสั่งซื้อ, การเช่าหรือจุดปลายทาง หรือสินค้าที่บริการไม่มี (not_sold)
409ไม่สามารถทำได้ในขณะนี้ (has_code, has_sms, too_late, not_ready, too_many_open, too_many_active, no_numbers)
429เกิน 300 คำขอภายในหนึ่งนาที (rate_limited)
BAD_KEYไม่มี API key หรือ key ไม่ถูกต้อง
BAD_ACTIONไม่รู้จักการดำเนินการ
BAD_SERVICEไม่รู้จักรหัสบริการ
BAD_COUNTRYไม่ใช่สหรัฐอเมริกา หรือบริการนี้มีเฉพาะแบบเช่าเท่านั้น
NO_BALANCEเครดิตไม่เพียงพอ
NO_NUMBERSไม่มีหมายเลขว่างในขณะนี้ กรุณาลองใหม่ในอีกสักครู่
NO_ACTIVATIONไม่รู้จัก ID หรือไม่ใช่ของคุณ
EARLY_CANCEL_DENIEDได้รับรหัสแล้ว จึงไม่สามารถยกเลิกได้
NO_ACTIVATIONSมีการยืนยันเปิดอยู่แล้ว 20 รายการ
TOO_MANY_REQUESTSเกิน 300 คำขอภายในหนึ่งนาที

คำถามเกี่ยวกับ API

คีย์, ข้อจำกัด และการตรวจสอบสถานะ, มีคำตอบแล้ว

SNSPhone มี API สำหรับยืนยันด้วย SMS หรือไม่?

มี API แบบ REST พร้อม JSON ที่ /api/v1 สำหรับบริการ, ราคา, การยืนยันและการเช่า และรูปแบบทั่วไปสำหรับการเปิดใช้งาน SMS ที่ /stubs/handler_api.php

ยืนยันตัวตนสำหรับคำขอ API อย่างไร?

สร้างคีย์ในหน้า API ของคอนโซลและส่งเป็น Authorization: Bearer spk_..., หรือเป็นฟิลด์ key คีย์จะถูกเก็บเป็นแฮชเท่านั้นและแสดงเพียงครั้งเดียว

ขีดจำกัดอัตราการใช้งาน API คืออะไร?

300 คำขอต่อนาทีต่อคีย์, สูงสุด 20 การยืนยันที่เปิดอยู่และ 20 การเช่าที่ใช้งานอยู่ต่อบัญชี

คำสั่งซื้อผ่าน API มีราคาแพงกว่าผ่านเว็บไซต์หรือไม่?

ไม่ API ใช้ราคาเดียวกันและกฎการคืนเงินเดียวกันกับคอนโซล

รู้ได้อย่างไรว่ารหัสมาถึงแล้ว?

ตรวจสอบ GET /orders/{id} ทุกๆไม่กี่วินาที สถานะจะเปลี่ยนจาก waiting เป็น received และฟิลด์ code จะมีตัวเลขรหัส

API ยืนยันด้วย SMS แบบ non-VoIP: หมายเลขสหรัฐฯ ด้วย REST | SNSPhone