Что такое webhook и как он работает в бизнес-процессах
Лиды переносят между системами вручную, или CRM каждые пять минут спрашивает «есть что-то новое?». В статье простыми словами объясняем, что такое webhook: четыре части, отличие от API, примеры в бизнес-процессах, надёжность и повторы, безопасность, вопросы при настройке и типичные ошибки.
Короткий ответ
Webhook — это уведомление, которое одна система автоматически отправляет другой, когда происходит событие. Технически это HTTP-запрос на заранее заданный адрес (URL) с данными события: «создан новый лид, вот имя, вот номер». В бизнес-процессах webhook держит системы в курсе: CRM больше не нужно каждые пять минут спрашивать «есть что-то новое?» — данные приходят в момент события. Надёжному webhook нужны три вещи: быстрое подтверждение со стороны получателя, повтор неудачной доставки и проверка подлинности отправителя.
Простыми словами: не звоните нам, мы сами позвоним
Есть два способа узнать об изменении в другой системе. Первый — спрашивать: CRM каждые пять минут спрашивает чат-платформу «есть новые лиды?». Обычно ответ «нет», но запросы идут, а лид может опоздать на пять минут. Второй — webhook: вы говорите чат-платформе «когда появится новый лид, сообщи на этот адрес». Уведомление приходит сразу после события, без пустых запросов.
Бытовое сравнение: вместо того чтобы каждый день ходить на почту и спрашивать, пришла ли посылка, вы получаете SMS, когда она пришла.
Четыре части webhook
- СобытиеЧто произошло: «lead.created», «call.completed», «order.paid».
- Данные (payload)Подробности события, обычно в JSON: кто, что, когда.
- Адрес (endpoint)URL системы-получателя — куда отправляется уведомление.
- Подпись или ключЧтобы получатель проверил, что уведомление действительно от ожидаемого отправителя.
Webhook и API: в чём разница
С API вы спрашиваете: «какой статус у заказа?» — и получаете ответ. С webhook система сама сообщает: «статус заказа изменился». API вызывают, когда нужно, а webhook приходит, когда происходит событие. В реальных интеграциях они работают вместе: webhook говорит «что-то изменилось», а получатель при необходимости запрашивает полные данные через API.
Примеры в бизнес-процессах
- В чате написан номер → webhook → в CRM создан лид, менеджеру поставлена задача.
- Завершён AI-звонок → webhook → результат и резюме звонка записаны в карточку клиента.
- Статус лида стал «выиграно» → webhook → бухгалтерская система начала готовить счёт.
- Прошла оплата → webhook → статус заказа изменился, клиенту ушло подтверждение.
- Клиент задал вопрос, которого нет в базе знаний → webhook → уведомление ответственному.
Надёжность: webhook может потеряться
Главный риск webhook — тихий сбой: отправитель отправил уведомление, система-получатель в этот момент не работала, лид никуда не попал, и никто об этом не знает. Правила надёжного webhook:
- Получатель быстро подтверждает уведомление (обычно ответом 2xx), а тяжёлую работу делает потом, в очереди.
- Отправитель повторяет неудачную доставку через заданные интервалы.
- Получатель готов к тому, что одно уведомление придёт дважды, — повтор не должен создавать дубль.
- События могут прийти не по порядку — «статус изменился» раньше, чем «создан».
- Неудачные доставки видны в журнале, и кто-то их просматривает.
Безопасность
Адрес webhook открыт в интернете, и любой может отправить на него запрос. Чтобы защититься: используйте только HTTPS, проверяйте подпись или секретный ключ отправителя, кладите в уведомление только нужные данные (если полный текст переписки не нужен, не отправляйте его) и не храните адрес в коде или открытом документе. Если передаются персональные данные, это тоже должно соответствовать правилам компании.
Что спросить при настройке webhook
- Какие события отправляются и как выглядит пример данных для каждого?
- Сколько раз и с какими интервалами повторяется неудачная доставка?
- Как проверяется подлинность отправителя?
- Где журнал доставок и кто может его смотреть?
- Есть ли отдельный адрес для тестов и можно ли отправить тестовое событие?
Как вносить эти вопросы в документ интеграции, показано в статье о требованиях к API-интеграции.
Webhook без программиста
Чтобы принимать webhook, не всегда нужен отдельный код. Интеграционные платформы (iPaaS) умеют принять webhook, передать данные в другую систему, преобразовать поля и поставить простые условия. Для малых и средних компаний это часто самый быстрый путь. Но помните о двух вещах: промежуточный сервис тоже обрабатывает данные — проверьте, где хранятся персональные данные, — и у него бывают свои сбои, поэтому неудачные доставки нужно отслеживать и там. Для критичных процессов прямая и протестированная интеграция часто надёжнее.
Иллюстративный пример
Это иллюстративный пример. Ремонтная компания передаёт лиды из чат-платформы в CRM через webhook. В одно воскресенье сервер CRM обновляют, и он два часа не работает. Отправитель не делал повторов — лиды за эти два часа потерялись и обнаружились случайно в понедельник.
Исправление: на стороне отправителя добавили правило повторов, на стороне получателя — проверку, чтобы один лид не создавался дважды. Для неудачных доставок настроили уведомление в IT.
Типичные ошибки
- Считать webhook «настроил и забыл» — на неудачные доставки никто не смотрит.
- Не быть готовым к повторам — один лид создаётся дважды.
- Открытый адрес без проверки подписи.
- Отправка лишних данных, особенно персональных.
- Запуск без проверки тестовым событием.
Ограничения
Webhook только сообщает о событии и не решает, что сделает система-получатель. При очень большом объёме webhook может перегрузить получателя, поэтому нужна очередь. Некоторые старые системы вообще не принимают webhook — им нужен промежуточный сервис или передача через файлы.
Webhook в Vexvon
Vexvon может отправлять в собственную систему компании через webhook такие события, как новый лид, завершённый звонок и смена статуса, — в момент, когда они происходят. В обратную сторону компания предоставляет AI свой API как инструмент, и бот вызывает его, например, на вопрос «где мой заказ?». Для передачи лидов в Bitrix24 есть готовое подключение. Подробнее — интеграции.
Следующий шаг
Найдите одну информацию, которую сейчас вручную переносят между системами, — например, лиды из чата в CRM. Опишите для неё событие, данные и адрес получателя на одной странице. Архитектура API и webhook чат-бота разобрана в статье об интеграции чат-бота через API и webhook, общие слои интеграции — в статье о корпоративной интеграции AI. Другие статьи — в разделе о корпоративной интеграции; webhook можно спланировать вместе во время демо.