...
- "event": "CALL_REDIRECTED"– Хук, с информацией о звонке, переведенном на оператора. Отправляется только тогда, когда в диалоге бота настроен перевод на оператора.
Событие отправляется самым первым хуком, чтобы проинформировать стороннюю систему о переводе звонка в КЦ.
Отправляется и для входящих и для исходящих звонков, если в сценарии настроен перевод на оператора. Если перевода не было или он не предусмотрен - событие отправляться не будет. - "event": "CALL_ENDED" – Хук, с информацией о попытке дозвона. Отправляется всегда, по итогам завершения звонка. Отправляется и для входящих и для исходящих звонков.
- "event": "CANDIDATE_CHANGED" – Хук, с информацией о итоге обработки кандидата. Отправляется в качестве сигнала, что данный кандидат полностью обработан системой и больше звонков по кандидату не будет.
На него можно опираться для снятия блокировки с кандидата в CRM или дайлера. Отправляется только для исходящих звонков. Для входящих событие отправляться не будет.
Примеры кейсов и описание для них логики отправок хуков
...
Звонок 1 кандидату (1 номер, без перевода на оператора):
...
Поле | Тип | Обязательно | Описание | Соответствие с полем из метода старой телефонии |
---|---|---|---|---|
event | string | да | Тип события. Возможные значения:
| - |
type | string | да | Тип звонка. Возможные значения:
| - |
companyId | int | да | Идентификатор компании | - |
botId | string | да | Идентификатор сценария | botId |
id | string | да | Идентификатор вызова | id |
externalId | string | да | Переданный в запросе на инициализацию идентификатор (callId) | - |
taskId | string | да | Идентификатор задания на обзвон | taskId |
candidateId | string | да | Идентификатор кандидата на обзвон | - |
status | string | да | Статус вызова. Возможные значения:
| status |
callFrom | string | да | Вызывающий номер | - |
callTo | string | да | Вызываемый номер | phone |
startedAt | string | да | Дата начала вызова | startedAt |
finishedAt | string | да | Дата окончания вызова | - |
billedAt | string | да | Дата билинга вызова | - |
variables | Object | да (может быть пустым) | Произвольный словарь типа ключ-значения, который был передан перед инициализацией вызова. Содержит исходные переменные | - |
result | Object | да | Произвольный словарь типа ключ-значения. Результаты разговора робота | results |
| initialVariables | Object | да (может быть пустым) | Исходные переменные | - |
| markers | Array[string] | да (может быть пустым) | Маркеры | - |
| confirmation | string | да (может быть пустым) | Подтверждение | results.confirm |
| nps | string | да (может быть пустым) | NPS | results.nps |
| ключ_1 | string | нет | Произвольный результат. Задается в блоке "Результат" с типом "Произвольный результат" | results.ключ_1 |
recordPath | string | да (пустой для первого хука) | Путь к аудиофайлу. Для получения ссылки нужно добавить в начале пути | recordPath |
flow | Array[Object] | да | Массив фрагментов разговора | - |
| botId | string | да | Идентификатор сценария | - |
| start | string | да | Время начала части диалога | - |
| end | string | да | Время окончания части диалога | - |
| messages | Array[Object] | да | Массив сообщений по диалогу | messages |
| | text | string | да | Текст сообщений | messages.X.text |
| | author | string | да | Кто произнес сообщение (BOT, CLIENT) | messages.X.author |
| | time | string | да | Время отправки сообщения | messages.X.created_at |
gmtOffset | int | да | смещение в минутах от UTC часового пояса клиента | timezone |
hungUpBy | string | да (пока всегда null) | Кто положил трубку (пока всегда null) | - |
duration | int | да | Общая длительность разговора | duration |
totalCost | float | да | Общая стоимость разговора | - |
robotCallDuration | int | да | Длительность разговора робота | botDuration |
robotCallTotalCost | float | да | Стоимость разговора робота со скидкой | - |
mainCallCost | float | да | Стоимость разговора (транк клиента) | - |
mainCallDiscount | float | да | Скидка за разговор (транк клиента) | - |
mainCallDuration | int | да | Длительность разговора (транк клиента) | - |
autoCallCost | float | да | Всегда равен 0 | - |
autoCallDiscount | float | да | Всегда равен 0 | - |
autoCallDuration | int | да | Всегда равен 0 | - |
autoCallTotalCost | float | да | Всегда равен 0 | - |
robotCallCost | float | да | Стоимость разговора робота | - |
robotCallDiscount | float | да | Скидка за разговор робота | - |
transferCallCost | float | да | Стоимость перевода звонка | - |
transferCallDiscount | float | да | Скидка за перевод звонка | - |
transferCallDuration | int | да | Длительность звонка после перевода | operatorDuration |
transferCallTotalCost | float | да | Стоимость звонка после перевода со скидкой | - |
callbackData | Object | да (может быть пустым) | Информация о кандидате, переданная в момент добавления кандидата (см. метод добавления кандидата) | - |
Описание хука по событию «CANDIDATE_CHANGED» (Только для исходящих)
...
Пример запроса:
Тело webHook в формате Json:
...