208 apl154 negara

API v12026-11-04

API JSON untuk memesan nombor pengesahan dan membaca kod SMS.

URL Asas https://snsverify.com/api/v1

Setiap laluan pada halaman ini adalah relatif kepadanya. Jumlah dalam dolar AS sebagai rentetan dengan dua perpuluhan, masa dalam UTC (ISO 8601).

Dua format, satu akaun

Halaman ini menerangkan API REST dengan JSON. Jika alat anda sudah menggunakan format pengaktifan SMS biasa (handler_api.php dengan parameter action=), gunakan API pengaktifan SMS. Kedua-duanya berkongsi kunci API, harga, pengaktifan terbuka dan bayaran balik anda.

Gambaran Keseluruhan

API pengesahan SMS membolehkan perisian anda sendiri membeli nombor telefon untuk aplikasi, menunggu SMS pengesahan dan membaca kod, tanpa membuka laman web. Setiap pesanan adalah satu pengaktifan: satu perkhidmatan, satu negara, satu nombor dan tetingkap 20 minit. Pesanan tanpa kod akan dibayar balik sepenuhnya pada akhir tetingkap.

Permintaan menggunakan GET untuk membaca dan POST untuk tindakan. Badan POST boleh menjadi medan borang atau JSON. Jawapan yang berjaya adalah objek JSON; ralat mempunyai bentuk yang sama di mana-mana: {"error":{"code":"...","message":"..."}}.

Pengesahan

Buat kunci API dalam konsol di bawah Kunci API. Ia ditunjukkan sekali; kami hanya menyimpan salinan yang dikodkan. Hantarkannya dalam header Authorization sebagai token pembawa. Parameter kunci juga diterima untuk alat yang tidak boleh menetapkan header.

Authorization: Bearer vfk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Membuat kunci baharu menggantikan kunci lama dengan segera. Perkhidmatan, negara dan endpoint harga berfungsi tanpa kunci.

Ralat

HTTPMaksud
400Medan hilang atau tidak betul (missing_filter, bad_json).
401Tiada kunci atau kunci yang salah (no_key, bad_key).
402Tiada cukup kredit (no_balance).
404Perkhidmatan, negara, pesanan atau endpoint yang tidak diketahui.
409Pesanan tidak boleh melakukan itu sekarang (has_code, not_ready, too_many_open, no_numbers).
429Lebih daripada 300 permintaan dalam satu minit (rate_limited).

Permulaan Pantas

Pesan nombor WhatsApp UK dengan curl, kemudian poll pesanan setiap beberapa saat sehingga kod ada.

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);

Had Kadar

300 permintaan seminit setiap kunci, dan sehingga 20 pesanan terbuka setiap akaun. Polling pesanan setiap 3 hingga 5 saat sudah cukup: kebanyakan kod tiba dalam masa satu minit.

Status Pesanan

  • waiting Nombor terbuka dan tiada kod yang tiba lagi.
  • received Sekurang-kurangnya satu kod tiba; minta yang lain dengan resend semasa tetingkap masih terbuka.
  • finished Ditutup selepas kod, oleh anda atau pada akhir tetingkap.
  • refunded Tetingkap berakhir tanpa kod; harga penuh dikembalikan ke kredit anda.
  • canceled Anda membatalkan sebelum kod tiba; harga penuh dikembalikan ke kredit anda.

Endpoint

GET/services

Setiap kod perkhidmatan dengan nama, kategori dan harga terendah. Tiada kunci diperlukan.

{"services":[{"code":"whatsapp","name":"WhatsApp","category":"social","from":"0.31"}]}

GET/countries

Setiap kod negara (ISO, huruf kecil) dengan nama dan kod dail. Tiada kunci diperlukan.

{"countries":[{"code":"gb","name":"United Kingdom","dial_code":"44"}]}

GET/prices?service=whatsapp&country=gb

Harga dalam USD. Tapis mengikut perkhidmatan, negara atau kedua-duanya. Tiada kunci diperlukan.

{"prices":[{"service":"whatsapp","country":"gb","price":"0.94"}]}

GET/balance

Kredit anda dalam USD.

{"balance":"25.00","currency":"USD"}

POST/orders

Membeli nombor (HTTP 201). Mengembalikan pesanan dengan nombor telefon dan masa tetingkap berakhir.

Badan: 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

Satu pesanan dengan statusnya dan setiap kod yang diterima. Status: waiting, received, finished, refunded, canceled.

{"order":{"id":"AC-7K2M9QX4PB","status":"received","code":"482915","sms":"Your WhatsApp code: 482-915"}}

GET/orders?status=open

Pesanan terbuka anda; status=all mengembalikan 100 terakhir.

{"orders":[{"id":"AC-7K2M9QX4PB","status":"waiting"}]}

POST/orders/AC-7K2M9QX4PB/resend

Meminta kod lain pada nombor yang sama selepas kod pertama, semasa tetingkap masih terbuka. Tiada bayaran tambahan.

{"order":{"status":"received","waiting_for_resend":true}}

POST/orders/AC-7K2M9QX4PB/finish

Menutup pesanan yang menerima kodnya.

{"order":{"status":"finished"}}

POST/orders/AC-7K2M9QX4PB/cancel

Membatalkan sebelum kod tiba. Harga penuh dikembalikan ke kredit anda.

{"order":{"status":"canceled","refunded":"0.94"}}
API Pengesahan SMS: REST JSON untuk Nombor WhatsApp, Telegram dan Google | SNSVerify