Мессенджеры. CRM. Люди.
Интеграции
Обсудить подключение
РУКОВОДСТВО DUBL.LTD

Вебхуки (webhooks): приём событий, повторы и очередь

Проектируйте обработчик с учётом повторной доставки и временной недоступности получателя.

Проверьте событие

Проверьте предусмотренный провайдером способ аутентификации, формат и принадлежность события нужному аккаунту. Не доверяйте одному полю с идентификатором компании из тела запроса. Некорректное событие не должно изменять данные CRM.

Отделите приём от обработки

Сохраните принятое событие и передайте его в очередь. Ответ провайдеру отправляйте в соответствии с его контрактом. Для защиты от повторов используйте устойчивый ключ события, а не время получения запроса вашим сервером.

Подготовьте восстановление

Временную ошибку CRM повторяйте с задержкой и ограничением числа попыток. Неуспешные события сохраняйте для разбора. Метрики должны показывать возраст очереди и число ошибок, чтобы остановка обмена не оставалась незаметной.

НА ПРАКТИКЕ

Пример проверки

Провайдер прислал одно сообщение дважды после таймаута. В CRM появилась одна запись, а повтор отмечен в журнале без второго ответа клиенту.

Перед следующим шагом

  • Проверяется принадлежность события
  • Повтор безопасен
  • Неуспешные события можно найти и повторить

Продолжить работу