Temel URL https://snsverify.com/api/v1
Bu sayfadaki her yol onunla ilişkilidir. Tutarlar ABD doları olarak iki ondalık basamaklı dizeler halindedir, zamanlar UTC'dir (ISO 8601).
İki format, bir hesap
Bu sayfa JSON ile REST API'yi açıklamaktadır. Aracınız zaten ortak SMS aktivasyon formatını (handler_api.php ile action= parametreleri) destekliyorsa, SMS aktivasyon API'sini kullanın. Her ikisi de API anahtarınızı, fiyatları, açık aktivasyonları ve iadeleri paylaşır.
Genel Bakış
Bir SMS doğrulama API'si, yazılımınızın web sitesini açmadan bir uygulama için telefon numarası satın almasına, doğrulama SMS'ini beklemesine ve kodu okumasına olanak tanır. Her sipariş bir aktivasyondur: bir hizmet, bir ülke, bir numara ve 20 dakikalık bir pencere. Kod alınmayan siparişler pencerenin sonunda tam olarak iade edilir.
İstekler okuma için GET ve eylemler için POST kullanır. POST gövdeleri form alanları veya JSON olabilir. Başarılı yanıtlar JSON nesneleridir; hatalar her yerde aynı şekildedir: {"error":{"code":"...","message":"..."}}.
Kimlik Doğrulama
Konsolda API anahtarı altında bir API anahtarı oluşturun. Bir kez gösterilir; biz yalnızca şifrelenmiş bir kopyasını saklarız. Yetkilendirme başlığında taşıyıcı belirteç olarak gönderin. Başlık ayarlayamayan araçlar için bir anahtar parametresi de kabul edilir.
Authorization: Bearer vfk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Yeni bir anahtar oluşturmak eskisini hemen değiştirir. Hizmetler, ülkeler ve fiyatlar uç noktaları anahtar olmadan çalışır.
Hatalar
| HTTP | Anlam |
|---|---|
| 400 | Eksik veya hatalı alan (missing_filter, bad_json). |
| 401 | Anahtar yok veya yanlış anahtar (no_key, bad_key). |
| 402 | Yeterli bakiye yok (no_balance). |
| 404 | Bilinmeyen hizmet, ülke, sipariş veya uç nokta. |
| 409 | Sipariş şu anda bunu yapamaz (has_code, not_ready, too_many_open, no_numbers). |
| 429 | Bir dakikada 300'den fazla istek (rate_limited). |
Hızlı Başlangıç
curl ile bir İngiltere WhatsApp numarası sipariş edin, ardından kod gelene kadar siparişi birkaç saniyede bir kontrol edin.
curl -X POST https://snsverify.com/api/v1/orders \ -H "Authorization: Bearer $SNSVERIFY_KEY" \ -d service=whatsapp -d country=gb
Python
import os, time, requests
API = "https://snsverify.com/api/v1"
H = {"Authorization": f"Bearer {os.environ['SNSVERIFY_KEY']}"}
order = requests.post(f"{API}/orders", headers=H,
data={"service": "whatsapp", "country": "gb"}).json()["order"]
print("Use this 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://snsverify.com/api/v1";
const H = { Authorization: `Bearer ${process.env.SNSVERIFY_KEY}` };
const { order } = await fetch(`${API}/orders`, {
method: "POST", headers: H,
body: new URLSearchParams({ service: "telegram", country: "nl" }),
}).then((r) => r.json());
console.log("Use this 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);Oran Sınırları
Her anahtar için dakikada 300 istek ve hesap başına en fazla 20 açık sipariş. Bir siparişi her 3 ila 5 saniyede bir kontrol etmek yeterlidir: çoğu kod bir dakika içinde gelir.
Sipariş Durumları
waitingNumara açık ve henüz bir kod gelmedi.receivedEn az bir kod geldi; pencere açıkken resend ile bir tane daha isteyin.finishedBir koddan sonra, siz veya pencerenin sonunda kapatıldı.refundedPencere kod olmadan sona erdi; tam fiyat bakiyenize iade edildi.canceledBir kod gelmeden iptal ettiniz; tam fiyat bakiyenize iade edildi.
Uç Noktalar
GET/services
Adı, kategorisi ve en düşük fiyatı ile her hizmet kodu. Anahtar gerekmez.
{"services":[{"code":"whatsapp","name":"WhatsApp","category":"social","from":"0.31"}]}GET/countries
Adı ve arama kodu ile her ülke kodu (ISO, küçük harf). Anahtar gerekmez.
{"countries":[{"code":"gb","name":"United Kingdom","dial_code":"44"}]}GET/prices?service=whatsapp&country=gb
USD cinsinden fiyatlar. Hizmet, ülke veya her ikisine göre filtreleyin. Anahtar gerekmez.
{"prices":[{"service":"whatsapp","country":"gb","price":"0.94"}]}GET/balance
USD cinsinden bakiyeniz.
{"balance":"25.00","currency":"USD"}POST/orders
Bir numara satın alır (HTTP 201). Telefon numarası ve pencerenin bittiği zaman ile siparişi döndürür.
Gövde: service=whatsapp&country=gb
{"order":{"id":"AC-7K2M9QX4PB","service":"whatsapp","country":"gb","phone":"+447700900123","price":"0.94","status":"waiting","code":null,"expires_at":"2026-11-04T12:20:00.000Z"},"window_minutes":20}GET/orders/AC-7K2M9QX4PB
Durumu ve alınan her kod ile bir sipariş. Durumlar: waiting, received, finished, refunded, canceled.
{"order":{"id":"AC-7K2M9QX4PB","status":"received","code":"482915","sms":"Your WhatsApp code: 482-915"}}GET/orders?status=open
Açık siparişleriniz; status=all son 100'ü döndürür.
{"orders":[{"id":"AC-7K2M9QX4PB","status":"waiting"}]}POST/orders/AC-7K2M9QX4PB/resend
İlk koddan sonra aynı numarada pencere açıkken başka bir kod ister. Ek ücret yoktur.
{"order":{"status":"received","waiting_for_resend":true}}POST/orders/AC-7K2M9QX4PB/finish
Kodunu alan bir siparişi kapatır.
{"order":{"status":"finished"}}POST/orders/AC-7K2M9QX4PB/cancel
Bir kod gelmeden iptal eder. Tam fiyat bakiyenize iade edilir.
{"order":{"status":"canceled","refunded":"0.94"}}