API ng pagtanggap ng SMS
Bumili ng numero at basahin ang code na pampatunay sa pamamagitan ng JSON API. Walang pagsusuri ng pagkakakilanlan, bayad sa cryptocurrency.
Paano nakaayos ang API?
- Gumawa ng account at itago ang ibinalik na parirala. Ito lamang ang pasukan, at hindi ito maire-reset.
- Gumawa ng deposito, ipadala ang cryptocurrency at hintaying maikredito ito.
- Bumili ng numero para sa nais na serbisyo at bansa — agad na kinakaltas ang balanse.
- Tanungin ang SMS na naglalaman ng code. Kung walang code na dumating bago mag-expire ang order, awtomatikong isinasauli ang pera.
Minsang magdeposito, madalas bumili: sinasakop ng isang deposito ang kasindaming numerong kaya ng balanse, kaya ang unang bili lamang ang naghihintay ng kumpirmasyon.
Authentication
Ipasa ang parirala ng account bilang bearer token. Walang hiwalay na API key at walang login call — ang parirala mismo ang identifier.
Authorization: Bearer YOUR-SEED-PHRASE
Walang hinihinging authentication ang mga endpoint ng katalogo: kaya matitingnan ang serbisyo, bansa at presyo bago pa magkaroon ng account. Lahat ng may kinalaman sa pera at sa order ay nangangailangan ng header.
Batayang address
Lahat ng endpoint ay may kaugnayan sa:
https://otpdrop.com/api/v1
Nasa JSON ang mga tugon. Tinatanggap ang POST body bilang application/json o
application/x-www-form-urlencoded.
Mga error
Kapag nabigo, isang status na wala sa 2xx ang ibinabalik kasama ang iisang error object.
{
"error": {
"code": "invalid_request",
"message": "unknown service: \"whatsap\""
}
}
| Status | Kahulugan |
|---|---|
200 | Tagumpay |
201 | Nagawa — umiiral na ang account, deposito o order |
401 | Wala o mali ang parirala sa Authorization header |
422 | Naunawaan ang kahilingan, ngunit hindi maisagawa |
500 | Kabiguan sa panig namin |
Mga karaniwang mensahe sa 422:
| Mensahe | Sanhi |
|---|---|
insufficient_funds | Mas mababa ang balanse sa presyo — gumawa muna ng deposito |
unknown service | Wala ang service code na ito; tingnan ang listahan ng serbisyo |
unknown country | Wala ang country code na ito; tingnan ang listahan ng bansa |
unknown coin | Hindi tanggap na barya; tingnan ang endpoint ng deposito |
amount_usd must be between… | Limitado ang deposito sa $25–$1000 |
May limitasyon ba sa bilis?
Walang inilathalang quota, at walang API key na masasakal — ngunit hindi libre ang paulit-ulit na pagtawag sa mga endpoint. Dalawa sa kanila ang ginawa para tanungin nang paulit-ulit at nangangailangan ng natatanging pag-iingat.
| Endpoint | Makatwirang bilis | Bakit |
|---|---|---|
| Katalogo at pagkuwenta ng presyo | I-cache sa panig ninyo | Bihirang magbago ang presyo; walang saysay na ikarga muli ang katalogo sa bawat kahilingan. |
/topups/{id} | Bawat 10 hanggang 15 segundo | Minuto, hindi milisegundo, ang inaabot ng kumpirmasyon ng network. Walang mas maagang malalaman sa mas madalas na pagtatanong. |
/orders/{id}/sms | Bawat 3 hanggang 5 segundo | Karaniwang dumarating ang code sa loob ng ilang segundo; karagdagang karga lamang ang idinadagdag ng mas masikip na loop. |
| Pagbili | Kung kailangan | Bawat bili ay tunay na pera ang kinakaltas, kaya mas magastos sa inyo kaysa sa amin ang loop na walang preno. |
Ang trapikong kamukha ng isang pag-atake ay haharangin sa itaas ng linya, nang walang magalang na
429. Kung may makatwiran kayong dahilan para magtanong nang mas madalas, sumulat muna sa
amin sa pahina ng kontak.
Ilista ang mga serbisyo
GET/api/v1/services
Lahat ng serbisyo kasama ang code, kategorya at pinakamababang presyo nito. Walang kailangang authentication.
Kahilingan
curl -s https://otpdrop.com/api/v1/services
Tugon
{
"services": [
{
"code": "binance",
"name": "Binance",
"category": "Finance",
"from_price_cents": 85,
"color": "#F0B90B",
"icon": "binance"
}
],
"count": 133
}
Ilista ang mga bansa
GET/api/v1/countries
Every country with its dial code and how many services are available there. No authentication required.
Kahilingan
curl -s https://otpdrop.com/api/v1/countries
Tugon
{
"countries": [
{
"code": "us",
"name": "United States",
"dial_code": "+1",
"service_count": 133
}
],
"count": 197
}
Matris ng presyo
GET/api/v1/catalog
The most useful service and country combinations with their prices, cheapest first. No authentication required.
Mga parameter
| Pangalan | Uri | Paglalarawan | |
|---|---|---|---|
limit | integer | opsiyonal | How many rows to return, 1 to 500. Defaults to 12. |
Kahilingan
curl -s 'https://otpdrop.com/api/v1/catalog?limit=2'
Tugon
{
"items": [
{
"service": "badoo",
"country": "us",
"price_cents": 35
}
],
"count": 2
}
Kuwentahin ang presyo
GET/api/v1/quote
The exact price for one service and country before you commit to buying. No authentication required.
Mga parameter
| Pangalan | Uri | Paglalarawan | |
|---|---|---|---|
service | string | kailangan | Service code, e.g. telegram |
country | string | kailangan | Country code, e.g. us |
Kahilingan
curl -s 'https://otpdrop.com/api/v1/quote?service=telegram&country=us'
Tugon
{
"service": "telegram",
"country": "us",
"price_cents": 111,
"price_usd": "1.11",
"currency": "USD",
"purchasable": true
}
Gumawa ng account
POST/api/v1/accounts
Generates an account and returns its seed. This is the only time the seed is ever shown. No authentication required.
Kahilingan
curl -s -X POST https://otpdrop.com/api/v1/accounts
Tugon
{
"public_id": "acc_7f3c1a92",
"seed": "PABh-ZbRt-9xKm-Lq4V",
"seed_prefix": "PABh",
"balance_cents": 0,
"warning": "This seed is shown exactly once, right now..."
}
Gumawa ng deposito
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.
Mga parameter
| Pangalan | Uri | Paglalarawan | |
|---|---|---|---|
amount_usd | number | kailangan | How much to add to the balance, in USD. Minimum 25, maximum 1000. |
coin | string | kailangan | BTC, LTC, ETH, XMR, SOL, TRX, BNB, USDT, USDC and more |
Kahilingan
curl -s -X POST https://otpdrop.com/api/v1/topups \
-H 'Authorization: Bearer YOUR-SEED' \
-H 'content-type: application/json' \
-d '{"amount_usd": 25, "coin": "XMR"}'
Tugon
{
"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
}
Katayuan ng deposito
GET/api/v1/topups/{id}
Whether a deposit has been credited. Confirmation is not instant — poll this rather than assuming the funds arrived.
Mga parameter
| Pangalan | Uri | Paglalarawan | |
|---|---|---|---|
id | string | kailangan | The top-up id, in the path |
Kahilingan
curl -s https://otpdrop.com/api/v1/topups/top_019195919c80fc8f \ -H 'Authorization: Bearer YOUR-SEED'
Tugon
{
"topup_id": "top_019195919c80fc8f",
"status": "credited",
"coin": "XMR",
"amount_usd": "25.00",
"coin_amount": "0.1337",
"credited_total_cents": 2500,
"expires_at": 1788532810
}
Bumili ng numero
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.
Mga parameter
| Pangalan | Uri | Paglalarawan | |
|---|---|---|---|
service | string | kailangan | Service code, e.g. telegram |
country | string | kailangan | Country code, e.g. us |
Kahilingan
curl -s -X POST https://otpdrop.com/api/v1/orders \
-H 'Authorization: Bearer YOUR-SEED' \
-H 'content-type: application/json' \
-d '{"service": "telegram", "country": "us"}'
Tugon
{
"order_id": "ord_1ad450bf7a42519c",
"service": "telegram",
"country": "us",
"phone": "+15558329008",
"status": "paid",
"price_usd": "1.11"
}
Ilista ang inyong mga order
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.
Kahilingan
curl -s https://otpdrop.com/api/v1/orders \ -H 'Authorization: Bearer YOUR-SEED'
Tugon
{
"orders": [
{
"order_id": "ord_1ad450bf7a42519c",
"service": "telegram",
"country": "us",
"phone": "+15558329008",
"status": "paid",
"price_usd": "1.11"
}
],
"count": 1
}
Tingnan ang isang order
GET/api/v1/orders/{id}
The current state of one order: its number, status and price.
Mga parameter
| Pangalan | Uri | Paglalarawan | |
|---|---|---|---|
id | string | kailangan | The order id, in the path |
Kahilingan
curl -s https://otpdrop.com/api/v1/orders/ord_1ad450bf7a42519c \ -H 'Authorization: Bearer YOUR-SEED'
Tugon
{
"order_id": "ord_1ad450bf7a42519c",
"service": "telegram",
"country": "us",
"phone": "+15558329008",
"status": "paid",
"price_usd": "1.11"
}
Kunin ang SMS na naglalaman ng code
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.
Mga parameter
| Pangalan | Uri | Paglalarawan | |
|---|---|---|---|
id | string | kailangan | The order id, in the path |
Kahilingan
curl -s https://otpdrop.com/api/v1/orders/ord_1ad450bf7a42519c/sms \ -H 'Authorization: Bearer YOUR-SEED'
Tugon
{
"order_id": "ord_1ad450bf7a42519c",
"status": "paid",
"arrived": false,
"code": null
}
Ano ang hitsura ng isang buong integrasyon?
Mula account hanggang code, anim na tawag. Tunay ang lahat ng sumusunod: i-paste at patakbuhin.
# 1. Gumawa ng account at itago ang parirala
SEED=$(curl -s -X POST https://otpdrop.com/api/v1/accounts | jq -r .seed)
# 2. Magdeposito — ipadala ang coin_amount sa ibinalik na address
curl -s -X POST https://otpdrop.com/api/v1/topups \
-H "Authorization: Bearer \$SEED" \
-H 'content-type: application/json' \
-d '{"amount_usd": 25, "coin": "USDT"}'
# 3. Magtanong hanggang maikredito ang deposito
curl -s https://otpdrop.com/api/v1/topups/TOPUP_ID \
-H "Authorization: Bearer \$SEED" | jq .status
# 4. Tingnan ang presyo bago bumili
curl -s 'https://otpdrop.com/api/v1/quote?service=telegram&country=us'
# 5. Bumili — kinakaltas ang balanse, agad na inihahatid ang numero
ORDER=$(curl -s -X POST https://otpdrop.com/api/v1/orders \
-H "Authorization: Bearer \$SEED" \
-H 'content-type: application/json' \
-d '{"service": "telegram", "country": "us"}' | jq -r .order_id)
# 6. Tanungin ang code
until curl -s https://otpdrop.com/api/v1/orders/\$ORDER/sms \
-H "Authorization: Bearer \$SEED" | jq -e .code; do sleep 4; done
Ang parehong pagkakasunod-sunod sa Python, walang shell:
import time, requests
API = "https://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 server
Makukuha ang mismong mga operasyon sa pamamagitan ng Model Context Protocol sa
https://otpdrop.com/mcp, bilang labing-isang tool. Para idagdag ito sa Claude Code:
claude mcp add --transport http otpdrop https://otpdrop.com/mcp
Nasa pahina para sa mga agent ang pagsasaayos at ang buong listahan ng tool.
Mga discovery file
Mga paglalarawan ng serbisyo na nababasa ng makina, lahat inihahain nang walang authentication.
| File | Laman |
|---|---|
/openapi.json | Ang buong OpenAPI 3.1 schema |
/.well-known/agent.json | Mga kakayahan, modelo ng authentication at tuntunin ng paggana |
/llms.txt | Maikling gabay para sa mga language model |
/llms-full.txt | Ganoon din, kasama ang buong katalogo |
Mga madalas itanong
Kailangan ba ng key para sa API ng OTPDrop?
Hindi. Walang hihilingin at walang pagsusuri. Ang parirala ng account ang identifier, na ipinapasa bilang bearer token — at hindi man lamang ito kailangan ng mga endpoint ng katalogo.
Magkano ang API ng OTPDrop?
Wala, bukod sa mga numero mismo. Walang subscription, walang bayad kada tawag, walang pinakamababang dami — ang presyo ay siya ring nasa site.
Sa anong mga programming language gumagana ang API?
Sa alinmang wikang kayang gumawa ng HTTPS request. Karaniwang JSON ito sa HTTP na may bearer header: walang SDK na ii-install, at walang isasabay sa aming mga bersiyon.
Ano ang mangyayari kung hindi dumating ang SMS?
Kusang isinasauli sa balanse ang bayad sa order pag-expire nito; puwede rin ninyo itong kanselahin nang mas maaga mula sa site. Binabayaran ninyo ang naihatid na code, hindi ang pagtatangka.
Iisa ba ang REST API at ang MCP server?
Oo, at sinadya iyon. Ang bawat REST endpoint ay salin ng isang MCP tool call, kaya hindi sila maaaring maghiwalay: ang pagbabago sa isa ay pagbabago sa isa pa. Piliin ang mas bagay sa inyong kliyente.
Puwede bang subukan ang API nang walang gastos?
Libre ang katalogo, ang pagkuwenta ng presyo at ang paggawa ng account: kaya masusulat at masusubukan ang halos buong integrasyon bago pa magdeposito. Ang pagbili lamang ang may gastos.