Получение обратных вызовов при 2FA
Обратные вызовы при 2FA — URL для получения статусов и результатов верификации
Получение обратных вызовов при 2FA
Коротко: при настройке интеграции можно указать URL, на который платформа будет отправлять результаты верификации и статусы доставки.
Кому подходит
- Роль: Разработчик
- Уровень: Опытный
Что это
Обратный вызов (webhook) — это POST-запрос от платформы на ваш URL. Платформа отправляет данные автоматически при событиях.
Где указать URL
В настройках 2FA-интеграции:
- Откройте карточку интеграции.
- Найдите поле URL, для отправки результата верификации.
- Введите URL вашего сервера.
- Сохраните.
Что приходит на URL
Формат данных — JSON. Поля:
| Поле | Что содержит |
|---|---|
| requestId | ID запроса |
| number | Номер телефона |
| status | Статус |
| timestamp | Время события |
| billable | Списывается ли плата |
Возможные статусы
| Статус | Что означает |
|---|---|
| SENT | Сообщение отправлено |
| DELIVERED | Сообщение доставлено |
| VERIFIED | Код успешно проверен |
| FAILED | Ошибка |
Как обрабатывать
- Принимайте POST-запросы на ваш URL.
- Отвечайте 200 OK как можно быстрее.
- Обрабатывайте данные асинхронно — не блокируйте ответ.
- Логируйте все вызовы — для диагностики.
- Используйте requestId как ключ для связи с отправленным кодом.
Что делать с данными
- Обновить статус пользователя в вашей системе.
- Отправить уведомление ответственному сотруднику.
- Сохранить в лог для аудита.
- Обновить метрики в аналитике.
Безопасность
- Используйте HTTPS — обязательно.
- Проверяйте источник — можно ограничить по IP.
- Валидируйте данные — не доверяйте слепо.
- Не возвращайте чувствительные данные в ответе.
Частые проблемы
| Симптом | Причина | Решение |
|---|---|---|
| Вебхук не приходит | URL недоступен извне | Проверьте доступность |
| Вебхук не приходит | Firewall блокирует | Разрешите IP платформы |
| Дублирование | Retry-логика | Используйте requestId как ключ |
| Медленно | Тяжёлые операции в обработке | Отвечайте 200 сразу, обрабатывайте асинхронно |
Пример обработки
- Пришёл POST с полями requestId, number, status: VERIFIED.
- Ваш сервер отвечает 200 OK.
- Асинхронно: обновляете статус пользователя в базе.
- Логируете событие.
Что дальше
- Проверка 2FA-запроса
- Принцип работы 2FA: на стороне платформы
- Принцип работы 2FA: на стороне клиента
См. также
Нужна помощь?
- OTP-коды: support@otpcod.ru