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

Связанные термины