Интеграции и данные · 9 мин чтения

Вебхук: что это и как заявка с сайта сама попадает в CRM и Telegram

Вебхук простыми словами: чем отличается от API и опроса, что внутри запроса, как заявка с сайта попадает в CRM и Telegram, повторы, дубли и проверка подлинности.

Обложка статьи о вебхуке: на графитовом фоне слева заголовок «Вебхук» и подпись «как заявка сама попадает в CRM и Telegram», справа мятно-бирюзовый крюк, который подхватывает карточку заявки с сайта, от него расходятся две линии к значкам CRM и Telegram
Коротко

Вебхук это HTTP-запрос, который сервис сам отправляет на указанный вами адрес, как только произошло событие: новая заявка, оплата, сообщение боту. Обработчик по этому адресу проверяет подлинность запроса, записывает событие в журнал, сразу отвечает кодом 200 и уже в фоне создаёт сделку в CRM и уведомление в Telegram. Вебхук может прийти повторно или не по порядку, поэтому обработчик отсекает дубли по номеру события и сверяет статус через API. Для защиты используют HTTPS, секретный токен или подпись, а потерянные во время сбоя события находит ежедневная сверка.

Вебхук (webhook) это автоматическое уведомление, которое один сервис отправляет другому, как только произошло событие. Клиент оставил заявку на сайте, и сайт сам отправляет её данные на заранее указанный адрес. Там их принимает обработчик: создаёт сделку в CRM и пишет менеджеру в Telegram. Никто не проверяет почту каждые пять минут и не копирует заявки руками. Ниже разберём, как это устроено, что лежит внутри вебхука, как сделать приём надёжным и защищённым и чем вебхук отличается от обычного опроса по API.

Что такое вебхук простыми словами

Вебхук работает как звонок в дверь: вам не нужно каждые пять минут выглядывать в окно, курьер сам сообщит, что пришёл. Технически это HTTP-запрос, чаще всего методом POST, который сервис-источник отправляет на адрес сервиса-получателя в момент события.

У вебхука всегда три участника:

  • Источник. Сервис, где происходит событие: форма на сайте, платёжный сервис, CRM, мессенджер.
  • Адрес. Ссылка, которую вы один раз указали в настройках источника. На неё приходят уведомления.
  • Обработчик. Небольшая программа по этому адресу. Она принимает данные, проверяет их и решает, что делать дальше.

Вебхук легко спутать с API. Разница в том, кто начинает разговор.

СпособКто начинаетКогда приходят данныеПример
ВебхукИсточник, самСразу после событияПлатёжный сервис сообщает сайту об оплате
Запрос к APIПолучатель, когда ему нужноПо запросуСайт спрашивает статус платежа по номеру
Опрос по расписаниюПолучатель, регулярноС задержкой до следующего опросаСкрипт каждые 5 минут проверяет, нет ли новых заказов

Вебхук не заменяет API, а дополняет его. Вебхук говорит «что-то случилось», а за подробностями и актуальным статусом обработчик часто идёт в API. Как устроены запросы, ключи и ошибки API, разобрано в отдельной статье серии.

Как это работает: событие, вебхук, обработчик

Весь путь заявки с сайта в CRM и Telegram занимает секунды и проходит пять шагов.

Схема пути заявки на светлом фоне в графитовых и мятно-бирюзовых тонах: слева форма на сайте, событие «новая заявка»; от неё стрелка вебхук POST на адрес обработчика; обработчик проверяет секрет и данные, записывает событие в журнал и сразу отвечает 200; дальше две стрелки: создать сделку в CRM через API и отправить сообщение менеджеру в Telegram через Bot API; внизу ветка сбоя: если CRM не ответила, событие ждёт в очереди и повторяется
Обработчик сначала принимает и записывает событие, а уже потом раздаёт его по системам.
  1. Событие. Клиент нажал «Отправить» в форме на сайте.
  2. Вебхук. Сайт отправляет POST-запрос с данными заявки на адрес обработчика.
  3. Приём. Обработчик проверяет, что запрос настоящий, записывает его в журнал и сразу отвечает кодом 200: «получил».
  4. Обработка. В фоне обработчик создаёт сделку в CRM по её API и получает номер сделки.
  5. Уведомление. Обработчик отправляет менеджеру сообщение в Telegram со ссылкой на сделку.

Обратите внимание на шаг 3. Многие источники ждут ответа недолго. Например, в документации GitHub сказано отвечать кодом 2xx в течение 10 секунд, иначе доставка считается неудачной. Поэтому медленную работу выносят в фон, а источнику отвечают сразу.

Что внутри вебхука: пример тела запроса

Вебхук несёт данные в теле запроса, обычно в формате JSON: это текст из пар «название поля: значение». Состав полей задаёт источник, поэтому у каждого сервиса он свой. Так может выглядеть заявка с сайта (пример, поля условные):

{ "event": "lead.created", "event_id": "f3a9c2", "created_at": "2026-10-27T11:42:05+03:00", "lead": { "name": "Ирина", "phone": "+7 900 000-00-00", "page": "/dostavka/", "utm_source": "yandex" } }

Здесь есть всё, что пригодится дальше: тип события, его уникальный номер, время и сами данные. Номер события нужен, чтобы не создать одну заявку дважды, а страница и метка источника рекламы помогут понять, откуда пришёл клиент.

Посмотрите, как выглядят уведомления у разных источников.

Как выглядят вебхуки от разных источниковСокращённые примеры. Структуру ЮKassa и Telegram смотрите в их документации, тела заявки и события CRM условные.
Событиеновая заявка
Главные поляимя, телефон, страница, метки
Что сделатьсделка в CRM и сообщение менеджеру
  • Тело: { "event": "lead.created", "event_id": "f3a9c2", "lead": { "name": "Ирина", "phone": "+7 900…" } }
  • Формат задаёте вы: добавьте номер события и время, они нужны для защиты от дублей и разбора сбоев.

Вывод: в каждом вебхуке ищите три вещи: что случилось, уникальный номер события и номер объекта. Остальное при необходимости можно получить через API.

Пример: заявка с сайта сама попадает в CRM и Telegram

Разберём типичную задачу небольшой компании: заявки с формы должны появляться в CRM, а менеджер должен узнавать о них сразу, даже если CRM у него не открыта.

ШагЧто настроитьНа что обратить внимание
Форма на сайтеОтправку вебхука на адрес обработчика после успешной отправки формыПередавать страницу, метки рекламы и согласие на обработку данных
ОбработчикПроверку секрета, журнал, очередь, ответ 200Адрес только по HTTPS, секрет не в ссылке
CRMСоздание контакта и сделки по APIПоиск дубля по телефону, ответственный менеджер
TelegramБота, который пишет в рабочий чат или лично менеджеруВ сообщении имя, услуга и ссылка на сделку, без лишних персональных данных
СбойПовторы при ошибке CRM и оповещение ответственномуЗаявка не должна теряться, даже если CRM недоступна час

Почему не отправлять заявку прямо из формы в CRM и в Telegram? Можно, но тогда при сбое одной из систем заявка теряется без следа. Обработчик с журналом даёт одну точку, где видно каждую заявку и её судьбу. Подробно о том, какие поля передавать с заявкой и как проверить подключение на тестовых заявках, рассказано в статье о подключении CRM к сайту.

Если клиенты пишут вам и в Telegram, тот же механизм работает в обратную сторону. Telegram отправляет боту вебхук на каждое новое сообщение, а обработчик создаёт обращение в CRM. По правилам Telegram Bot API бот получает обновления либо вебхуком, либо опросом, оба способа одновременно не работают.

Вебхук или опрос: что выбрать

Вебхук выбирают, когда важно узнать о событии сразу и событий немного относительно времени. Опрос нужен, когда у источника нет вебхуков или данные меняются постоянно, как остатки на складе.

Сколько запросов в месяц нужно, чтобы не пропустить заявкуРасчёт для месяца из 30 дней и условного потока 300 заявок. Опрос идёт круглые сутки, даже когда заявок нет. Это арифметика, а не замер конкретного сервиса.
Опрос раз в минуту43 200
Опрос раз в 5 минут8 640
Опрос раз в 15 минут2 880
Опрос раз в час720
Вебхук на каждую заявку300

Как читать: при опросе раз в N минут о заявке узнают в среднем через N/2 минут, а большинство запросов возвращаются пустыми. Вебхук отправляется только когда есть событие и приходит сразу. Опрос раз в час или ночная сверка остаются полезными как страховка: они находят то, что вебхук не донёс.

Сравнение опроса и вебхука на одной шкале времени с 10:00 до 11:00 на светлом фоне в графитовых и мятно-бирюзовых тонах: в верхней строке опрос каждые 15 минут, пять проверок, из них четыре пустые, заявка пришла в 10:02, а узнали о ней в 10:15; в нижней строке вебхук, один запрос в 10:02, сразу после заявки
При опросе о заявке узнают на следующей проверке, при вебхуке сразу.

На практике их сочетают. Вебхук даёт скорость, а редкий опрос или ночная сверка ловят то, что потерялось. Как выбрать частоту для каждого потока данных, подробно разобрано в статье о выборе частоты обновления.

Где ещё вебхуки экономят время небольшой компании

Заявка с сайта самый частый, но не единственный случай. Вебхук полезен везде, где событие в одной системе должно сразу запустить действие в другой, а сотрудник сейчас делает это вручную.

СобытиеЧто происходит автоматическиЧто снимает с людей
Оплата прошлаЗаказ получает статус «Оплачен», склад видит задачу на сборкуПроверку выписки и ручную смену статуса
Оплата отменена или возвращенаСделка возвращается на этап, менеджер получает сообщениеСверку возвратов в конце дня
Клиент записался онлайнЗапись появляется в CRM, мастер получает уведомлениеПеренос записей из формы в календарь
Сделка перешла в этап «Договор»Готовится черновик договора по шаблонуЗаполнение реквизитов вручную
Пришло сообщение ботуСоздаётся обращение с историей перепискиПоиск клиента и копирование сообщений
Заказ передан в доставкуКлиент получает письмо или сообщение с номером отслеживанияОтветы на вопрос «где мой заказ»

Перед тем как настраивать вебхук, проверьте в документации источника, есть ли нужное событие. Вебхуки бывают только там, где их сделал разработчик сервиса. Если события нет, остаётся опрос по API или выгрузка по расписанию.

Надёжность: повторы, дубли и порядок событий

Вебхук может прийти дважды, прийти не по порядку или не прийти вовсе, если ваш адрес был недоступен. Хороший обработчик готов ко всем трём случаям.

  • Повторы. Если ваш адрес не ответил 2xx, источник обычно повторяет отправку. ЮKassa, например, повторяет уведомление в течение 24 часов после события, Telegram тоже делает несколько попыток. Значит, короткий сбой не страшен, если обработчик потом поднимется.
  • Дубли. Повтор может прийти, даже если первое уведомление вы уже обработали, например при обрыве связи на ответе. Храните номера обработанных событий и пропускайте уже известные.
  • Порядок. Уведомление «оплата отменена» может прийти раньше, чем «оплата создана». Перед важным действием запросите актуальный статус объекта через API.
  • Потери. Если обработчик лежал дольше, чем источник повторяет, событие пропадёт. Ночная сверка количества заявок и оплат найдёт такие пропуски.

Безопасность: как убедиться, что запрос настоящий

Адрес обработчика доступен из интернета, поэтому на него может прийти что угодно. Проверка подлинности обязательна, особенно для оплат.

СпособКак работаетПример из документации
Секретный токенИсточник присылает в заголовке заранее заданную строку, обработчик её сверяетTelegram передаёт значение secret_token в заголовке X-Telegram-Bot-Api-Secret-Token
ПодписьИсточник вычисляет подпись тела запроса общим секретом, обработчик пересчитывает и сравниваетGitHub передаёт подпись HMAC SHA-256 в заголовке X-Hub-Signature-256
Адреса отправителяОбработчик принимает запросы только с IP-адресов источникаЮKassa публикует список своих IP-адресов
Сверка через APIОбработчик не верит уведомлению на слово и запрашивает статусЮKassa рекомендует сверять статус объекта через API

И ещё три правила. Адрес обработчика только по HTTPS: Telegram, например, принимает вебхуки на портах 443, 80, 88 и 8443, а ЮKassa требует HTTPS и TLS не ниже 1.2. Секрет не вставляют в саму ссылку, где он попадает в журналы серверов. Принимают только ожидаемые поля и разумный размер тела. Как устроен сертификат для HTTPS и почему он может внезапно истечь, описано в статье что такое SSL-сертификат.

Как проверить, что вебхук работает

Вебхук проверяют на тестовых событиях до запуска и потом следят за ним каждый день.

  1. Тестовая заявка. Отправьте форму сами и проверьте: запись в журнале обработчика, сделка в CRM, сообщение в Telegram, всё с одинаковыми данными.
  2. Тест сбоя. Временно отключите доступ к CRM и отправьте заявку. Она должна дождаться в очереди и появиться в CRM после восстановления, а ответственный должен получить оповещение.
  3. Тест дубля. Отправьте то же событие повторно. Вторая сделка появиться не должна.
  4. Тест подделки. Отправьте запрос без секрета или с неверной подписью. Обработчик должен его отклонить.
  5. Ежедневная сверка. Сколько заявок пришло на сайт и сколько сделок появилось в CRM. Расхождение повод разбираться.

Кто отвечает за вебхуки после запуска

Вебхук легко настроить и легко забыть. Через год никто не помнит, куда уходят уведомления об оплате, а смена домена или переезд сайта тихо ломает обмен. Поэтому у каждого вебхука должен быть хозяин и короткая запись в документации.

  • Где настроен. В каком сервисе, в каком разделе настроек и под какой учётной записью.
  • Куда отправляет. Адрес обработчика и какие события на него подписаны.
  • Где лежит секрет. Не сам секрет, а место хранения и кто может его поменять.
  • Кто получает оповещения. Имя ответственного и запасной контакт на время отпуска.
  • Что проверить при изменениях. Переезд сайта, смена домена, обновление CRM, новые поля в форме.

Учётные записи, в которых настроены вебхуки, должны принадлежать компании, а не подрядчику. Тогда смена исполнителя не превращается в поиск, кто и где когда-то что-то подключил.

Чек-лист: надёжен ли ваш приёмник вебхуков

Пройдитесь по пунктам для каждого вебхука, который у вас уже работает или только планируется.

Надёжен ли приёмник вебхуков: 12 пунктовОтметьте то, что уже сделано. Отметки сохраняются в этом браузере.
0 из 12

Типичные ошибки

  • Долгая обработка до ответа. Источник не дождался ответа, посчитал доставку неудачной и прислал повтор.
  • Нет защиты от дублей. Каждый повтор создаёт новую сделку.
  • Нет проверки подлинности. Любой, кто узнал адрес, может создать заявку или «оплату».
  • Секрет в ссылке. Он оседает в журналах и пересылках.
  • Нет журнала. Непонятно, пришёл ли вебхук и что с ним стало.
  • Вера уведомлению на слово. Заказ отгружают по вебхуку об оплате без сверки статуса.
  • Нет сверки. События, потерянные во время сбоя, никто не замечает.

Частые вопросы

Что такое вебхук простыми словами?

Это уведомление, которое сервис сам отправляет на ваш адрес, как только произошло событие. Например, сайт сообщает обработчику о новой заявке, а платёжный сервис об оплате. Никому не нужно постоянно проверять, нет ли новостей.

Чем вебхук отличается от API?

При запросе к API разговор начинает получатель: он спрашивает данные, когда они ему нужны. Вебхук начинает источник в момент события. Обычно их используют вместе: вебхук сообщает о событии, а подробности обработчик запрашивает через API.

Что будет, если адрес обработчика был недоступен?

Многие сервисы повторяют отправку. Например, ЮKassa повторяет уведомление в течение 24 часов после события. Если сбой длился дольше, событие можно потерять, поэтому нужна ежедневная сверка с источником.

Почему из-за вебхука в CRM появились дубли?

Источник прислал повтор, а обработчик создал запись ещё раз. Повтор бывает, если ответ 200 не дошёл или ушёл слишком поздно. Решение: хранить номера обработанных событий и пропускать уже известные.

Как защитить вебхук от поддельных запросов?

Принимать запросы только по HTTPS, проверять секретный токен или подпись в заголовке, по возможности ограничить IP-адреса отправителя, а важные события вроде оплаты сверять через API источника.

Можно ли получать сообщения Telegram-бота через вебхук?

Да. В Telegram Bot API бот получает обновления либо через вебхук, либо опросом методом getUpdates, одновременно эти способы не работают. Для вебхука нужен адрес по HTTPS на одном из портов 443, 80, 88 или 8443.

Нужен ли программист, чтобы настроить вебхук?

Указать адрес в настройках сервиса можно самому. Но обработчик с проверкой подлинности, журналом, очередью и защитой от дублей пишет разработчик, иначе заявки будут теряться при первом сбое.

Том Холоденин разбирает проект
Разбираю каждый сайт личноЭто не менеджер и не бот: ты сразу говоришь со мной.
Бесплатно · лично · ответ за 24 часа

Бесплатный разбор твоего сайта: найду реальные точки роста прибыли и оптимизации затрат

Пришли ссылку на сайт и пару слов о бизнесе. Лично разберу, где теряются заявки и деньги, что даст рост прибыли и какие затраты можно сократить. Если сайта пока нет, разберу нишу и конкурентов.

Где теряются заявки и деньгиТочки роста прибылиКакие затраты можно сократитьПлан первых шагов

Бесплатно и ни к чему не обязывает. Если улучшать нечего, так и скажу.

Спасибо! Разбор пришлю лично в течение рабочего дня.

Или сразу: как выглядит разбор и онлайн-проверка · записаться на созвон · собрать задачу в калькуляторе

Получить бесплатный разбор →