HappHapp Docs

Вебхуки

Получайте события чатов и звонков клиента на собственный эндпоинт — с подписью и проверкой

MarkdownOpen in ClaudeOpen in ChatGPT

Получайте события чатов и звонков в реальном времени на собственный сервер — Happ отправляет POST с JSON, когда что-то происходит, и вы можете запускать оповещения в Slack, поиск в CRM, аналитику или собственные рабочие процессы.

Подключение

  1. Откройте каталог Интеграции и нажмите Подключить на Вебхук чатов или Вебхук звонков.
  2. В модальном окне введите URL вебхука — HTTPS-эндпоинт, который принимает события.
  3. При желании задайте Секрет вебхука для проверки запросов.
  4. Нажмите Подключить.

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

Отправляемые события

ВебхукСрабатывает на
ЧатКаждое сообщение в отслеживаемом чате — от клиента, от агента и от оператора
ЗвонокЗавершение звонка — одна доставка после звонка с длительностью, метаданными и ссылкой на запись, если она есть

Событие звонка

Вебхук звонка присылает один плоский JSON на каждый завершённый звонок (без вложенного result_json). Основные поля:

ПолеЗначение
event_typeВсегда post_call
call_uuidУникальный ID звонка — дедуплицируйте по нему, один и тот же звонок может прийти больше одного раза
externalNumberТелефон клиента, тот же, что в истории звонков; null, если номера не было (например, веб-звонок)
directioninbound, outbound или null
summary, callSuccessfulAI-итог и вердикт: success, failure или unknown
dynamicVariablesПеременные, с которыми запущен звонок, возвращаются обратно — передайте ID контакта в CRM или заказа при запуске звонка и прочитайте его здесь. Системные переменные VA (system__*) не передаются

Полная схема и пример: api.happ.tools/reference.

Проверка запросов

Задайте секрет вебхука, и каждая доставка будет нести два заголовка:

ЗаголовокЗначение
AuthorizationBasic <secret> — ваш секрет как есть, не base64 от user:password
X-Signaturesha256=<hex> — HMAC-SHA256 от сырого тела запроса, вычисленный вашим секретом

Для проверки пересчитайте HMAC-SHA256 от сырого тела (до разбора JSON) и сравните за константное время. Если ваша платформа не даёт доступа к сырому телу, проверяйте заголовок Authorization. Без секрета ни один из этих заголовков не отправляется. Тот же механизм, что и у инструментов агента.

Используйте только HTTPS, отвечайте 200 быстро (а сами события обрабатывайте асинхронно) и делайте обработку повторных доставок идемпотентной.

Вебхуки и вебхуки инструментов

Вебхуки интеграцийВебхуки инструментов
ТриггерАвтоматически по событиямВызывается AI во время разговора
НаправлениеHapp → ваш серверHapp → ваш сервер → ответ → AI
ОтветПодтверждение HTTP 200JSON, который использует агент
СценарийМониторинг, логирование, оповещенияДинамический поиск, действия

О вебхуках, которые AI вызывает посреди разговора, см. Инструменты.

API: api.happ.tools/reference

Дальше

Help me solve it

Happ answers right away and hands over to a manager when needed.

На этой странице