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 на практических курсах с менторами и реальными проектами.
Выбрать курс