Вебхук: что это и как он работает
Вебхук — способ, которым одна система сама сообщает другой, что что-то произошло: создана сделка, пришла оплата, клиент написал. Без вебхуков второй системе пришлось бы каждые несколько минут спрашивать «ну что, есть новое?». Разбираем, как устроен вебхук, чем он отличается от обычного запроса к API и как работают вебхуки в amoCRM.
Что такое вебхук простыми словами
Вебхук (webhook) — уведомление, которое система отправляет на заданный адрес, когда происходит событие. Вы говорите системе: «когда создадут сделку — отправь данные вот сюда». И она отправляет — сразу, без запроса с вашей стороны. Документация amoCRM формулирует так: вебхуки — это уведомление сторонних приложений о событиях, произошедших в amoCRM.
Вебхук и API: в чём разница
API-запрос — вы спрашиваете систему: «дай список сделок», «создай контакт». Инициатива ваша.
Вебхук — система сама сообщает вам о событии. Инициатива её.
Обычно их используют вместе: вебхук сообщает «сделка изменилась», а интеграция по API забирает подробности или что-то меняет в ответ. Про API — в статье «API amoCRM».
Где пригождаются вебхуки
• Заявка с сайта — сразу в CRM, а не по расписанию.
• Сделка перешла на этап «Оплачено» — данные уходят в учётную систему или на склад.
• Сменился ответственный — уведомление в мессенджер.
• Пришло сообщение в чат — его обрабатывает бот или ИИ-агент.
Вебхуки в amoCRM
События. Вебхуки приходят по сделкам, контактам, компаниям, покупателям, задачам, спискам и беседам: добавление, изменение, удаление, восстановление, смена статуса сделки, смена ответственного, добавление примечания; отдельно — входящие и исходящие сообщения в чатах и неразобранное.
Настройка. В разделе амоМаркет — кнопка «WEB HOOKS» в правом верхнем углу: указываете адрес и события и сохраняете. Работа с вебхуками через API доступна на тарифах «Расширенный» и «Профессиональный».
Формат. Данные приходят в формате x-www-form-urlencoded: сущность, действие и данные; при удалении передаётся только идентификатор.
Что будет, если адрес не отвечает
amoCRM ждёт ответа не больше 2 секунд; ответ без успешного кода или без ответа в срок считается недоставленным. Повторных попыток — до пяти: через 5 минут, дважды через 15 минут и через час. Если за последние 2 часа набралось больше 100 недоставленных откликов и последний тоже не доставлен, вебхук отключается, а администраторы получают уведомление и могут включить его снова.
Отсюда практическое правило: обработчик вебхука должен быстро ответить «принято» и уже потом выполнять долгую работу — иначе события будут теряться и копиться повторы.
Как сделать вебхук: что нужно
1. Адрес, который принимает запросы, — свой сервер или сервис интеграций.
2. Обработчик, который быстро отвечает и не ломается на повторной отправке того же события.
3. Журнал: что пришло, что сделано, где ошибка.
4. Проверка источника — чтобы принимать события только от своей системы.
Если нужна интеграция
Делаем интеграции и доработки amoCRM по API, в том числе на вебхуках, — 4 000 ₽ в час: короткое ТЗ, оценка вилкой по часам до начала, разработка в вашем аккаунте, тест на реальных данных и документ о сделанном. Ориентир: точечная доработка — 8–16 часов, новый сценарий или связка с внешним сервисом — 16–40, комплексное решение — от 40. Созвон и постановка задачи в часы не входят. Подробнее — в статье «Интеграция amoCRM: цена».
Вебхук — уведомление, которое система сама отправляет на ваш адрес, когда происходит событие; API-запрос, наоборот, делаете вы. В amoCRM вебхуки настраиваются в амоМаркете кнопкой «WEB HOOKS», приходят по сделкам, контактам, задачам и чатам, ждут ответа 2 секунды и повторяются до пяти раз, а после 100 недоставленных за 2 часа отключаются.