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

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

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

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

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

Основное

ПолеТипЧто это
idstringID события
typestringcall_result или lead_only
organizationIdstringID вашего аккаунта
timestampstringВремя события, ISO 8601

Колл-лист

ПолеТипЧто это
callList.idstringID колл-листа
callList.namestringНазвание колл-листа
callList.statusstringСтатус колл-листа

Звонок

ПолеТипЧто это
call.idstringID звонка
call.startedAtstringНачало звонка
call.connectedAtstringМомент соединения
call.endedAtstringКонец звонка
call.durationnumberДлительность в миллисекундах
call.statusstringcompleted, failed и др.
call.typestringoutgoing или incoming
call.hangupReasonstringПричина завершения
call.recordUrlstringСсылка на запись разговора
call.callDetails.channelIdstringID канала
call.callDetails.chatHistoryarrayПолный транскрипт диалога — массив сообщений с role и content

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

ПолеТипЧто это
call.callSession.idstringID сессии
call.callSession.statusstringСтатус сессии
call.callSession.attemptsnumberСколько попыток сделано
call.callSession.attemptsLeftnumberСколько попыток осталось
call.callSession.prioritynumberПриоритет сессии

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

ПолеТипЧто это
call.agreements.isCommitbooleanЕсть договорённость или нет
call.agreements.agreementsstringЧто договорились
call.agreements.client_namestringИмя клиента
call.agreements.client_factsstringЧто Саша узнала о клиенте
call.agreements.agreements_timestringВремя договорённости, YYYY-MM-DD HH:MM:SS
call.agreements.agreements_time_localstringЛокальное время договорённости
call.agreements.statusstringСтатус результата, например transfer
call.agreements.lead_destinationstringКуда направить лид, например sales
call.agreements.smsTextstringГотовый текст SMS для клиента
call.agreements.lead_qualitynumber | nullОценка лида от 0 до 10 (если анализ её вернул)
call.agreements.blacklistbooleanРекомендация занести контакт в чёрный список (если есть)
call.agreements.leadTransferobjectКастомные поля агента «Лид трансфер»; см. ниже

Объект agreements.leadTransfer

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

Контакт

ПолеТипЧто это
contact.idstringID контакта
contact.phonestringНомер телефона
contact.blacklistbooleanВ чёрном списке или нет
contact.dadataPhoneInfoobjectРегион, оператор, часовой пояс из сервиса DaData
contact.tagsarrayТеги контакта
contact.additionalFieldsobjectДоп. данные которые вы передавали при загрузке контакта