Разработка
Webhook: уведомление по событию и проверка его доставки
Способ уведомления, при котором система при наступлении выбранного события отправляет запрос с данными на заранее настроенный адрес получателя.
Редакция:
Webhook помогает передать событие без постоянных запросов получателя «что изменилось?». Например, после создания обращения одна система отправляет уведомление другой. Получателю всё равно нужен обработчик, который проверит запрос и выполнит согласованное действие.
Наличие настроенного адреса не доказывает доставку, а получение уведомления не всегда означает завершение обработки. В документации конкретного сервиса нужно различать событие, попытку доставки, подтверждение и конечный результат.
Пример с обращением
Учебная ситуация: форма приняла запрос, затем webhook должен передать его в систему обработки. Получатель временно недоступен. Если не предусмотрено обнаружение ошибки и восстановление доставки, обращение может остаться только в исходной системе.
Автоматические повторы нельзя предполагать по одному названию технологии. Например, GitHub прямо описывает отсутствие автоматической повторной доставки неудачных webhook. У другого поставщика правила могут быть иными; проверяйте их в выбранном сервисе, а не переносите пример как универсальное поведение.
Что проверить в проекте
- Определено точное событие и состав данных, включая способ связать уведомление с исходной записью.
- Получатель проверяет источник и допустимость запроса предусмотренным для интеграции способом.
- Известно, что подтверждает ответ: получение, надёжное принятие в обработку или завершённое действие.
- Повтор того же события не создаёт нежелательного дубля; правило проверено в разрешённой тестовой среде.
- Неудачная доставка обнаруживается, имеет ответственного и согласованный способ восстановления.
События могут поступать повторно, с задержкой или в порядке, на который нельзя полагаться без гарантии поставщика. Если порядок важен, согласуйте способ сверки состояния. Уведомление не должно безусловно перезаписывать более актуальные данные.
Что показать при приёмке
Попросите продемонстрировать одну согласованную тестовую цепочку: исходное событие → попытка доставки → запись о получении → результат у обработчика. Сравните безопасный идентификатор и поля. Отдельно выполните контролируемый повтор и временный отказ получателя, затем проверьте восстановление.
Не отправляйте реальные обращения повторно только ради демонстрации. Для теста должны быть разрешённые данные и среда. В рабочем журнале достаточно результата и безопасной ссылки на проверку, без раскрытия секретов.
API может дополнять webhook для чтения актуального состояния или восстановления обмена, если такие операции доступны. Способ согласуют в плане интеграций.
Если заявка не дошла до получателя, используйте дерево диагностики пути обращения: определите последний подтверждённый этап. Срабатывание webhook или события аналитики само по себе не доказывает, что ответственный увидел заявку.