API та інтеграції
Що таке вебхук (webhook)?
Вебхук (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-адресу і перенаправляють запити на ваш комп’ютер.
Навчання програмуванню в OWU
Опануйте професію в IT на практичних курсах із менторами та реальними проєктами.
Обрати курс