Нода «Вебхук»: подключение своей системы

Обновлено 04.08.2026 · 3 мин чтения

Универсальная нода: во время разговора вызывает ваш HTTP-сервис, передаёт ему собранные данные и может использовать ответ дальше в сценарии.

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

Что можно сделать

  • Проверить клиента в своей базе — есть ли активный абонемент, была ли предоплата.
  • Получить актуальные свободные слоты из своего расписания.
  • Отправить заявку в систему, для которой у нас нет коннектора.
  • Запустить цепочку в сервисе автоматизации.
  • Проверить наличие товара на складе.

Настройка

Адрес. Только https:// — незащищённые адреса не принимаются.

Метод. GET, POST, PUT или PATCH. Для передачи данных обычно POST.

Заголовки. Пары «имя — значение». Здесь задают тип содержимого и признак вашей системы.

Заголовки хранятся в настройках сценария в открытом виде. Не кладите сюда настоящие секреты — токены доступа, ключи API с широкими правами. Если ваш сервис требует авторизации, сделайте отдельный эндпоинт со случайным длинным путём и правом только на нужную операцию, либо поставьте перед ним прослойку, которая уже знает секрет.

Передаваемые данные. Соответствие «поле запроса — переменная сценария». Так ваш сервис получит имя, телефон, услугу и всё остальное, что собрал агент.

Ответ в переменную. Куда положить то, что вернул сервис. Дальше значение можно подставить в реплику или проверить условием.

Фраза ожидания. Что говорить, пока идёт запрос. Задавайте обязательно.

Таймаут. Сколько ждать ответа. Держите небольшим: клиент ждёт в реальном времени, и десять секунд тишины — это очень долго.

Как это выглядит в разговоре

Ограничения безопасности

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

Практические следствия:

  • Адреса во внутренних сетях недоступны: localhost, 192.168.*, 10.* и подобные не сработают. Сервис должен быть доступен из интернета.
  • Только https://.
  • Самоподписанные сертификаты не принимаются.

Если ваша система живёт во внутреннем контуре, поставьте наружу тонкий шлюз, который принимает запрос и передаёт внутрь.

Что должен возвращать ваш сервис

Отвечайте быстро и коротко. Вебхук вызывается посреди живого разговора — человек ждёт в трубке.

Хорошо: маленький JSON с плоской структурой и понятными полями, ответ за 200–500 миллисекунд.

Плохо: тяжёлый ответ с вложенностью, генерация отчёта на лету, обращение к медленной внешней системе внутри обработчика.

Если операция долгая по природе — принимайте запрос, отвечайте сразу «принято» и выполняйте её в фоне.

Два выхода

Как у ноды CRM: «получилось» и «ошибка». Ветка ошибки срабатывает при недоступности сервиса, истёкшем таймауте или ответе с ошибкой.

Подключать обязательно. Ваш сервис однажды упадёт — это нормально; ненормально, если из-за этого оборвётся разговор с клиентом.

Что делать нельзя

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

Вызывать несколько вебхуков подряд. Каждый — это пауза. Два подряд — пять секунд тишины. Сведите к одному запросу на своей стороне.

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

Отладка

Начните с бесплатного сервиса-приёмника запросов (их много, ищутся по запросу «webhook tester»): укажите его адрес, сделайте тест-звонок и посмотрите, что реально ушло. Так вы отделите проблемы сценария от проблем своего сервиса.

Дальше — на своём адресе, с логированием входящих запросов.