Geliştirici API

Doğrulamaları büyük ölçekte otomatikleştirin

SNSPhone API, kendi araçlarınızın ABD non-VoIP numaraları sipariş etmesine, SMS kodlarını okumasına ve kiralama işlemlerini yönetmesine olanak tanır. İki format: JSON ile REST API ve mevcut betikler için yaygın SMS aktivasyon formatı.

Hızlı başlangıç

Temel URL https://snsphone.com/api/v1. Konsolun API sayfasında bir anahtar oluşturun ve Authorization: Bearer spk_... olarak gönderin (veya bir anahtar alanı). Tüm numaralar ABD non-VoIP'dir. Para 2 ondalık basamaklı USD dizesi, zamanlar ISO 8601 UTC, her anahtar için dakikada 300 istek. Fiyatlar 2026-11-03 itibarıyla.

Python

import os, time, requests

API = "https://snsphone.com/api/v1"
H = {"Authorization": f"Bearer {os.environ['SNSPHONE_KEY']}"}

order = requests.post(f"{API}/orders", headers=H, data={"service": "google"}).json()["order"]
print("Use this US 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://snsphone.com/api/v1";
const H = { Authorization: `Bearer ${process.env.SNSPHONE_KEY}` };

const { order } = await fetch(`${API}/orders`, {
  method: "POST", headers: H, body: new URLSearchParams({ service: "discord" }),
}).then((r) => r.json());
console.log("Use this US 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);

Katalog

GET/services

Her hizmet kodu adı, kategorisi, doğrulama fiyatı ve kiralama dönemleri ile birlikte. Anahtar gerekmez.

Herkese açık, anahtar gerekmez.

curl "https://snsphone.com/api/v1/services"
{"country":"us","services":[{"code":"whatsapp","name":"WhatsApp","category":"Messaging","verification":"0.90","rentals":[]},{"code":"telegram","name":"Telegram","verification":"0.45","rentals":[{"days":365,"period":"1 year","price":"37.44"}]}]}

GET/prices?service=telegram

USD cinsinden fiyatlar, isteğe bağlı olarak bir hizmet için. Anahtar gerekmez.

Herkese açık, anahtar gerekmez.

curl "https://snsphone.com/api/v1/prices?service=telegram"
{"country":"us","prices":[{"service":"telegram","type":"verification","days":null,"price":"0.45"},{"service":"telegram","type":"rental","days":365,"price":"37.44"}]}

GET/balance

USD cinsinden bakiyeniz.

API anahtarınız gerekiyor.

curl "https://snsphone.com/api/v1/balance" \
  -H "Authorization: Bearer $KEY"
{"balance":"25.00","currency":"USD"}

Doğrulamalar

POST/orders

Bir doğrulama satın alır (201). ABD numarasını ve 20 dakikalık pencere süresinin bitiş zamanını döndürür.

API anahtarınız gerekiyor.

curl -X POST "https://snsphone.com/api/v1/orders" \
  -H "Authorization: Bearer $KEY" \
  -d "service=whatsapp"
{"order":{"id":"VR-7K2M9QX4PB","service":"whatsapp","country":"us","phone":"+14155550142","number":"4155550142","status":"waiting","code":null,"expires_at":"2026-11-03T12:20:00.000Z"},"window_minutes":20}

GET/orders/VR-7K2M9QX4PB

Bir doğrulama ve durumu ile alınan her kod. Durumlar: waiting, received, finished, refunded, canceled.

API anahtarınız gerekiyor.

curl "https://snsphone.com/api/v1/orders/VR-7K2M9QX4PB" \
  -H "Authorization: Bearer $KEY"
{"order":{"id":"VR-7K2M9QX4PB","status":"received","code":"482913","sms":"Your WhatsApp code is 482913"}}

GET/orders?status=open

Açık doğrulamalarınız (son 100 için status=all).

API anahtarınız gerekiyor.

curl "https://snsphone.com/api/v1/orders?status=open" \
  -H "Authorization: Bearer $KEY"
{"orders":[...]}

POST/orders/VR-7K2M9QX4PB/resend

İlk koddan sonra ve pencere açıkken aynı numaraya başka bir kod ister. Ek ücret yok.

API anahtarınız gerekiyor.

curl -X POST "https://snsphone.com/api/v1/orders/VR-7K2M9QX4PB/resend" \
  -H "Authorization: Bearer $KEY"
{"order":{"status":"received","waiting_for_resend":true}}

POST/orders/VR-7K2M9QX4PB/finish

Kodunu alan bir doğrulamayı kapatır.

API anahtarınız gerekiyor.

curl -X POST "https://snsphone.com/api/v1/orders/VR-7K2M9QX4PB/finish" \
  -H "Authorization: Bearer $KEY"
{"order":{"status":"finished"}}

POST/orders/VR-7K2M9QX4PB/cancel

Kod gelmeden önce iptal eder. Tam fiyat bakiyenize geri döner.

API anahtarınız gerekiyor.

curl -X POST "https://snsphone.com/api/v1/orders/VR-7K2M9QX4PB/cancel" \
  -H "Authorization: Bearer $KEY"
{"order":{"status":"canceled","refunded":"0.90"}}

Kiralama

POST/rentals

Bir hizmet ve dönem için bir ABD numarası kiralar (201). Hizmetin bir dönemi olduğunda days isteğe bağlıdır.

API anahtarınız gerekiyor.

curl -X POST "https://snsphone.com/api/v1/rentals" \
  -H "Authorization: Bearer $KEY" \
  -d "service=telegram&days=365"
{"rental":{"id":"RN-4J8T2W6QHM","service":"telegram","phone":"+13125550198","days":365,"period":"1 year","price":"37.44","status":"active","ends_at":"2027-11-03T12:00:00.000Z","messages":[]}}

GET/rentals?status=active

Aktif kiralama işlemleriniz ve son mesajları (son 100 için status=all).

API anahtarınız gerekiyor.

curl "https://snsphone.com/api/v1/rentals?status=active" \
  -H "Authorization: Bearer $KEY"
{"rentals":[...]}

GET/rentals/RN-4J8T2W6QHM

Bir kiralama ve üzerinde alınan her SMS.

API anahtarınız gerekiyor.

curl "https://snsphone.com/api/v1/rentals/RN-4J8T2W6QHM" \
  -H "Authorization: Bearer $KEY"
{"rental":{"id":"RN-4J8T2W6QHM","status":"active","messages":[{"from":"Telegram","sms":"Telegram code: 57291","code":"57291","received_at":"2026-11-03T12:01:12.000Z"}]}}

POST/rentals/RN-4J8T2W6QHM/renew

Aynı fiyata bir dönem daha ekler.

API anahtarınız gerekiyor.

curl -X POST "https://snsphone.com/api/v1/rentals/RN-4J8T2W6QHM/renew" \
  -H "Authorization: Bearer $KEY"
{"rental":{"renewed":1,"ends_at":"2028-11-02T12:00:00.000Z"}}

POST/rentals/RN-4J8T2W6QHM/cancel

Hiçbir SMS gelmemişken ilk 20 dakika içinde iptal eder. Ödenen her şey bakiyenize geri döner.

API anahtarınız gerekiyor.

curl -X POST "https://snsphone.com/api/v1/rentals/RN-4J8T2W6QHM/cancel" \
  -H "Authorization: Bearer $KEY"
{"rental":{"status":"canceled","refunded":"37.44"}}

SMS aktivasyon formatı

Ortak aktivasyon formatını zaten kullanan araçlar için. Bir URL, bir action alanı, düz metin cevaplar. Sadece doğrulamalar.

https://snsphone.com/stubs/handler_api.php?api_key=KEY&action=ACTION
EylemEk alanlarCevapAnlam
getBalanceyokACCESS_BALANCE:12.50USD cinsinden bakiyeniz.
getServicesListyok{"status":"success","services":[{"code":"whatsapp","name":"WhatsApp"}]}Doğrulama fiyatı olan hizmet kodları (JSON).
getCountriesyok{"us":{"name":"United States","dial":"1"}}Sadece ABD. country us, 187 olabilir veya boş bırakılabilir.
getPrices&service=whatsapp{"us":{"whatsapp":{"cost":0.9,"count":100}}}USD cinsinden fiyatlar. Hizmet filtresi isteğe bağlıdır.
getNumber&service=whatsapp&country=usACCESS_NUMBER:VR-7K2M9QX4PB:14155550142Bir doğrulama satın alır. id ve önünde 1 olan numarayı döndürür.
getStatus&id=VR-7K2M9QX4PBSTATUS_OK:482913STATUS_WAIT_CODE, STATUS_OK:<code>, STATUS_WAIT_RETRY:<last code> (başka bir kod istendi), STATUS_CANCEL (iptal edildi veya iade edildi).
setStatus&id=VR-7K2M9QX4PB&status=3ACCESS_RETRY_GETstatus=1 hazır (ACCESS_READY), 3 başka bir kod (ACCESS_RETRY_GET), 6 bitir (ACCESS_ACTIVATION), 8 kod gelmeden tam iade ile iptal (ACCESS_CANCEL).

Hatalar

REST hataları {"error":{"code","message"}} ile bu durum kodları olarak gelir. Aktivasyon formatı düz bir kelime ile cevap verir.

400Eksik veya hatalı alan (bad_json, bad_period).
401Anahtar eksik veya yanlış (no_key, bad_key).
402Yetersiz bakiye (no_balance).
404Bilinmeyen servis, sipariş, kiralama veya endpoint, ya da servisin sahip olmadığı bir ürün (not_sold).
409Şu anda mümkün değil (has_code, has_sms, too_late, not_ready, too_many_open, too_many_active, no_numbers).
429Bir dakikada 300'den fazla istek (rate_limited).
BAD_KEYAPI anahtarı eksik veya yanlış.
BAD_ACTIONBilinmeyen işlem.
BAD_SERVICEBilinmeyen servis kodu.
BAD_COUNTRYAmerika Birleşik Devletleri değil veya servis yalnızca kiralama olarak satılıyor.
NO_BALANCEYetersiz bakiye.
NO_NUMBERSŞu anda uygun numara yok. Biraz sonra tekrar deneyin.
NO_ACTIVATIONBilinmeyen id veya size ait değil.
EARLY_CANCEL_DENIEDBir kod zaten geldi, bu yüzden iptal edilemez.
NO_ACTIVATIONSZaten 20 doğrulama açık.
TOO_MANY_REQUESTSBir dakikada 300'den fazla istek.

API soruları

Anahtarlar, limitler ve sorgulama, cevaplandı.

SNSPhone'ın bir SMS doğrulama API'sı var mı?

Evet. Servisler, fiyatlar, doğrulamalar ve kiralamalar için /api/v1'de JSON ile bir REST API ve /stubs/handler_api.php'de yaygın SMS aktivasyon formatı mevcut.

API isteklerini nasıl doğrularım?

Konsolun API sayfasında bir anahtar oluşturun ve Authorization: Bearer spk_... olarak veya bir key alanı olarak gönderin. Anahtarlar yalnızca hash olarak saklanır ve bir kez gösterilir.

API oran limitleri nelerdir?

Her anahtar için dakikada 300 istek, her hesap için 20 açık doğrulama ve 20 aktif kiralama.

API siparişleri web sitesi siparişlerinden daha mı pahalı?

Hayır. API, konsolla aynı fiyatları ve aynı iade kurallarını kullanır.

Kodun geldiğini nasıl anlarım?

Birkaç saniyede bir GET /orders/{id} sorgulayın. Durum waiting'den received'a değişir ve code alanı rakamları içerir.

Non-VoIP SMS Doğrulama API'sı: REST ile ABD Numaraları | SNSPhone