208 додатків154 країн

API v12026-11-04

JSON API для замовлення номерів верифікації та читання SMS кодів.

Базовий 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"}}
API SMS верифікації: REST JSON для номерів WhatsApp, Telegram та Google | SNSVerify