Результат звонка (call_result)

Приходит после каждого завершённого разговора.

Итог сессии (call_session_result)

Приходит один раз — когда Саша завершила работу с контактом: договорилась, получила отказ или исчерпала все попытки дозвониться. Структура тела совпадает с call_result — те же поля call, contact, callList. Используйте это событие для интеграций с CRM: один запрос — один итог по контакту, без дублей за каждую попытку.

Как определяется исход

Если для конкретного исхода маршрут в CRM не настроен — событие пропускается без ошибки.
Как настроить, что передавать в CRM для каждого исхода — Битрикс24 и AmoCRM.

Только лиды (lead_only)

Структура та же. Два отличия:
  • Приходит только когда agreements.isCommit = true
  • Поле id — уникальный UUID каждой доставки. У call_result поле id совпадает с call.id

Справочник полей

Основное

Колл-лист

Звонок

Сессия звонка

Договорённости

Объект agreements.leadTransfer

Вложенный объект call.agreements.leadTransfer содержит только те пользовательские поля, которые заданы в скиллбейзе в настройках агента «Лид трансфер» (блок описаний полей: имя поля → подсказка для модели).
  • Имена ключей в JSON совпадают с именами полей, которые вы задали в скиллбейзе (латиница, кириллица или смешанный вид — как завели). Это не фиксированные customField1 / customField2 из примеров в интерфейсе: в вебхуке и в карточке звонка отображаются ваши ключи.
  • Значения заполняет модель по транскрипту разговора и по вашим текстовым описаниям полей.
  • Если модель не вернула значение для какого-то ключа, этого ключа в leadTransfer может не быть. Также значение может передано пустой строкой ("")
Остальные стандартные поля итога звонка (client_name, client_facts, agreements, lead_destination и т.д.) лежат на верхнем уровне call.agreements рядом с leadTransfer, а не внутри него. При настройке интеграций с CRM те же ключи из скиллбейза часто используются для маппинга в поля Bitrix24, AmoCRM и др.

Контакт

Справочник значений

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

call.status — статус попытки звонка

call.hangupReason — причина завершения

Могут приходить и другие технические коды — их можно обрабатывать как недозвон (failed).

call.type — направление звонка

call.agreements.status — итог анализа разговора

call.agreements.lead_destination — следующий шаг

При lead_destination: callback и заполненном agreements_time платформа сама запланирует повторный звонок. Подробнее — Логика перезвона.

call.agreements.isCommit — целевая договорённость

call.callSession.status — статус сессии дозвона

call.callSession.result — итог сессии

Поле заполняется, когда callSession.status = completed.

Как читать исход в интеграции