Практические руководства

Сделайте веб-хуки и интеграцию веб-сайтов надежными

Интеграция требует больше, чем получение уведомления. Он должен различать действительные события, дубликаты, задержки и прерванную обработку, чтобы избежать повторения бизнес-операций.

См. метод

Одно событие, одна операция

Напишите контракт на мероприятие

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

Выберите идентификатор отслеживания и авторитетный источник, чтобы проконсультироваться, когда он неопределен. Опишите, как обнаруживаются сбои в производителе или приемнике. Интегративная документация содержит правила и владельцев; Секреты принадлежат безопасному механизму проекта.

Проверить перед запуском операции

Проверка подписи GitHub Documents с использованием настроенного секрета и полученной полезной нагрузки. следовать документированному механизму провайдера; Заголовки, алгоритмы и форматы не должны копироваться с другой службы по аналогии.

Отдельная проверка происхождения, проверка схемы и авторизация операций. Протестируйте измененное содержимое, неожиданный тип события и отсутствующее поле. Бизнес-обработка должна начинаться только после того, как элементы управления, необходимые для варианта использования.

Повторы планирования и перерывы

Определить обработку идемпотента: Признанная повторная доставка не должна создавать два заказа или два окончательных уведомления. Повторение теста до, во время и после обработки, а также прерывание между этапами. Механизм зависит от работы и хранения.

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

Организуйте мониторинг и восстановление

Запишите идентификатор события, состояние и полезную ошибку при минимизации данных. Определите, кто отслеживает сбои, способы повторной попытки авторизованных событий и как повторные попытки позволяют избежать дублирования завершенной работы.

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

Первичная документация: GitHub — Проверка поставок Webhook.

Справочные документы

Контент обновлен 1 октября 2026 г.

Матрица функциональной проверки для адаптации к проекту

Эти предлагаемые средства контроля используют фиктивные случаи. Решите, какое поведение ожидается в команде, запишите результат и назначьте неразрешенные расхождения перед публикацией.

Тестовые случаи, ожидаемые результаты и полезные доказательства
КейсОжидаемый результатДоказательство для сохранения
действительная доставкаДопустимое событие вызывает ожидаемое действие, которое можно отследить.Идентификатор доставки, результат обработки и результирующее состояние бизнеса в тестовой системе.
Изменено тело или неверная подписьБизнес-обработка никогда не начинается для отказавшегося события.Наблюдаемый отказ с использованием полностью синтетического уведомления и только для проверки.
Одинаковая доставка получена дваждыПовторение не создает нежелательной дополнительной бизнес-операции.Число и идентификаторы записанных операций после обеих контролируемых попыток.
Задержка или реверсирование событийПравило заказа предотвращает замену более старой информации замены более нового состояния.Контролируемая хронология и задокументированное окончательное состояние, включая любые ограничения заказа.

Часто задаваемые вопросы

Зачем отправлять одно и то же событие более одного раза в тесте?

Чтобы гарантировать, что повторение не вызывает повторяющиеся бизнес-операции. Поставщики могут поддерживать или производить повторную доставку; Получатели должны понимать правила и сохранять соответствующее состояние обработки.

Достаточно ли допустимой подписи?

Это способствует проверке происхождения и целостности в соответствии с используемым механизмом. Тип события, необходимые данные, разрешенные действия и состояние обработки все еще нуждаются в проверке перед бизнес-операцией.