← К заметкам

Заметки

Как обрабатывать вебхуки и восстанавливать пропущенные изменения

Надёжная обработка начинается с сохранения полученного события в устойчивую очередь. Только после этого обработчик подтверждает приём; тяжёлая работа выполняется отдельно.

Если сначала ответить успехом, а затем начать запись, сбой между этими действиями потеряет событие. Если долго обрабатывать всё внутри HTTP-запроса, растёт риск таймаута и неопределённого результата.

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

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

Гарантии повторной доставки уточняют для конкретного механизма Bitrix24. Свою устойчивость не стоит строить на предположении о бесконечном retry.