SMS doğrulama API’si
JSON tabanlı bir API üzerinden numara alın ve doğrulama kodlarını okuyun. Kimlik istenmez, yalnızca kripto.
API’nin parçaları nasıl birleşiyor?
- Bir hesap açın ve dönen tohum ifadesini saklayın. Tek kimlik bilgisi odur ve sıfırlanamaz.
- Bir yükleme oluşturun, kriptoyu gönderin ve hesaba geçmesini bekleyin.
- İhtiyacınız olan servis ve ülke için numarayı alın — bakiye anında düşer.
- SMS kodunu sorgulayın. Sipariş süresi dolmadan kod gelmezse otomatik iade olur.
Bir kez yükleyin, çok kez alın: tek bir yükleme, bakiyesinin yettiği kadar numarayı karşılar; dolayısıyla yalnızca ilk alışveriş bir onay bekler.
Kimlik doğrulama
Hesap tohumunu bearer belirteci olarak gönderin. Ayrı bir API anahtarı ve giriş çağrısı yok — tohumun kendisi kimlik bilgisidir.
Authorization: Bearer YOUR-SEED-PHRASE
Katalog uç noktaları hiçbir kimlik doğrulaması istemez; böylece hesap var olmadan önce servislere, ülkelere ve fiyatlara bakabilirsiniz. Paraya ya da siparişlere dokunan her şey bu başlığı gerektirir.
Temel adres
Tüm uç noktalar şuna görelidir:
https://www.otpdrop.com/api/v1
Yanıtlar JSON’dur. POST gövdeleri application/json ya da
application/x-www-form-urlencoded olarak kabul edilir.
Hatalar
Başarısızlıklar 2xx dışında bir durum kodu ve tek bir hata nesnesi döndürür.
{
"error": {
"code": "invalid_request",
"message": "unknown service: \"whatsap\""
}
}
| Durum | Anlamı |
|---|---|
200 | Başarılı |
201 | Oluşturuldu — bir hesap, yükleme ya da sipariş artık var |
401 | Authorization başlığında tohum yok ya da geçersiz |
422 | İstek anlaşıldı ama yerine getirilemedi |
500 | Bizim tarafımızda bir şey ters gitti |
Sık görülen 422 iletileri:
| İleti | Nedeni |
|---|---|
insufficient_funds | Bakiye fiyatın altında — önce bir yükleme oluşturun |
unknown service | Böyle bir servis kodu yok; «servisleri listele»ye bakın |
unknown country | Böyle bir ülke kodu yok; «ülkeleri listele»ye bakın |
unknown coin | Bu para kabul edilmiyor; yükleme uç noktasına bakın |
amount_usd must be between… | Yüklemeler $25–$1000 aralığındadır |
Hız sınırı var mı?
Yayımlanmış bir kota ve kısıtlanacak bir API anahtarı yok; ama uç noktaları döngüde çağırmak bedava değil. Bunlardan ikisi düzenli sorgulama için tasarlanmıştır ve ayrı bir özen ister.
| Uç nokta | Makul tempo | Nedeni |
|---|---|---|
| Katalog ve fiyat sorguları | Kendi tarafınızda önbelleğe alın | Fiyatlar seyrek değişir; kataloğu her istekte çekmeye gerek yok. |
/topups/{id} | 10-15 saniyede bir | Ağ onayı milisaniyelerle değil dakikalarla ölçülür. Daha sık sormak size bir şeyi daha erken söylemez. |
/orders/{id}/sms | 3-5 saniyede bir | Kodlar genellikle saniyeler içinde gelir; daha sıkı bir döngü yalnızca yük ekler. |
| Satın alma | Gerektikçe | Her alışveriş gerçek bir bakiyeden düşer; kontrolsüz bir döngü bize maliyet çıkarmadan önce sizin paranızı yakar. |
Saldırıya benzeyen trafik, nazik bir 429 gönderilmeden kenarda engellenir. Daha sık
sorgulamak için haklı bir nedeniniz varsa önce iletişim sayfasından yazın.
Servisleri listele
GET/api/v1/services
Her servis; kodu, kategorisi ve en düşük fiyatıyla. Kimlik doğrulama gerekmez.
İstek
curl -s https://www.otpdrop.com/api/v1/services
Yanıt
{
"services": [
{
"code": "binance",
"name": "Binance",
"category": "Finance",
"from_price_cents": 85,
"color": "#F0B90B",
"icon": "binance"
}
],
"count": 133
}
Ülkeleri listele
GET/api/v1/countries
Every country with its dial code and how many services are available there. No authentication required.
İstek
curl -s https://www.otpdrop.com/api/v1/countries
Yanıt
{
"countries": [
{
"code": "us",
"name": "United States",
"dial_code": "+1",
"service_count": 133
}
],
"count": 197
}
Fiyat matrisi
GET/api/v1/catalog
The most useful service and country combinations with their prices, cheapest first. No authentication required.
Parametreler
| Ad | Tür | Açıklama | |
|---|---|---|---|
limit | integer | isteğe bağlı | How many rows to return, 1 to 500. Defaults to 12. |
İstek
curl -s 'https://www.otpdrop.com/api/v1/catalog?limit=2'
Yanıt
{
"items": [
{
"service": "badoo",
"country": "us",
"price_cents": 35
}
],
"count": 2
}
Fiyat sor
GET/api/v1/quote
The exact price for one service and country before you commit to buying. No authentication required.
Parametreler
| Ad | Tür | Açıklama | |
|---|---|---|---|
service | string | zorunlu | Service code, e.g. telegram |
country | string | zorunlu | Country code, e.g. us |
İstek
curl -s 'https://www.otpdrop.com/api/v1/quote?service=telegram&country=us'
Yanıt
{
"service": "telegram",
"country": "us",
"price_cents": 111,
"price_usd": "1.11",
"currency": "USD",
"purchasable": true
}
Hesap oluştur
POST/api/v1/accounts
Generates an account and returns its seed. This is the only time the seed is ever shown. No authentication required.
İstek
curl -s -X POST https://www.otpdrop.com/api/v1/accounts
Yanıt
{
"public_id": "acc_7f3c1a92",
"seed": "PABh-ZbRt-9xKm-Lq4V",
"seed_prefix": "PABh",
"balance_cents": 0,
"warning": "This seed is shown exactly once, right now..."
}
Yükleme oluştur
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.
Parametreler
| Ad | Tür | Açıklama | |
|---|---|---|---|
amount_usd | number | zorunlu | How much to add to the balance, in USD. Minimum 25, maximum 1000. |
coin | string | zorunlu | BTC, LTC, ETH, XMR, SOL, TRX, BNB, USDT, USDC and more |
İstek
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"}'
Yanıt
{
"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
}
Yükleme durumu
GET/api/v1/topups/{id}
Whether a deposit has been credited. Confirmation is not instant — poll this rather than assuming the funds arrived.
Parametreler
| Ad | Tür | Açıklama | |
|---|---|---|---|
id | string | zorunlu | The top-up id, in the path |
İstek
curl -s https://www.otpdrop.com/api/v1/topups/top_019195919c80fc8f \ -H 'Authorization: Bearer YOUR-SEED'
Yanıt
{
"topup_id": "top_019195919c80fc8f",
"status": "credited",
"coin": "XMR",
"amount_usd": "25.00",
"coin_amount": "0.1337",
"credited_total_cents": 2500,
"expires_at": 1788532810
}
Numara satın al
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.
Parametreler
| Ad | Tür | Açıklama | |
|---|---|---|---|
service | string | zorunlu | Service code, e.g. telegram |
country | string | zorunlu | Country code, e.g. us |
İstek
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"}'
Yanıt
{
"order_id": "ord_1ad450bf7a42519c",
"service": "telegram",
"country": "us",
"phone": "+15558329008",
"status": "paid",
"price_usd": "1.11"
}
Siparişlerinizi listele
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.
İstek
curl -s https://www.otpdrop.com/api/v1/orders \ -H 'Authorization: Bearer YOUR-SEED'
Yanıt
{
"orders": [
{
"order_id": "ord_1ad450bf7a42519c",
"service": "telegram",
"country": "us",
"phone": "+15558329008",
"status": "paid",
"price_usd": "1.11"
}
],
"count": 1
}
Bir siparişi getir
GET/api/v1/orders/{id}
The current state of one order: its number, status and price.
Parametreler
| Ad | Tür | Açıklama | |
|---|---|---|---|
id | string | zorunlu | The order id, in the path |
İstek
curl -s https://www.otpdrop.com/api/v1/orders/ord_1ad450bf7a42519c \ -H 'Authorization: Bearer YOUR-SEED'
Yanıt
{
"order_id": "ord_1ad450bf7a42519c",
"service": "telegram",
"country": "us",
"phone": "+15558329008",
"status": "paid",
"price_usd": "1.11"
}
SMS kodunu getir
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.
Parametreler
| Ad | Tür | Açıklama | |
|---|---|---|---|
id | string | zorunlu | The order id, in the path |
İstek
curl -s https://www.otpdrop.com/api/v1/orders/ord_1ad450bf7a42519c/sms \ -H 'Authorization: Bearer YOUR-SEED'
Yanıt
{
"order_id": "ord_1ad450bf7a42519c",
"status": "paid",
"arrived": false,
"code": null
}
Tam bir entegrasyon nasıl görünür?
Hesaptan koda altı çağrı. Aşağıdaki her şey gerçek: yapıştırın, çalışır.
# 1. Hesap aç ve tohumu sakla
SEED=$(curl -s -X POST https://www.otpdrop.com/api/v1/accounts | jq -r .seed)
# 2. Yükle — dönen adrese coin_amount kadar gönder
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. Yatırma hesaba geçene kadar sor
curl -s https://www.otpdrop.com/api/v1/topups/TOPUP_ID \
-H "Authorization: Bearer \$SEED" | jq .status
# 4. Karar vermeden önce fiyata bak
curl -s 'https://www.otpdrop.com/api/v1/quote?service=telegram&country=us'
# 5. Satın al — bakiye düşer, numara hemen verilir
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. Kodu sor
until curl -s https://www.otpdrop.com/api/v1/orders/\$ORDER/sms \
-H "Authorization: Bearer \$SEED" | jq -e .code; do sleep 4; done
Kabuk olmadan, aynı sıra Python ile:
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 sunucusu
Aynı işlemler Model Context Protocol üzerinden https://www.otpdrop.com/mcp adresinde, on bir araç olarak
sunulur. Claude Code’a eklemek için:
claude mcp add --transport http otpdrop https://www.otpdrop.com/mcp
Kurulum ve araçların tam listesi Aracılar sayfasında.
Keşif dosyaları
Servisin makinece okunabilir tanımları; hepsi kimlik doğrulaması olmadan sunulur.
| Dosya | İçerik |
|---|---|
/openapi.json | Eksiksiz OpenAPI 3.1 şeması |
/.well-known/agent.json | Yetenekler, kimlik doğrulama modeli ve iş kuralları |
/llms.txt | Dil modelleri için kısa bir tanıtım |
/llms-full.txt | Aynısı, kataloğun tamamı gömülü hâlde |
Sık sorulan sorular
OTPDrop API’si için anahtar gerekiyor mu?
Hayır. Başvurulacak bir şey ve onay adımı yok. Kimlik bilgisi, bearer belirteci olarak gönderilen hesap tohumudur; katalog uç noktaları ise hiçbir kimlik bilgisi istemez.
OTPDrop API’sinin maliyeti nedir?
Satın aldığınız numaraların ötesinde hiçbir şey. Abonelik, çağrı başına ücret ya da asgari hacim yok — siteyi kullananla aynı fiyatları ödersiniz.
API hangi programlama dilleriyle çalışır?
HTTPS isteği yapabilen her dille. Bearer başlıklı, HTTP üzerinden düz JSON; kurulacak SDK ve sürümlerimizle senkron tutulacak bir şey yok.
SMS kodu hiç gelmezse ne olur?
Süresi dolduğunda sipariş kendi kendini bakiyenize iade eder; daha erken iptal etmeyi site üzerinden yapabilirsiniz. Teslim edilen kodlar için ücretlendirilirsiniz, denemeler için değil.
REST API ile MCP sunucusu aynı şey mi?
Evet, bilinçli olarak. Her REST uç noktası bir MCP araç çağrısının çevirisidir, dolayısıyla ikisi birbirinden ayrışamaz: birini düzeltmek diğerini de düzeltir. İstemcinize hangisi uyuyorsa onu seçin.
API hiçbir şey harcamadan denenebilir mi?
Katalog, fiyat sorgusu ve hesap açma ücretsizdir; bu yüzden bakiye yüklemeden önce entegrasyonun büyük bölümünü kurup deneyebilirsiniz. Yalnızca satın almak para tutar.