Вебхуки OTP-проекта
События отправки, доставки и проверки OTP. Подпись вебхука, режим проекта и обработка повторов.
Sandbox и Live
В Sandbox API возвращает тестовый код без сообщения в WhatsApp и без оплаты. В Live код отправляется получателю; нужен действующий OTP-пакет для его страны. Сейчас отправка использует шаблон waix_otp_v1: код и кнопку копирования, без названия проекта в тексте. В WhatsApp отправителем отображается WAIX.
Подключение
- В разделе OTP выберите проект и сохраните публичный HTTPS-адрес в блоке «Вебхук проекта».
- Выберите нужные события и сохраните секрет подписи. Он показывается один раз.
- Нажмите «Проверить доставку» и проверьте HTTP-ответ в таблице.
События
| Событие | Значение |
|---|---|
| otp.sent | Meta приняла отправку. В sandbox это имитация без сообщения. |
| otp.delivered | Статус настоящей доставки. В sandbox не поступает. |
| otp.read | Статус настоящего прочтения. В sandbox не поступает. |
| otp.verified | Ваш сервер успешно проверил введённый код. |
| otp.failed | Отправка завершилась подтверждённой ошибкой. |
В событии есть project_id, id отправки, recipient, mode и временные отметки. Самого кода нет. Не считайте delivered или read успешной авторизацией.
Подпись и повторы
Проверяйте HMAC-SHA256 от строки timestamp + "." + исходное тело HTTP-запроса. Секрет берите у выбранного проекта. Заголовки: X-Waix-Timestamp и X-Waix-Signature с префиксом v1=. Проверяйте допустимый возраст timestamp и сравнивайте подпись за постоянное время. Идентификатор id события используйте для удаления повторов.
Верните 2xx после сохранения события в свою очередь. Повторы и журнал доставки работают так же, как для вебхуков сообщений. После замены секрета обновите его на принимающем сервере.
Официальные источники и связанные материалы
Названия разделов и доступность функций могут зависеть от настроек аккаунта.
Поможем с подключением и работой WAIX.