Перейти до основного вмісту

Verify (OTP)

API для створення та перевірки одноразових кодів верифікації (OTP) через SMS, Email та інші канали.

Запити POST відправляються із заголовком Content-Type: application/json. Перевірка коду (verify) підтримує також GET.


Створення коду — синхронний

Створює код верифікації та надсилає його через SMS або Email. Шлюз обробляє запит одразу та повертає verify_id.

URI: /api/verify.php

Метод: POST

Приклад запиту

{
"auth": "API_KEY",
"command": "verify/create",
"phone": "441501234567",
"type": "sms",
"sender_name": "MyBrand",
"lang": "en",
"code_length": 6,
"code_type": "numeric",
"service_id": 1,
"custom_id": "abcdef1234567",
"hook": "https://example.com/webhook"
}

Приклад відповіді:

{
"success": true,
"verify_id": "14fb5f3d-20be-41ef-b31a-b9f5e499bc7a"
}

Помилки HTTP: 400 (невірний формат/JSON), 401 (невірний auth), 413 (занадто велике тіло запиту).


Перевірка коду

URI: /api/verify.php

Перевіряє код, введений користувачем, і повертає статус верифікації (тільки синхронний API).

Приклад запиту (GET)

/api/verify.php?auth=API_KEY&command=verify&phone=380501234567&code=123456&verify_id=14fb5f3d-20be-41ef-b31a-b9f5e499bc7a

Приклад запиту (POST, JSON)

{
"auth": "API_KEY",
"command": "verify",
"phone": "380501234567",
"code": "123456",
"verify_id": "14fb5f3d-20be-41ef-b31a-b9f5e499bc7a"
}

Приклад успішної відповіді:

{
"success": true,
"verify_id": "14fb5f3d-20be-41ef-b31a-b9f5e499bc7a",
"phone": "441501234567",
"type": "sms",
"status": "approved",
"service_id": 1
}

Можливі значення status:

statusОпис
approvedКод вірний, верифікація успішна
pendingКод невірний, спроби ще залишились
expiredКод прострочений
blockedПеревищено ліміт спроб

Коди помилок HTTP:

  • 400 — невірний формат запиту або JSON
  • 401 — відсутній або невірний auth
  • 413 — занадто велике тіло запиту

Обмеження

  • Час життя коду: за замовчуванням 300 секунд (5 хвилин), діапазон 60–3600 секунд.
  • Максимальна кількість спроб: за замовчуванням 5.