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

Статусы и обработка ошибок

Статусы проверки

У каждой сессии есть статус. Он меняется по ходу проверки:

СтатусЧто значитЧто делать
sentПроверка инициирована, ждём действия пользователяОпрашивать статус
deliveredКод/звонок доставлены пользователюОпрашивать статус
verifiedНомер подтверждёнПропустить пользователя дальше
expiredИстёк срок сессии (expires_at)Предложить начать заново
failedПодтвердить не удалосьПредложить другой метод или повтор

verified, expired и failed — финальные статусы: после них опрашивать сессию больше не нужно.

Коды ответов HTTP

КодКогдаРеакция
201Проверка успешно созданаПоказать номер/попросить код
200Успешный запрос статуса, баланса, проверки кода
400Некорректный запрос: неверный код, формат номера, истёкшая сессияПоказать пользователю понятную ошибку
401Неверные api_key / api_secretПроверить учётные данные
402Недостаточно средств на балансеПополнить баланс
404Сессия с таким request_id не найденаПроверить идентификатор

Тело ошибки приходит в формате Problem Details:

{
"type": "https://verificahub.ru/errors/insufficient-funds",
"title": "Insufficient funds",
"status": 402,
"detail": "Недостаточно средств для инициирования проверки."
}

Рекомендации

  • Тайм-аут. Если сессия дошла до expired, не пытайтесь её «дожать» — создайте новую.
  • Идемпотентность на вашей стороне. Храните request_id и не создавайте новую проверку, пока активна текущая.
  • Понятные сообщения. На 400 при вводе кода покажите «Неверный код» и дайте запросить новый.
  • Мониторинг баланса. Ловите 402 и заранее предупреждайте о низком балансе — см. Баланс и статистика.