Базовий URL https://snsverify.com/api/v1
Кожен шлях на цій сторінці відносний до нього. Суми вказані в доларах США як рядки з двома десятковими знаками, час, UTC (ISO 8601).
Два формати, один обліковий запис
На цій сторінці описано REST API з JSON. Якщо ваш інструмент вже підтримує звичайний формат SMS-активації (handler_api.php з параметрами action=), використовуйте SMS activation API. Обидва варіанти використовують ваш API-ключ, ціни, активні активації та повернення коштів.
Огляд
API SMS верифікації дозволяє вашому програмному забезпеченню купувати номер телефону для додатку, чекати на SMS з верифікаційним кодом та читати його, не відкриваючи веб-сайт. Кожне замовлення, це одна активація: один сервіс, одна країна, один номер та вікно в 20 хвилин. Замовлення без коду повністю повертаються наприкінці вікна.
Запити використовують GET для читання та POST для дій. Тіла POST можуть бути полями форми або JSON. Успішні відповіді, це об’єкти JSON; помилки мають однакову форму скрізь: {"error":{"code":"...","message":"..."}}.
Аутентифікація
Створіть API ключ у консолі в розділі API ключ. Він показується один раз; ми зберігаємо лише зашифровану копію. Надсилайте його в заголовку Authorization як bearer token. Параметр key також приймається для інструментів, які не можуть встановлювати заголовки.
Authorization: Bearer vfk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Створення нового ключа миттєво замінює старий. Кінцеві точки сервісів, країн та цін працюють без ключа.
Помилки
| HTTP | Значення |
|---|---|
| 400 | Відсутнє або неправильне поле (missing_filter, bad_json). |
| 401 | Відсутній ключ або неправильний ключ (no_key, bad_key). |
| 402 | Недостатньо коштів на балансі (no_balance). |
| 404 | Невідомий сервіс, країна, замовлення або кінцева точка. |
| 409 | Замовлення не може виконати це зараз (has_code, not_ready, too_many_open, no_numbers). |
| 429 | Більше 300 запитів за хвилину (rate_limited). |
Швидкий старт
Замовте номер WhatsApp у Великобританії за допомогою curl, а потім опитуйте замовлення кожні кілька секунд, доки не з’явиться код.
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);Обмеження частоти
300 запитів на хвилину на ключ і до 20 відкритих замовлень на обліковий запис. Опитування замовлення кожні 3-5 секунд достатньо: більшість кодів надходять протягом хвилини.
Статуси замовлень
waitingНомер відкритий, і код ще не надійшов.receivedНадійшов принаймні один код; запитайте інший за допомогою resend, поки вікно відкрите.finishedЗакрито після коду, вами або наприкінці вікна.refundedВікно завершилося без коду; повна сума повернулася на ваш баланс.canceledВи скасували до отримання коду; повна сума повернулася на ваш баланс.
Кінцеві точки
GET/services
Кожен код сервісу з його назвою, категорією та найнижчою ціною. Ключ не потрібен.
{"services":[{"code":"whatsapp","name":"WhatsApp","category":"social","from":"0.31"}]}GET/countries
Кожен код країни (ISO, нижній регістр) з назвою та кодом набору. Ключ не потрібен.
{"countries":[{"code":"gb","name":"United Kingdom","dial_code":"44"}]}GET/prices?service=whatsapp&country=gb
Ціни в USD. Фільтруйте за сервісом, країною або обома. Ключ не потрібен.
{"prices":[{"service":"whatsapp","country":"gb","price":"0.94"}]}GET/balance
Ваш баланс в USD.
{"balance":"25.00","currency":"USD"}POST/orders
Купує номер (HTTP 201). Повертає замовлення з номером телефону та часом завершення вікна.
Тіло: 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
Одне замовлення зі статусом та кожним отриманим кодом. Статуси: waiting, received, finished, refunded, canceled.
{"order":{"id":"AC-7K2M9QX4PB","status":"received","code":"482915","sms":"Your WhatsApp code: 482-915"}}GET/orders?status=open
Ваші відкриті замовлення; status=all повертає останні 100.
{"orders":[{"id":"AC-7K2M9QX4PB","status":"waiting"}]}POST/orders/AC-7K2M9QX4PB/resend
Запитує інший код на тому ж номері після першого коду, поки вікно відкрите. Без додаткової плати.
{"order":{"status":"received","waiting_for_resend":true}}POST/orders/AC-7K2M9QX4PB/finish
Закриває замовлення, яке отримало свій код.
{"order":{"status":"finished"}}POST/orders/AC-7K2M9QX4PB/cancel
Скасовує до отримання коду. Повна сума повертається на ваш баланс.
{"order":{"status":"canceled","refunded":"0.94"}}