...
Блок кода | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{ "event": "CALL_ENDED", "type": "OUTGOING", "companyId": 5, "botId": "228cc4fa-92f2-4709-94e3-7344a96a5903", "id": "80970c2c-9b30-4f33-96a6-9f37f37009e2", "externalId": "f6d1c992-09d7-11ee-a9b5-9ae97dfae6df", "taskId": "bd5ed800-a7e1-443d-afa2-4368e4f0de61", "candidateId": "c89b04c3-fc46-4ab3-ac70-ae7de8d5617c", "status": "ANSWERED", "callFrom": "79669876543", "callTo": "79991234567", "startedAt": "2023-06-13T10:49:36+00:00", "finishedAt": "2023-06-13T10:49:38+00:00", "billedAt": "2023-06-13T10:49:55+00:00", "variables": { "age": "35", "name": "Иван Иванов" "tryNumber": 0, "recordPath": "https://tcl.twin24.ai/record/aed3c3d5-b299-4443-82a3-4tfbjkd658hg/download", "humanNumber": 0, "resultNumber": 0, "tryCandidate": 0, "answeredNumber": 0, "humanCandidate": 0, "resultCandidate": 0, "answeredCandidate": 0 }, "result": { "initialVariables": { "agenps": "35test", "namedate": "Иван ИвановДата", "phoneevaluation": "79991234567Оценка", "tryNumberconfirmation": 0"Подтверждение", "markers": "recordPath": "https://tcl.twin24.ai/record/aed3c3d5-b299-4443-82a3-4tfbjkd658hg/download", "humanNumber": 0, "resultNumber": 0, "tryCandidate": 0, "answeredNumber": 0[ "Маркер 1", "Маркер 2", "Маркер 3" ], "initialVariables": { "age": "35", "name": "Иван Иванов" "phone": "79991234567", "humanCandidatetryNumber": 0, "resultCandidaterecordPath": 0"https://tcl.twin24.ai/record/aed3c3d5-b299-4443-82a3-4tfbjkd658hg/download", "answeredCandidatehumanNumber": 0, }, "markersresultNumber": [ "Маркер 1", "Маркер 2", "Маркер 3" ], "confirmation": "Подтверждение", "nps": "NPS", "ключ_1": 0, "tryCandidate": 0, "answeredNumber": 0, "humanCandidate": 0, "resultCandidate": 0, "answeredCandidate": 0 }, "ключ_1": "его значение 1", "ключ_2": "его значение 2" }, "amd": "MACH", "recordPath": "/180/2023/6/13/1686653365.8627691_79992082892_180.mp3", "flow": [ { "botId": "228cc4fa-92f2-4709-94e3-7344a96a5903", "start": "2023-06-13 13:49:37.016654+03", "end": "2023-06-13 13:49:37.016654+03", "messages": [ { "text": "Привет и пока", "author": "BOT", "time": "2023-06-13 13:49:37.016654+03" } ] } ], "gmtOffset": 0, "hungUpBy": null, "duration": 2, "totalCost": 0.09, "robotCallDuration": 1, "robotCallTotalCost": 0.05, "mainCallCost": 1.45, "mainCallDiscount": 0, "mainCallDuration": 2, "mainCallTotalCost": 0.05, "autoCallCost": 0, "autoCallDiscount": 0, "autoCallDuration": 0, "autoCallTotalCost": 0, "robotCallCost": 2.5, "robotCallDiscount": 0, "transferCallCost": 0, "transferCallDiscount": 0, "transferCallDuration": 0, "transferCallTotalCost": 0.05, "clientExternalId":null, "callbackData": [] } |
Описание полей:
Поле | Тип | Обязательно | Описание | Соответствие с полем из метода старой телефонии | |||||
---|---|---|---|---|---|---|---|---|---|
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 | да | Произвольный словарь типа ключ-значения, который был передан перед инициализацией вызова. Содержит исходные переменные. -перед инициализацией вызова. Содержит исходные переменные. | - | |||||
| tryNumber | int | нет | Количество попыток дозвона в рамках задания на обзвон. | ||||||
| recordPath | string | нет | Прямая ссылка на скачивание аудиозаписи звонка. | ||||||
| humanNumber | int | нет | Количество дозвонов по номеру кандидата, где ответивший был НЕ автоответчик, считается с 0. | ||||||
| resultNumber | int | нет | Количество результативных дозвонов по номеру кандидата, считается с 0. | ||||||
| tryNumbertryCandidate | int | нет | Количество попыток дозвона в рамках задания на обзвон.до кандидата, считается с 0. | ||||||
| recordPath answeredNumber | stringint | нет | Прямая ссылка на скачивание аудиозаписи звонкаКоличество дозвонов по номеру кандидата, считается с 0. | ||||||
| humanNumberhumanCandidate | int | нет | Количество дозвонов по номеру до кандидата, где ответивший был НЕ автоответчик, считается с 0. | ||||||
| resultNumberresultCandidate | int | нет | Количество результативных дозвонов по номеру до кандидата, считается с 0. | ||||||
| tryCandidateansweredCandidate | int | нет | Количество попыток дозвона дозвонов до кандидата, считается с 0. | ||||||
result | Object | | answeredNumber | int | нет | Количество дозвонов по номеру кандидата, считается с 0. | да (может быть пустым) | Произвольный словарь типа ключ-значения. Результаты разговора робота. | results | |
| humanCandidatenps | intstring | нетКоличество дозвонов до кандидата, где ответивший был НЕ автоответчик, считается с 0 | Информация из поля NPS в блоке Результат. | ||||||
| resultCandidatedate | intstring | нетКоличество результативных дозвонов до кандидата, считается с 0 | Информация из поля Дата в блоке Результат. | ||||||
| answeredCandidateevaluation | intstring | нет | Количество дозвонов до кандидата, считается с 0Информация из поля Оценка в блоке Результат. | ||||||
| confirmation | string | нет | Информация из поля Подтверждение в блоке Результат. | result | Object | да (может быть пустым) | Произвольный словарь типа ключ-значения. Результаты разговора робота. | results | |
| initialVariables | Object | нет | Исходные переменные. | - | |||||
| | phone | string | нет | Вызываемый номер. | ||||||
| | tryNumber | int | нет | Количество попыток дозвона в рамках задания на обзвон. | ||||||
| | recordPath | string | нет | Прямая ссылка на скачивание аудиозаписи звонка. | ||||||
| | humanNumber | int | нет | Количество дозвонов по номеру кандидата, где ответивший был НЕ автоответчик, считается с 0. | ||||||
| | resultNumber | int | нет | Количество результативных дозвонов по номеру кандидата, считается с 0. | ||||||
| | tryCandidate | int | нет | Количество попыток дозвона до кандидата, считается с 0. | ||||||
| | answeredNumber | int | нет | Количество дозвонов по номеру кандидата, считается с 0. | ||||||
| | humanCandidate | int | нет | Количество дозвонов до кандидата, где ответивший был НЕ автоответчик, считается с 0. | ||||||
| | resultCandidate | int | нет | Количество результативных дозвонов до кандидата, считается с 0. | ||||||
| | answeredCandidate | int | нет | Количество дозвонов до кандидата, считается с 0. | ||||||
| markers | Array[string] | нет | Маркеры. | - | |||||
| evaluation | string | нет | Оценка из блока результат. | ||||||
| confirmation | string | нет | Подтверждение. | results.confirm | |||||
| nps | string | нет | NPS. | results.nps | |||||
| ключ_1 | string | нет | Произвольный результат. Задается в блоке Результат с типом Произвольный результат. | results.ключ_1 | |||||
amd | string | да | Результат работы определителя автоответчика. Возможные значения:
| amd | |||||
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 | да | Кто положил трубку (BOT, HUMAN). | - | |||||
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 | да | Стоимость звонка после перевода со скидкой. | - | |||||
clientExternalId | string | да (может быть null) | Идентификатор, который добавлен самостоятельно при добавлении кандидата. В случае, если идентификатор не был добавлен, вернется значение null. | ||||||
callbackData | Object | да (может быть пустым) | Информация о кандидате, переданная в момент добавления кандидата (см. метод добавления кандидата). | - |
...