Prog Academy
RU UA
API та інтеграції

Що таке вебхук (webhook)?

Вебхук — це спосіб отримувати сповіщення про події: ви вказуєте сервісу адресу, і щойно відбувається подія, він сам надсилає на цю адресу HTTP-запит із даними. Не ви питаєте «чи є новини?», а вам повідомляють, коли новина зʼявилася.

Альтернатива вебхуку — опитування за розкладом: раз на хвилину смикати API й перевіряти, чи щось не змінилося. Це створює зайве навантаження й усе одно дає затримку. Вебхук спрацьовує миттєво й рівно тоді, коли потрібно.

На вебхуках тримається більшість інтеграцій: оплата пройшла — платіжна система сповіщає магазин; надійшло повідомлення — месенджер надсилає його боту; закрита угода — CRM запускає сценарій автоматизації. Приймальну сторону обовʼязково захищають перевіркою підпису, інакше запит зможе підробити будь-хто.

Де застосовується

Вебхуки — робоча конячка інтеграцій. Платіжні системи LiqPay, Fondy і Stripe повідомляють магазину про оплату саме так, Telegram доставляє ботам повідомлення, GitHub запускає збірку після пушу, а CRM на кшталт Kommo сповіщає зовнішні сервіси про зміну етапу угоди.

Тим самим способом звʼязують інструменти без коду: у n8n чи Make сценарій починається з вузла Webhook, який просто чекає вхідний запит. Розробнику залишається підняти ендпоінт, перевірити підпис, швидко відповісти кодом 200 і покласти задачу в чергу — важку обробку всередині вебхука не роблять, інакше відправник вважатиме доставку невдалою.

Приклад

Клієнт оплатив замовлення карткою. Платіжна система надсилає на адресу магазину POST-запит зі статусом і сумою, магазин перевіряє підпис, позначає замовлення оплаченим і відповідає кодом 200 — усе це займає частки секунди, без жодного звернення до API платіжної системи.

{
  "event": "payment.succeeded",
  "created_at": "2026-09-15T10:24:11Z",
  "data": {
    "order_id": "A-10427",
    "amount": 4900,
    "currency": "UAH"
  },
  "signature": "9f2c1ab5e7..."
}
Типове тіло вебхука: подія, дані та підпис, за яким отримувач перевіряє відправника.

Часті запитання

Чим вебхук відрізняється від API?

Напрямком. Звертаючись до API, ініціативу виявляєте ви: питаєте й отримуєте відповідь. У випадку вебхука ініціатива в сервісу: він сам стукає до вас, коли сталася подія. На практиці їх використовують разом — вебхук повідомляє про подію, а деталі ви довантажуєте через API.

Як захистити вебхук від підробки?

Адреса ендпоінта публічна, тому запит може надіслати будь-хто. Відправник підписує тіло секретним ключем, а отримувач перераховує підпис і звіряє його. Додатково обмежують приймання за списком IP-адрес і приймають запити лише через HTTPS.

Що відбувається, якщо вебхук не доставлено?

Серйозні сервіси повторюють надсилання за наростаючими інтервалами — кілька хвилин, година, потім доба — і показують журнал спроб. Тому обробник має бути готовий отримати ту саму подію двічі й розпізнавати повтор за ідентифікатором.

Чи потрібна публічна адреса для розробки?

Так, відправник має додзвонитися до вашого сервера, а локальна адреса з інтернету недоступна. На час розробки використовують тунелі на кшталт ngrok або Cloudflare Tunnel: вони видають тимчасову HTTPS-адресу й пробрасують запити на локальний порт.

Повʼязані терміни