WAIXAPI
API и интеграции

Вебхуки OTP-проекта

События отправки, доставки и проверки OTP. Подпись вебхука, режим проекта и обработка повторов.

2 мин. чтения4 раздела

Sandbox и Live

В Sandbox API возвращает тестовый код без сообщения в WhatsApp и без оплаты. В Live код отправляется получателю; нужен действующий OTP-пакет для его страны. Сейчас отправка использует шаблон waix_otp_v1: код и кнопку копирования, без названия проекта в тексте. В WhatsApp отправителем отображается WAIX.

Подключение

  1. В разделе OTP выберите проект и сохраните публичный HTTPS-адрес в блоке «Вебхук проекта».
  2. Выберите нужные события и сохраните секрет подписи. Он показывается один раз.
  3. Нажмите «Проверить доставку» и проверьте HTTP-ответ в таблице.

События

СобытиеЗначение
otp.sentMeta приняла отправку. В 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 после сохранения события в свою очередь. Повторы и журнал доставки работают так же, как для вебхуков сообщений. После замены секрета обновите его на принимающем сервере.

Официальные источники и связанные материалы
Meta: шаблоны аутентификации

Названия разделов и доступность функций могут зависеть от настроек аккаунта.

Остался вопрос?

Поможем с подключением и работой WAIX.