Что такое вебхук (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-адрес и пробрасывают запросы на локальный порт.