Webhook

Механизм автоматического уведомления сторонних систем о событиях через HTTP POST-запросы в реальном времени.

Webhook — это способ передачи данных между приложениями по инициативе отправителя. В отличие от поллинга (polling), где клиент периодически опрашивает сервер на наличие обновлений, вебхук доставляет информацию немедленно при наступлении события. Это инвертирует модель взаимодействия, делая архитектуру системы событийно-ориентированной.

Механизм работы

Система-источник отправляет HTTP POST-запрос на заранее настроенный URL-адрес (endpoint) принимающей стороны. Тело запроса обычно содержит JSON с деталями события. Принимающий сервер должен подтвердить получение статус-кодом 200 OK. Если сервер недоступен, отправитель может использовать стратегию повторных попыток (retries) с экспоненциальной задержкой для обеспечения гарантированной доставки.

Вебхуки применяются для автоматизации CI/CD пайплайнов, обработки транзакций в платежных шлюзах и синхронизации данных между CRM и мессенджерами. Например, GitHub отправляет вебхук при каждом git push, чтобы запустить сборку в CI-системе или отправить уведомление в Slack.

Использование вебхуков снижает нагрузку на инфраструктуру, так как исключает пустые запросы. По статистике, при интервале опроса в 1 минуту до 98% запросов к API могут быть избыточными, тогда как вебхуки срабатывают только при наличии полезной нагрузки.