API สำหรับรับ SMS
ซื้อเบอร์และอ่านรหัสยืนยันตัวตนผ่าน API แบบ JSON ไม่มีการตรวจสอบตัวตน ชำระด้วยคริปโต
API จัดวางอย่างไร
- สร้างบัญชีแล้วเก็บวลีที่ได้รับกลับมา นั่นคือทางเข้าเดียวและรีเซ็ตไม่ได้
- สร้างรายการเติมเงิน ส่งคริปโต แล้วรอให้ยอดเข้า
- ซื้อเบอร์สำหรับบริการและประเทศที่ต้องการ ยอดเงินจะถูกหักทันที
- เรียกดู SMS ที่มีรหัส หากไม่มีรหัสมาถึงก่อนคำสั่งซื้อหมดอายุ เงินจะคืนให้อัตโนมัติ
เติมครั้งเดียว ซื้อได้บ่อยครั้ง การเติมเงินหนึ่งครั้งครอบคลุมเบอร์ได้มากเท่าที่ยอดเงินจะพอ มีเพียงการซื้อครั้งแรกเท่านั้นที่ต้องรอการยืนยัน
การยืนยันตัวตน
ส่งวลีของบัญชีไปเป็น bearer token ไม่มีคีย์ API แยกต่างหากและไม่มีการเรียกเพื่อเข้าสู่ระบบ วลีคือตัวระบุ
Authorization: Bearer YOUR-SEED-PHRASE
ปลายทางของแค็ตตาล็อกไม่ต้องยืนยันตัวตน บริการ ประเทศ และราคาจึงดูได้ตั้งแต่ก่อนมีบัญชี ทุกอย่างที่เกี่ยวกับเงินและคำสั่งซื้อต้องใช้ส่วนหัวนี้
ที่อยู่ฐาน
ทุกปลายทางอ้างอิงจาก:
https://www.otpdrop.com/api/v1
การตอบกลับเป็น JSON เนื้อหาของ POST รับได้ทั้งแบบ application/json
และ application/x-www-form-urlencoded
ข้อผิดพลาด
เมื่อล้มเหลว ระบบจะตอบสถานะที่ไม่ใช่ 2xx พร้อมออบเจ็กต์ข้อผิดพลาดหนึ่งชุด
{
"error": {
"code": "invalid_request",
"message": "unknown service: \"whatsap\""
}
}
| สถานะ | ความหมาย |
|---|---|
200 | สำเร็จ |
201 | สร้างแล้ว — บัญชี การเติมเงิน หรือคำสั่งซื้อมีอยู่แล้วในตอนนี้ |
401 | ไม่มีวลีหรือวลีไม่ถูกต้องในส่วนหัว Authorization |
422 | เข้าใจคำขอ แต่ดำเนินการไม่ได้ |
500 | ความผิดพลาดที่ฝั่งเรา |
ข้อความที่พบบ่อยใน 422:
| ข้อความ | สาเหตุ |
|---|---|
insufficient_funds | ยอดเงินน้อยกว่าราคา ให้สร้างรายการเติมเงินก่อน |
unknown service | ไม่มีรหัสบริการนี้ ดูรายการบริการ |
unknown country | ไม่มีรหัสประเทศนี้ ดูรายการประเทศ |
unknown coin | ไม่รับสกุลเงินนี้ ดูปลายทางของการเติมเงิน |
amount_usd must be between… | การเติมเงินจำกัดอยู่ที่ $25–$1000 |
มีขีดจำกัดอัตราการเรียกหรือไม่
เราไม่ได้ประกาศโควตาใด ๆ และไม่มีคีย์ API ให้จำกัด แต่การเรียกปลายทางเป็นวงวนก็ไม่ได้ฟรี มีสองปลายทางที่ทำมาให้เรียกวนและควรใส่ใจเป็นพิเศษ
| ปลายทาง | จังหวะที่เหมาะสม | เพราะอะไร |
|---|---|---|
| แค็ตตาล็อกและการคิดราคา | แคชไว้ที่ฝั่งคุณ | ราคาเปลี่ยนไม่บ่อย การโหลดแค็ตตาล็อกใหม่ทุกคำขอไม่มีประโยชน์ |
/topups/{id} | ทุก 10 ถึง 15 วินาที | การยืนยันของเครือข่าย ใช้เวลาเป็นนาที ไม่ใช่มิลลิวินาที เรียกถี่กว่านั้นก็ไม่ได้รู้อะไรเร็วขึ้น |
/orders/{id}/sms | ทุก 3 ถึง 5 วินาที | รหัสมักมาถึง ภายในไม่กี่วินาที วงวนที่ถี่กว่านั้นเพิ่มแต่ภาระ |
| การซื้อ | เท่าที่จำเป็น | การซื้อทุกครั้งหักเงินจริง วงวนที่ไม่มีเบรกจึงทำให้คุณเสียมากกว่าเรา |
ทราฟฟิกที่ดูเหมือนการโจมตีจะถูกบล็อกตั้งแต่ต้นทาง โดยไม่มี 429 ที่สุภาพ
หากคุณมีเหตุผลอันสมควรที่จะเรียกถี่กว่านี้ โปรดเขียนมาหาเราก่อนที่หน้าติดต่อ
แสดงรายการบริการ
GET/api/v1/services
บริการทั้งหมดพร้อมรหัส หมวดหมู่ และราคาต่ำสุด ไม่ต้องยืนยันตัวตน
คำขอ
curl -s https://www.otpdrop.com/api/v1/services
การตอบกลับ
{
"services": [
{
"code": "binance",
"name": "Binance",
"category": "Finance",
"from_price_cents": 85,
"color": "#F0B90B",
"icon": "binance"
}
],
"count": 133
}
แสดงรายการประเทศ
GET/api/v1/countries
Every country with its dial code and how many services are available there. No authentication required.
คำขอ
curl -s https://www.otpdrop.com/api/v1/countries
การตอบกลับ
{
"countries": [
{
"code": "us",
"name": "United States",
"dial_code": "+1",
"service_count": 133
}
],
"count": 197
}
ตารางราคา
GET/api/v1/catalog
The most useful service and country combinations with their prices, cheapest first. No authentication required.
พารามิเตอร์
| ชื่อ | ชนิด | คำอธิบาย | |
|---|---|---|---|
limit | integer | ไม่บังคับ | How many rows to return, 1 to 500. Defaults to 12. |
คำขอ
curl -s 'https://www.otpdrop.com/api/v1/catalog?limit=2'
การตอบกลับ
{
"items": [
{
"service": "badoo",
"country": "us",
"price_cents": 35
}
],
"count": 2
}
คำนวณราคา
GET/api/v1/quote
The exact price for one service and country before you commit to buying. No authentication required.
พารามิเตอร์
| ชื่อ | ชนิด | คำอธิบาย | |
|---|---|---|---|
service | string | จำเป็น | Service code, e.g. telegram |
country | string | จำเป็น | Country code, e.g. us |
คำขอ
curl -s 'https://www.otpdrop.com/api/v1/quote?service=telegram&country=us'
การตอบกลับ
{
"service": "telegram",
"country": "us",
"price_cents": 111,
"price_usd": "1.11",
"currency": "USD",
"purchasable": true
}
สร้างบัญชี
POST/api/v1/accounts
Generates an account and returns its seed. This is the only time the seed is ever shown. No authentication required.
คำขอ
curl -s -X POST https://www.otpdrop.com/api/v1/accounts
การตอบกลับ
{
"public_id": "acc_7f3c1a92",
"seed": "PABh-ZbRt-9xKm-Lq4V",
"seed_prefix": "PABh",
"balance_cents": 0,
"warning": "This seed is shown exactly once, right now..."
}
สร้างรายการเติมเงิน
POST/api/v1/topups
Claims a deposit address and returns the exact amount to send, as coin_amount, at the rate in rate_usd. Each top-up gets its own address, and it expires at expires_at. Send only the named coin, on the named network, before then.
พารามิเตอร์
| ชื่อ | ชนิด | คำอธิบาย | |
|---|---|---|---|
amount_usd | number | จำเป็น | How much to add to the balance, in USD. Minimum 25, maximum 1000. |
coin | string | จำเป็น | BTC, LTC, ETH, XMR, SOL, TRX, BNB, USDT, USDC and more |
คำขอ
curl -s -X POST https://www.otpdrop.com/api/v1/topups \
-H 'Authorization: Bearer YOUR-SEED' \
-H 'content-type: application/json' \
-d '{"amount_usd": 25, "coin": "XMR"}'
การตอบกลับ
{
"topup_id": "top_019195919c80fc8f",
"status": "awaiting_payment",
"coin": "XMR",
"address": "89Rm4XN39m9PCr8Sr3yAFnXvLRRWQVEE...",
"amount_cents": 2500,
"amount_usd": "25.00",
"coin_amount": "0.1337",
"rate_usd": 187.02,
"bonus_cents": 0,
"credited_total_cents": 2500,
"expires_at": 1788532810
}
สถานะการเติมเงิน
GET/api/v1/topups/{id}
Whether a deposit has been credited. Confirmation is not instant — poll this rather than assuming the funds arrived.
พารามิเตอร์
| ชื่อ | ชนิด | คำอธิบาย | |
|---|---|---|---|
id | string | จำเป็น | The top-up id, in the path |
คำขอ
curl -s https://www.otpdrop.com/api/v1/topups/top_019195919c80fc8f \ -H 'Authorization: Bearer YOUR-SEED'
การตอบกลับ
{
"topup_id": "top_019195919c80fc8f",
"status": "credited",
"coin": "XMR",
"amount_usd": "25.00",
"coin_amount": "0.1337",
"credited_total_cents": 2500,
"expires_at": 1788532810
}
ซื้อเบอร์
POST/api/v1/orders
Debits the balance and issues a number immediately. There is no per-purchase address and no second wait. Fails with insufficient_funds if the balance is short.
พารามิเตอร์
| ชื่อ | ชนิด | คำอธิบาย | |
|---|---|---|---|
service | string | จำเป็น | Service code, e.g. telegram |
country | string | จำเป็น | Country code, e.g. us |
คำขอ
curl -s -X POST https://www.otpdrop.com/api/v1/orders \
-H 'Authorization: Bearer YOUR-SEED' \
-H 'content-type: application/json' \
-d '{"service": "telegram", "country": "us"}'
การตอบกลับ
{
"order_id": "ord_1ad450bf7a42519c",
"service": "telegram",
"country": "us",
"phone": "+15558329008",
"status": "paid",
"price_usd": "1.11"
}
แสดงรายการคำสั่งซื้อของคุณ
GET/api/v1/orders
Every order on the account, newest first, with status, number and price. Useful for reconciling state after a restart rather than for polling.
คำขอ
curl -s https://www.otpdrop.com/api/v1/orders \ -H 'Authorization: Bearer YOUR-SEED'
การตอบกลับ
{
"orders": [
{
"order_id": "ord_1ad450bf7a42519c",
"service": "telegram",
"country": "us",
"phone": "+15558329008",
"status": "paid",
"price_usd": "1.11"
}
],
"count": 1
}
ดูคำสั่งซื้อ
GET/api/v1/orders/{id}
The current state of one order: its number, status and price.
พารามิเตอร์
| ชื่อ | ชนิด | คำอธิบาย | |
|---|---|---|---|
id | string | จำเป็น | The order id, in the path |
คำขอ
curl -s https://www.otpdrop.com/api/v1/orders/ord_1ad450bf7a42519c \ -H 'Authorization: Bearer YOUR-SEED'
การตอบกลับ
{
"order_id": "ord_1ad450bf7a42519c",
"service": "telegram",
"country": "us",
"phone": "+15558329008",
"status": "paid",
"price_usd": "1.11"
}
ดึง SMS ที่มีรหัส
GET/api/v1/orders/{id}/sms
Poll this until arrived turns true. If the order expires with nothing delivered, the price returns to your balance automatically.
พารามิเตอร์
| ชื่อ | ชนิด | คำอธิบาย | |
|---|---|---|---|
id | string | จำเป็น | The order id, in the path |
คำขอ
curl -s https://www.otpdrop.com/api/v1/orders/ord_1ad450bf7a42519c/sms \ -H 'Authorization: Bearer YOUR-SEED'
การตอบกลับ
{
"order_id": "ord_1ad450bf7a42519c",
"status": "paid",
"arrived": false,
"code": null
}
การเชื่อมต่อระบบแบบครบวงจรหน้าตาเป็นอย่างไร
จากบัญชีถึงรหัส ใช้หกการเรียก ทุกอย่างด้านล่างนี้ใช้ได้จริง คัดลอกไปวางแล้วรันได้เลย
# 1. สร้างบัญชีและเก็บวลีไว้
SEED=$(curl -s -X POST https://www.otpdrop.com/api/v1/accounts | jq -r .seed)
# 2. เติมเงิน — ส่ง coin_amount ไปยังที่อยู่ที่ได้รับกลับมา
curl -s -X POST https://www.otpdrop.com/api/v1/topups \
-H "Authorization: Bearer \$SEED" \
-H 'content-type: application/json' \
-d '{"amount_usd": 25, "coin": "USDT"}'
# 3. เรียกวนจนกว่ายอดเงินจะเข้า
curl -s https://www.otpdrop.com/api/v1/topups/TOPUP_ID \
-H "Authorization: Bearer \$SEED" | jq .status
# 4. ตรวจราคาก่อนซื้อ
curl -s 'https://www.otpdrop.com/api/v1/quote?service=telegram&country=us'
# 5. ซื้อ — ยอดเงินถูกหักและได้รับเบอร์ทันที
ORDER=$(curl -s -X POST https://www.otpdrop.com/api/v1/orders \
-H "Authorization: Bearer \$SEED" \
-H 'content-type: application/json' \
-d '{"service": "telegram", "country": "us"}' | jq -r .order_id)
# 6. เรียกวนเพื่อรอรหัส
until curl -s https://www.otpdrop.com/api/v1/orders/\$ORDER/sms \
-H "Authorization: Bearer \$SEED" | jq -e .code; do sleep 4; done
ลำดับเดียวกันในภาษา Python โดยไม่ใช้เชลล์:
import time, requests
API = "https://www.otpdrop.com/api/v1"
seed = requests.post(f"{API}/accounts").json()["seed"]
auth = {"Authorization": f"Bearer {seed}"}
topup = requests.post(f"{API}/topups", headers=auth,
json={"amount_usd": 25, "coin": "USDT"}).json()
print("send", topup["coin_amount"], topup["coin"], "to", topup["address"])
while requests.get(f"{API}/topups/{topup['topup_id']}",
headers=auth).json()["status"] != "credited":
time.sleep(15)
order = requests.post(f"{API}/orders", headers=auth,
json={"service": "telegram", "country": "us"}).json()
print("number:", order["phone"])
while True:
sms = requests.get(f"{API}/orders/{order['order_id']}/sms",
headers=auth).json()
if sms["arrived"]:
print("code:", sms["code"])
break
time.sleep(4)
เซิร์ฟเวอร์ MCP
การทำงานชุดเดียวกันใช้ได้ผ่าน Model Context Protocol ที่ https://www.otpdrop.com/mcp
ในรูปของเครื่องมือสิบเอ็ดตัว วิธีเพิ่มเข้า Claude Code:
claude mcp add --transport http otpdrop https://www.otpdrop.com/mcp
การตั้งค่าและรายชื่อเครื่องมือฉบับเต็มอยู่ที่หน้าสำหรับเอเจนต์
ไฟล์ค้นพบบริการ
คำอธิบายบริการที่เครื่องอ่านได้ ทั้งหมดให้บริการโดยไม่ต้องยืนยันตัวตน
| ไฟล์ | เนื้อหา |
|---|---|
/openapi.json | สคีมา OpenAPI 3.1 ฉบับเต็ม |
/.well-known/agent.json | ความสามารถ รูปแบบการยืนยันตัวตน และกติกาการทำงาน |
/llms.txt | ป้ายชี้ทางสั้น ๆ สำหรับโมเดลภาษา |
/llms-full.txt | ฉบับเดียวกัน พร้อมแค็ตตาล็อกครบถ้วน |
คำถามที่พบบ่อย
ต้องมีคีย์เพื่อใช้ API ของ OTPDrop หรือไม่
ไม่ต้อง ไม่มีอะไรให้ขอและไม่มีการอนุมัติ ตัวระบุคือวลีของบัญชี ส่งไปเป็น bearer token และปลายทางของแค็ตตาล็อกไม่ต้องใช้ด้วยซ้ำ
API ของ OTPDrop ราคาเท่าไร
ไม่มีค่าใช้จ่ายนอกเหนือจากตัวเบอร์เอง ไม่มีค่าสมาชิก ไม่มีการคิดเงินต่อการเรียก และไม่มีปริมาณขั้นต่ำ ราคาคือราคาเดียวกับที่แสดงบนเว็บไซต์
API ใช้กับภาษาโปรแกรมใดได้บ้าง
ภาษาใดก็ได้ที่ส่งคำขอ HTTPS ได้ มันคือ JSON ธรรมดาบน HTTP พร้อมส่วนหัว bearer ไม่มี SDK ให้ติดตั้ง และไม่มีอะไรให้ต้องตามเวอร์ชันของเรา
ถ้า SMS ไม่มาถึงจะเป็นอย่างไร
คำสั่งซื้อจะคืนเงินเข้ายอดเงินเองเมื่อหมดอายุ และคุณยกเลิกก่อนหน้านั้นจากเว็บไซต์ก็ได้ คุณจ่ายค่ารหัสที่ส่งถึงจริง ไม่ใช่จ่ายค่าความพยายาม
REST API กับเซิร์ฟเวอร์ MCP เป็นสิ่งเดียวกันหรือไม่
ใช่ โดยตั้งใจ ปลายทาง REST ทุกตัวคือคำแปลของการเรียกเครื่องมือ MCP ทั้งสองจึงแยกทางกันไม่ได้ แก้อย่างหนึ่งคือแก้อีกอย่างหนึ่ง เลือกใช้แบบที่เข้ากับไคลเอนต์ของคุณที่สุด
ทดสอบ API โดยไม่เสียเงินได้หรือไม่
แค็ตตาล็อก การคิดราคา และการสร้างบัญชีใช้ได้ฟรี งานเชื่อมต่อระบบส่วนใหญ่จึงเขียนและตรวจสอบได้ก่อนเติมเงินใด ๆ มีเพียงการซื้อเท่านั้นที่เสียเงิน