Перейти к основному содержимому

Verify (OTP check)

API для создания и проверки одноразовых кодов верификации (OTP) через SMS, Email и другие каналы.

Endpoint: <ApiUrl/>/api/verify.php

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


Создание кода (verify/create)

Создаёт код верификации и отправляет его по SMS или Email. Запрос принимается в очередь для обработки; в ответ сразу возвращаются success и request_id.

Метод: 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,
"request_id": "cf-ray-1234567890-ABC"
}

Ошибки HTTP: 400 (неверный формат/JSON), 401 (неверный auth), 413 (лимит размера тела), 503 (очередь недоступна).


Проверка кода (verify)

Запрос проверяет введённый пользователем код и возвращает статус верификации.

Пример запроса (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 — превышен лимит размера тела запроса

Примеры вызова (curl)

verify/create (SMS):

curl -X POST https://portal.interconnect.solutions/api/verify.php \
-H "Content-Type: application/json" \
-d '{
"auth": "your-api-key",
"command": "verify/create",
"phone": "441501234567",
"type": "sms",
"sender_name": "MyBrand",
"lang": "en",
"code_length": 6
}'

verify/create (Email):

curl -X POST https://portal.interconnect.solutions/api/verify.php \
-H "Content-Type: application/json" \
-d '{
"auth": "your-api-key",
"command": "verify/create",
"email": "user@example.com",
"type": "email",
"lang": "en",
"code_length": 8
}'

verify (проверка кода), GET:

curl "https://portal.interconnect.solutions/api/verify.php?auth=your-api-key&command=verify&phone=441501234567&code=123456&verify_id=14fb5f3d-20be-41ef-b31a-b9f5e499bc7a"

verify (проверка кода), POST:

curl -X POST https://portal.interconnect.solutions/api/verify.php \
-H "Content-Type: application/json" \
-d '{
"auth": "your-api-key",
"command": "verify",
"phone": "441501234567",
"code": "123456",
"verify_id": "14fb5f3d-20be-41ef-b31a-b9f5e499bc7a"
}'

Ограничения

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