SNSOTP OTP API
SMS doğrulama için bir REST API. 182 hizmetinden birini 154 ülkede sipariş edin, siparişten tek kullanımlık kodu okuyun ve 20 dakika içinde kod gelmezse tam fiyatı geri alın.
Her endpoint, parametreleri sorgu parametreleri (GET) veya form alanları veya JSON (POST) olarak kabul eder. Yanıtlar JSON'dur; para iki ondalık basamaklı bir USD dizesidir ve zamanlar UTC'de ISO 8601 formatındadır.
https://snsotp.com/api/v1
konsol'dan aldığınız API anahtarınız, Authorization: Bearer sok_... olarak gönderilir
Kimlik doğrulama
Konsolun API sayfasında bir anahtar oluşturun. sok_ ile başlar ve bir kez gösterilir, bu yüzden bir ortam değişkeninde saklayın. Anahtarın değiştirilmesi eski anahtarı hemen durdurur. /services, /countries ve /prices çağrıları anahtar olmadan çalışır.
Authorization: Bearer sok_your_key_here
Anahtar, key sorgu parametresi veya form alanı olarak da gönderilebilir, bu başlık ayarlayamayan araçlara yardımcı olur.
Hızlı başlangıç
Bir numara sipariş edin, uygulamaya verin, ardından kod gelene kadar siparişi sorgulayın. Aynı akış dört dilde:
# 1. Order a number for whatsapp in US
curl -X POST https://snsotp.com/api/v1/orders \
-H "Authorization: Bearer $SNSOTP_KEY" \
-d service=whatsapp -d country=us
# 2. Read the code (poll every 3 to 5 seconds)
curl https://snsotp.com/api/v1/orders/OT-7K2M9QX4PB \
-H "Authorization: Bearer $SNSOTP_KEY"GET/services
Her hizmet kodu ve en düşük fiyatıyla · anahtar gerekmez
Sipariş edebileceğiniz her hizmet, kodu (diğer çağrılarda hizmet olarak kullanın), kategorisi ve ülkeler arasındaki en düşük fiyatı ile birlikte. Anahtar gerekmez.
curl https://snsotp.com/api/v1/services
{
"services": [
{ "code": "whatsapp", "name": "WhatsApp", "category": "social", "from": "0.09" },
{ "code": "telegram", "name": "Telegram", "category": "social", "from": "0.03" }
]
}GET/countries
Her ülke kodu ve telefon koduyla · anahtar gerekmez
Her ülke, kodu (ISO 3166 alpha-2 küçük harf, ülke olarak kullanın) ve telefon kodu ile birlikte. Anahtar gerekmez.
curl https://snsotp.com/api/v1/countries
{
"countries": [
{ "code": "us", "name": "United States", "dial_code": "1" },
{ "code": "gb", "name": "United Kingdom", "dial_code": "44" }
]
}GET/prices
Bir hizmet, bir ülke veya her ikisi için fiyatlar · anahtar gerekmez
Her ülke için bir hizmetin sipariş başına fiyatı, her hizmet için bir ülke veya bir çift. En az bir filtre gönderin. Anahtar gerekmez.
Parametreler
servicestring
Hizmet kodu, örneğin whatsapp
countrystring
Ülke kodu, örneğin us
curl "https://snsotp.com/api/v1/prices?service=whatsapp&country=us"
{
"prices": [
{ "service": "whatsapp", "country": "us", "price": "0.93" }
]
}GET/balance
USD cinsinden bakiyeniz · anahtar gerekli
Bakiyeniz USD cinsinden.
curl https://snsotp.com/api/v1/balance \ -H "Authorization: Bearer $SNSOTP_KEY"
{
"balance": "42.50",
"currency": "USD"
}POST/orders
Bir hizmet ve ülke için numara sipariş edin · anahtar gerekli
Bir numara sipariş eder ve fiyatını ücretlendirir. Yanıt, numarayı tam (phone) ve telefon kodu olmadan (number) içerir. Sipariş 20 dakika boyunca açık kalır; bu süre içinde kod gelmezse fiyat otomatik olarak bakiyenize geri döner. Yanıt durumu 201.
Parametreler
servicestringgerekli
GET /services'den hizmet kodu
countrystringgerekli
GET /countries'den ülke kodu
curl -X POST https://snsotp.com/api/v1/orders \ -H "Authorization: Bearer $SNSOTP_KEY" \ -d service=whatsapp -d country=us
{
"order": {
"id": "OT-7K2M9QX4PB",
"service": "whatsapp",
"country": "us",
"phone": "+13475550182",
"number": "3475550182",
"dial_code": "1",
"price": "0.93",
"status": "waiting",
"code": null,
"sms": null,
"codes": [],
"expires_at": "2026-11-03T12:20:00.000Z"
},
"window_minutes": 20
}GET/orders/{id}
Bir siparişin durumu, kodu ve SMS metni · anahtar gerekli
Durumu, en son kodu, en son SMS metni ve şu ana kadar alınan tüm kodları ile bir sipariş. Durum waiting iken her 3 ila 5 saniyede bir sorgulayın.
Parametreler
idpathgerekli
POST /orders'dan sipariş kimliği
curl https://snsotp.com/api/v1/orders/OT-7K2M9QX4PB \ -H "Authorization: Bearer $SNSOTP_KEY"
{
"order": {
"id": "OT-7K2M9QX4PB",
"service": "whatsapp",
"country": "us",
"phone": "+13475550182",
"number": "3475550182",
"price": "0.93",
"status": "received",
"code": "284913",
"sms": "Your WhatsApp code is 284913",
"expires_at": "2026-11-03T12:20:00.000Z"
}
}GET/orders
Açık siparişleriniz (veya status=all ile tümü) · anahtar gerekli
Açık siparişleriniz, en yeni önce. Her durumdaki son siparişler için status=all ekleyin.
Parametreler
statusstring
open (varsayılan) veya all
limitnumber
1 ila 100, varsayılan 50
curl "https://snsotp.com/api/v1/orders?status=open" \ -H "Authorization: Bearer $SNSOTP_KEY"
{
"orders": [
{ "id": "OT-7K2M9QX4PB", "service": "whatsapp", "status": "received", "code": "284913" }
]
}POST/orders/{id}/resend
Aynı numarada başka bir kod · anahtar gerekli
İlk koddan sonra, pencere içinde, ek bir maliyet olmadan aynı numara için başka bir kod ister. Ardından uygulamada yeni bir SMS tetikleyin; waiting_for_resend, SMS gelene kadar true olur.
Parametreler
idpathgerekli
Sipariş kimliği
curl -X POST https://snsotp.com/api/v1/orders/OT-7K2M9QX4PB/resend \ -H "Authorization: Bearer $SNSOTP_KEY"
{
"order": { "id": "OT-7K2M9QX4PB", "status": "received", "waiting_for_resend": true }
}POST/orders/{id}/finish
Kodu kullandıktan sonra siparişi kapatın · anahtar gerekli
Bir kodu aldıktan sonra siparişi kapatır. Bitirme isteğe bağlıdır: açık siparişler pencere sona erdiğinde kendiliğinden kapanır.
Parametreler
idpathgerekli
Sipariş kimliği
curl -X POST https://snsotp.com/api/v1/orders/OT-7K2M9QX4PB/finish \ -H "Authorization: Bearer $SNSOTP_KEY"
{
"order": { "id": "OT-7K2M9QX4PB", "status": "finished" }
}POST/orders/{id}/cancel
Kod gelmeden iptal edin, tam iade · anahtar gerekli
Bir kod gelmeden önce siparişi iptal eder ve tam fiyatı hemen bakiyenize geri yükler. Bir koddan sonra, iptal has_code yanıtı verir.
Parametreler
idpathgerekli
Sipariş kimliği
curl -X POST https://snsotp.com/api/v1/orders/OT-7K2M9QX4PB/cancel \ -H "Authorization: Bearer $SNSOTP_KEY"
{
"order": { "id": "OT-7K2M9QX4PB", "status": "canceled", "refunded": "0.93" }
}Sipariş durumu
waitingNumara hazır ve henüz bir SMS gelmedi. İptal mümkündür.receivedEn az bir kod geldi. code ve sms en son kodu içerir.finishedBir koddan sonra, finish ile veya pencere sona erdiğinde kapatıldı.refunded20 dakika içinde kod gelmedi. Tam fiyat bakiyenize geri döndü.canceledBir koddan önce iptal edildi. Tam fiyat bakiyenize geri döndü.
Hatalar
Hatalar HTTP durumunu ve sabit bir kod ile okunabilir bir mesaj içeren bir gövde kullanır.
- 400
missing_filter, bad_jsonGerekli bir değer eksik veya gövde okunamıyor. - 401
no_key, bad_keyAnahtar eksik, yanlış veya silinmiş. - 402
no_balanceBu sipariş için yeterli bakiye yok. Konsoldan bakiye ekleyin. - 404
unknown_service, unknown_country, not_sold, not_foundKod veya sipariş mevcut değil veya çift satılmıyor. - 409
too_many_open, has_code, not_ready, no_numbersEylem sipariş durumuna uymuyor veya şu anda boş numara yok (hiçbir şey ücretlendirilmez). - 429
rate_limitedBir anahtarla bir dakikada 300'den fazla istek.
{
"error": {
"code": "no_balance",
"message": "Not enough credit. Add credit in the console."
}
}Oran sınırları
- Her anahtar için dakikada 300 istek. Bunun üzerinde API, dakikanın geri kalanı için 429 rate_limited yanıtı verir.
- Hesap başına en fazla 20 açık sipariş. Başka bir sipariş açmak için birini bitirin veya iptal edin.
- Bir siparişi her 3 ila 5 saniyede bir kontrol edin; kodlar genellikle bir dakika içinde gelir.
SMS aktivasyon formatı
handler_api.php formatı için yazılmış betikler aynı API anahtarı ile çalışır: temel adresi https://snsotp.com/stubs/handler_api.php olarak değiştirin ve işlemleri aynı tutun. Servis ve ülke kodları REST API ile aynıdır.
getBalanceACCESS_BALANCE:42.50
getServicesListServislerin JSON listesi
getCountriesÜlkelerin JSON haritası
getPricesservice, country (isteğe bağlı)JSON {country: {service: {cost, count}}}
getNumberservice, countryACCESS_NUMBER:<id>:<phone>
getStatusidSTATUS_WAIT_CODE, STATUS_OK:<code>, STATUS_WAIT_RETRY:<code>, STATUS_CANCEL
setStatusid, status 1 / 3 / 6 / 8ACCESS_READY, ACCESS_RETRY_GET, ACCESS_ACTIVATION, ACCESS_CANCEL
curl "https://snsotp.com/stubs/handler_api.php\ ?api_key=$SNSOTP_KEY&action=getNumber\ &service=telegram&country=gb" ACCESS_NUMBER:OT-3QF8ZK2W7M:447700900182
setStatus değerleri: 1 hazır, 3 başka bir kod, 6 bitir, 8 tam iade ile iptal.