Webhook
Webhook — це спосіб, яким одна вебсистема автоматично повідомляє іншу про подію, не чекаючи постійних запитів з боку отримувача. Англійською webhook, а в українському вжитку часто кажуть «вебхук». У веброзробці це зручний механізм обміну даними в момент, коли щось сталося: наприклад, створено замовлення, змінено статус платежу або додано новий запис.
Як працює вебхук
Суть проста: сервіс-джерело події надсилає HTTP-запит на заздалегідь вказану адресу іншого сервісу. Зазвичай це POST-запит із даними про подію у форматі JSON, хоча можливі й інші формати залежно від платформи. Отримувач має відповісти швидко й коректним кодом статусу, інакше відправник може повторити спробу або вважати доставку невдалою.
На відміну від опитування, коли клієнт сам постійно перевіряє наявність змін, вебхук працює подієво. Це зменшує зайві запити, економить ресурси і дає змогу реагувати майже миттєво.
Що входить до налаштування
- URL-адреса приймача — кінцева точка, куди надходять повідомлення.
- Подія-тригер — дія, після якої спрацьовує відправлення.
- Формат даних — структура тіла запиту, яку очікує приймач.
- Перевірка автентичності — підпис, секретний токен або інший спосіб переконатися, що запит справді надійшов від потрібного сервісу.
Без захисту вебхук легко підробити, тому в практичних системах обов’язково перевіряють джерело запиту. Також важливо робити обробник ідемпотентним: якщо один і той самий виклик прийде двічі, система не повинна створювати дубльований результат.
Де застосовують
Вебхуки часто використовують у платіжних сервісах, CRM, системах доставки, чатах, DevOps-інструментах і платформах електронної комерції. Вони підходять для сценаріїв, де потрібна швидка синхронізація між системами: оновлення статусу замовлення, сповіщення про оплату, запуск автоматизації, передавання подій у аналітику чи інтеграцію з ботом.
Приклад: інтернет-магазин отримує webhook від платіжного сервісу після успішної оплати і автоматично переводить замовлення в новий статус. Користувачеві не треба вручну оновлювати сторінку, а сервер не витрачає час на постійні перевірки.
Чим він корисний і де є межі
Вебхук добре підходить там, де важлива подія, а не постійний потік даних. Його переваги — простота інтеграції, швидка реакція та менше зайвого трафіку. Водночас він залежить від доступності адреси отримувача: якщо той тимчасово недоступний, подію треба повторити або зберегти в черзі. Тому для надійних інтеграцій вебхуки часто поєднують із логуванням, повторними спробами й фоновою обробкою.