208 aplikacje154 kraje

API v12026-11-04

API JSON do zamawiania numerów weryfikacyjnych i odczytywania kodów SMS.

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

Wszystkie ścieżki na tej stronie są względne do niego. Kwoty podane są w dolarach amerykańskich jako ciągi znaków z dwoma miejscami po przecinku, czas w UTC (ISO 8601).

Dwa formaty, jedno konto

Ta strona opisuje REST API z JSON. Jeśli Twoje narzędzie już obsługuje wspólny format aktywacji SMS (handler_api.php z parametrami action=), użyj API aktywacji SMS. Obie współdzielą Twój klucz API, ceny, otwarte aktywacje i zwroty.

Przegląd

API weryfikacji SMS pozwala Twojemu oprogramowaniu kupić numer telefonu dla aplikacji, oczekiwać na SMS weryfikacyjny i odczytać kod, bez otwierania strony internetowej. Każde zamówienie to jedna aktywacja: jedna usługa, jeden kraj, jeden numer i 20-minutowe okno czasowe. Zamówienia bez kodu są w pełni zwracane po zakończeniu okna.

Żądania używają GET do odczytu i POST do akcji. Ciała POST mogą być polami formularza lub JSON. Pomyślne odpowiedzi to obiekty JSON; błędy mają ten sam kształt wszędzie: {"error":{"code":"...","message":"..."}}.

Uwierzytelnianie

Utwórz klucz API w konsoli w sekcji Klucz API. Jest on pokazywany tylko raz; przechowujemy tylko zaszyfrowaną kopię. Wyślij go w nagłówku Authorization jako token bearer. Parametr key jest również akceptowany dla narzędzi, które nie mogą ustawiać nagłówków.

Authorization: Bearer vfk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Utworzenie nowego klucza natychmiast zastępuje stary. Endpointy usług, krajów i cen działają bez klucza.

Błędy

HTTPZnaczenie
400Brakujące lub błędne pole (missing_filter, bad_json).
401Brak klucza lub błędny klucz (no_key, bad_key).
402Niewystarczające saldo (no_balance).
404Nieznana usługa, kraj, zamówienie lub endpoint.
409Zamówienie nie może teraz tego zrobić (has_code, not_ready, too_many_open, no_numbers).
429Więcej niż 300 żądań w ciągu minuty (rate_limited).

Szybki start

Zamów numer WhatsApp w UK za pomocą curl, a następnie sprawdzaj zamówienie co kilka sekund, aż kod się pojawi.

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

Limity szybkości

300 żądań na minutę na klucz i do 20 otwartych zamówień na konto. Sprawdzanie zamówienia co 3 do 5 sekund jest wystarczające: większość kodów przychodzi w ciągu minuty.

Statusy zamówień

  • waiting Numer jest otwarty i żaden kod jeszcze nie dotarł.
  • received Przynajmniej jeden kod dotarł; poproś o kolejny z resend, gdy okno jest otwarte.
  • finished Zamknięte po kodzie, przez Ciebie lub po zakończeniu okna.
  • refunded Okno zakończyło się bez kodu; pełna kwota wróciła na Twoje saldo.
  • canceled Anulowałeś przed otrzymaniem kodu; pełna kwota wróciła na Twoje saldo.

Endpointy

GET/services

Każdy kod usługi z nazwą, kategorią i najniższą ceną. Nie wymaga klucza.

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

GET/countries

Każdy kod kraju (ISO, małe litery) z nazwą i numerem kierunkowym. Nie wymaga klucza.

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

GET/prices?service=whatsapp&country=gb

Ceny w USD. Filtruj według usługi, kraju lub obu. Nie wymaga klucza.

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

GET/balance

Twoje saldo w USD.

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

POST/orders

Kupuje numer (HTTP 201). Zwraca zamówienie z numerem telefonu i czasem zakończenia okna.

Ciało: 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

Jedno zamówienie z jego statusem i każdym otrzymanym kodem. Statusy: waiting, received, finished, refunded, canceled.

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

GET/orders?status=open

Twoje otwarte zamówienia; status=all zwraca ostatnie 100.

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

POST/orders/AC-7K2M9QX4PB/resend

Prosi o kolejny kod na tym samym numerze po pierwszym kodzie, gdy okno jest otwarte. Bez dodatkowych opłat.

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

POST/orders/AC-7K2M9QX4PB/finish

Zamyka zamówienie, które otrzymało swój kod.

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

POST/orders/AC-7K2M9QX4PB/cancel

Anuluje przed otrzymaniem kodu. Pełna kwota wraca na Twoje saldo.

{"order":{"status":"canceled","refunded":"0.94"}}
API weryfikacji SMS: REST JSON dla numerów WhatsApp, Telegram i Google | SNSVerify