...
Блок кода | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
curl --Xlocation GET "'https://tcl.twin24.ai/api/analyse/v1/search/cis/sessions?id=687bec28-1b47-42df-955c-b88b40b2cb75" -H "fields=taskName%2Cid%2Camd%2CtaskId%2Cnumber%2CbotName%2CvariablesString%2CresultsString%2CdialogResult%2CvariablesString&limit=100&from=2024-01-01T00%3A00%3A00%2B00%3A00&to=2024-02-01T00%3A00%3A00%2B00%3A00&offset=0&page=1&companyId=0001&callingNumber=70000000000&isIncoming=false&status=ANSWERED' \ --header 'accept: application/json"' \ --header 'Authorization: Bearer TOKEN' |
Описание параметров метода:
Поле |
---|
Обязательно
Принимаемые значения | Описание |
---|---|
fields |
|
| Параметр, отвечающий |
за то, какие поля будут отображены в ответе. Поля указываются через запятую. |
url encoded дата в формате:
ГГГГ-ММ-ДДTчч:мм:сс+чч:мм
Например:
decoded: 2023-06-13T00:00:00+00:00
encoded: 2023-06-13T00%3A00%3A00%2B00%3A00
Дата и время конца поиска статистики.
Поле, по которому высчитывается дата, указывается в параметре periodBy
. По умолчанию – startedAt
.
Любые значения, перечисленные через запятую без пробела:
taskName,taskId,taskCreatedAt,taskUpdatedAt,taskStatus,callId,startedAt,number,callingNumber,
botId,botName,regionName,timezone,messagesAsString,messages,resultsString,allResults,emotion,
hungUpBy,gender,nps,isAssistantRequest,markers,duration,externalId,clientExternalId,additional,
recordPath,currentStatusName,humanStatusName,mainCallDiscount,mainCallDuration,autoCallCost,
autoCallDiscount,autoCallDuration,autoCallTotalCost,robotCallDiscount,robotCallDuration,transferCallDiscount,
transferCallDuration,companyId,autoCallCandidateId,amd,isCallEfficiency,mainCallTotalCost,robotCallTotalCost,
transferCallTotalCost,totalCost,mainCallCost,robotCallCost,transferCallCost,variables-count
Список полей, которые необходимо вывести.
Примечание |
---|
Если не передавать параметр, то будут выведены все поля, кроме variables. variables-var_name - поле, содержащее значение стартовой переменной с именем var_name, переданной при добавлении кандидата (как через апи метод, так и через интерфейс или excell реестр) |
page
нет
Целое число от 0
Номер "страницы" с записями.
archive
нет
true/false
Упаковать выданный файл в архив. Актуально только при наличии output.
output
нет
CSV/EXCEL
Выдать файл в CSV или EXCEL. Если не передавать, то в ответе будет json.
filename
нет
Строка
Название файла. Актуально только при наличии output.
callId
нет
Идентификатор
Фильтрация по идентификатору звонка.
withPrice
нет
true/false
Если true, то в ответе будут звонки только с ненулевой стоимостью.
sort
нет
+startedAt, +duration, -startedAt, -duration
Способ сортировки и поле, по которому будет сортировка.
"+" - по возрастанию.
"-" - по убыванию.
periodBy
нет
createdAt, updatedAt, startedAt, finishedAt, billedAt
Поле, по которому будет работать фильтрация по from и to.
По умолчанию: startedAt.
Рекомендуется использовать createdAt, как наиболее эффективный.
autoCallCandidateId
нет
Идентификатор
Фильтрация по идентификатору кандидата.
taskId
нет
Идентификатор
Фильтрация по идентификатору задания.
limit | Целое число от 1 до 1 000 | Количество записей на одной странице. Максимум 1000 объектов. | ||
offset | Целое число от 0 | «Отступ» от начала записей. То есть с какой записи начинать вывод. Смещение по позиции полученной информации. | ||
| Целое число от 0 | Номер «страницы» с записями. | ||
| url encoded дата в формате - Например: Начало периода в формате decoded: | Дата и время, от которой требуется провести поиск статистики в формате encoded. | ||
to | url encoded дата в формате - Например: Начало периода в формате decoded: В запросе требуется использовать дату и время в формате encoded. | Дата и время, до которой требуется провести поиск статистики в формате encoded. | ||
companyId | Целое число | Идентификатор компании в TWIN. *Используется для фильтрации. Сессии, не отвечающие заданному параметру, не будут добавлены в ответ. | ||
phone | Целое число | Номер телефона, на который идет звонок. *Используется для фильтрации. Сессии, не отвечающие заданному параметру, не будут добавлены в ответ.
| ||
callingNumber | Целое число | Номер телефона, с которого идет звонок. *Используется для фильтрации. Сессии, не отвечающие заданному параметру, не будут добавлены в ответ.
| ||
isIncoming | true / false |
*Используется для фильтрации. Сессии, не отвечающие заданному параметру, не будут добавлены в ответ. | ||
sort |
По умолчанию сортировка происходит по полю | Для сортировки результатов запроса доступны следующие поля:
По умолчанию сортировка происходит по полю Для указания желаемого порядка сортировки используются специальные префиксы:
Например, чтобы отсортировать звонки в порядке убывания, ориентируясь на дату и время завершенного звонка, нужно указать: | ||
taskId | Значение string | Идентификатор задания на обзвон. *Используется для фильтрации. Сессии, не отвечающие заданному параметру, не будут добавлены в ответ. | ||
id | Значение string | Идентификатор звонка. *Используется для фильтрации. Сессии, не отвечающие заданному параметру, не будут добавлены в ответ. | ||
status | Возможные значения:
| Текущий статус звонка. *Используется для фильтрации. Сессии, не отвечающие заданному параметру, не будут добавлены в ответ. | ||
FilterPeriodBy | createdAt , updatedAt , startedAt По умолчанию используется поле startedAt . | Выбор поля, к которому будет применяться фильтрация по датам из полей | ||
autoCallCandidateId | Значение string | Идентификатор кандидата. Используется для фильтрации. Сессии, не отвечающие заданному параметру, не будут добавлены в ответ. |
Блок кода | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{
"count": 1,
"items": [
{ | ||||||||
Блок кода | ||||||||
| ||||||||
{ "count": 1, "items": [ { "taskName": "Имя задания на обзвон", "taskId": "bce7d22e-dde6-4427-b391-ebbdfda44de6", "taskCreatedAt": "2024-01-16 02:01:10+00", "taskUpdatedAt": "2024-01-16 02:03:18+00", "taskStatus": "DONE", "callId": "bce7d22e-dde6-4427-b391-ebbdfda44de6", "startedAtid": "2024-01-16 02:01:31db5cb7fb-dc3e-4197-a7f5-93f63dc5bfbd", "numbertaskName": "74992868344TWIN TEST", "callingNumbertaskId": "74992868344db5cb7fb-dc3e-4197-a7f5-93f63dc5bfbd", "botIdcreatedAt": "bce7d22e2024-dde6-4427-b391-ebbdfda44de601-01T00:00:18.722982Z", "botNamestartedAt": "Имя сценария бота2024-01-01T00:00:18.722136Z", "regionNamefinishedAt": "г. Москва2024-01-01T00:00:38.484110Z", "timezonebilledAt": 3"2024-01-01T00:00:57.902230Z", "messagesAsStringupdatedAt": "BOT: Привет! Как дела, Иван?\nCLIENT: нормально\nBOT: Хорошо, пока!2024-01-01T00:00:57.908504Z", "speakerFinishedAt": "2024-01-01T00:00:38.484000Z", "messagesnumber": ["70000000000", "callingNumber": "70000000001", { "botId": "db5cb7fb-dc3e-4197-a7f5-93f63dc5bfbd", "authorTypebotName": "TWIN BOT", "timezone": 10800, "createdAtmessagesAsString": "2024-01-16T02:01:37.135151+00:00", BOT: Добрый день, как ваши дела? \nCLIENT: Привет, дела - хорошо.", "bodyresultsString": "Привет! Как дела, Иван?"{\"nps\": \"Успех\", \"confirmation\": \"Успех\"}", "variablesString": }, { "authorType": "CLIENT", "createdAt": "2024-01-16T02:01:43.098529+00:00", "{\"tryNumber\": 0, \"recordPath\": \"https://tcl.twin24.ai/record/db5cb7fb-dc3e-4197-a7f5-93f63dc5bfbd/download\", \"humanNumber\": 0, \"resultNumber\": 0, \"tryCandidate\": 0, \"answeredNumber\": 0, \"humanCandidate\": 0, \"resultCandidate\": 0, \"answeredCandidate\": 0}", "bodydialogResult": "нормальноУспех", "advStatus_ru": "Успешный", }, "nps": "Успех", { "duration": 17, "authorTypeexternalId": "BOTdb5cb7fb-dc3e-4197-a7f5-93f63dc5bfbd", "clientExternalId": null, "createdAtrecordPath": "2024-01-16T02:01:43.197626+00:00", https://tcl.twin24.ai/record/db5cb7fb-dc3e-4197-a7f5-93f63dc5bfbd/download", "body"currentStatusName": "ANSWERED"Хорошо, пока!" "mainCallDiscount": "0", } ]"mainCallDuration": 17, "resultsStringrobotCallDuration": "Подтверждение: Значение поля 'подтверждение результата'" 17, "transferCallDuration": 0, "allResultscompanyId": { 123, "npscompanyName": "Значение поля NPS123 | ТВИН: TEST", "custom_resultprice": "Значение поля 'произвольный результат' с ключом custom_result0.0", "confirmationresellerPrice": "Значение поля 'подтверждение результата'" 0.000000", "resellerCompanyId": }null, "emotionresellerCompanyName": null, "hungUpBymainCallCost": "Робот0.00", "gendermainCallTotalCost": null"0.0", "npsrobotCallCost": "Значение поля NPS0.00", "isAssistantRequestrobotCallTotalCost": null"0.0", "markerstransferCallCost": "Первый маркер;Второй маркер;Третий маркер0", "durationtransferCallTotalCost": 39null, "externalIdisIncoming": "bce7d22e-dde6-4427-b391-ebbdfda44de6"false, "clientExternalId": "123", "additional": null, "recordPath": "https:///#/record/bce7d22e-dde6-4427-b391-ebbdfda44de6/download", "currentStatusName": "ANSWERED", "humanStatusName": "Answered", "mainCallDiscount": "0", "mainCallDuration": 39, "autoCallCost": "0", "autoCallDiscount": "0", "autoCallDuration": "0", "autoCallTotalCost": "0", "robotCallDiscount": "0", "robotCallDuration": 39, "transferCallDiscount": "0", "transferCallDuration": 0, "companyId": 1, "autoCallCandidateId": "bce7d22e-dde6-4427-b391-ebbdfda44de6", "amd": "Не проверялось", "isCallEfficiency": "Результативный", "mainCallTotalCost": "0.85", "robotCallTotalCost": "1.30", "transferCallTotalCost": null, "totalCost": "2.145000", "mainCallCost": "1.30", "robotCallCost": "2.00", "transferCallCost": "0", "variables-name": "Иван" } ] } |
Описание полей ответа:
"amd": "NOT_DEF",
"autoCallCandidateId": "db5cb7fb-dc3e-4197-a7f5-93f63dc5bfbd"
}
]
} |
Описание полей ответа:
Поле | Описание | Тип поля | ||
---|---|---|---|---|
count | Общее количество найденных записей. | Int | ||
items | Массив найденных записей. | Array[Object] | ||
| id | Идентификатор звонка. | String | ||
| taskName | Имя задания на обзвон. | String | ||
| taskId | Идентификатор задания на обзвон. | String | ||
| createdAt | Дата и время создания звонка. | String | ||
| startedAt | Дата и время запуска звонка. | String | ||
| finishedAt | Дата и время окончания звонка. | String | ||
| billedAt | Дата и время расчета стоимости звонка. | String | ||
| updatedAt | Дата и время последнего обновления информации о звонке. | String | ||
| speakerFinishedAt | Дата и время окончания работы бота. | String | ||
| number | Номер телефона, на который идет звонок.
| String | ||
| callingNumber | Номер телефона, с которого идет звонок.
| String | ||
| botId | Идентификатор сценария бота. | String | ||
| botName | Имя сценария бота. | String | ||
| timezone | Смещение временной зоны в секундах относительно UTC. | Int | ||
| messagesAsString | Транскрибация диалога. Содержит полную транскрибацию в формате строки. | String | ||
| resultsString | Сохраненные в блоке Результат данные: Подтверждение; NPS; Произвольный результат. | String | ||
| variablesString | Стартовые переменные. | String | ||
| dialogResult | Значение поля подтверждение из блока Результат. | String | ||
| advStatus_ru | Результативность звонка (из настроек задания или блока «Зафиксировать эффективность)».
| String | ||
| nps | Значение поля NPS из зафиксированного результата. | String | ||
| duration | Продолжительность звонка в секундах. | Int | ||
| externalId | Внутренний идентификатор, используется только для нужд техподдержки. | String | ||
| clientExternalId | Идентификатор, который добавлен самостоятельно при добавлении кандидата. | String | ||
| recordPath | Ссылка на запись разговора. | String | ||
| currentStatusName | Текущий статус звонка. Возможные значения:
| String | ||
| mainCallDiscount | Скидка за разговор. | String | ||
| mainCallDuration | Длительность разговора в секундах. | Integer | ||
| robotCallDuration | Продолжительность работы робота в секундах. | Integer | ||
| transferCallDuration | Длительность звонка после перевода в секундах. | Integer | ||
| companyId | Идентификатор компании. | Integer | ||
| companyName | Идентификатор компании и имя компании. В формате: «ИДЕНТИФИКАТОР КОМПАНИИ | НАЗВАНИЕ КОМПАНИИ». | String | ||
| price | Стоимость всего разговора. | String | ||
| resellerPrice | Стоимость звонка для реселлера. | String | ||
| resellerCompanyId | Идентификатор компании реселлера. | Int | ||
| resellerCompanyName | Имя компании реселлера. | String | ||
| mainCallCost | Стоимость 1 минуты телефонии по тарифу. | String | ||
| mainCallTotalCost | Итоговая стоимость телефонии в звонке. | String | ||
| robotCallCost | Стоимость 1 минуты разговора робота. | String | ||
| robotCallTotalCost | Итоговая стоимость разговора робота. | String | ||
| transferCallCost | Стоимость 1 минуты разговора после перевода. | String | ||
| transferCallTotalCost | Итоговая стоимость разговора после перевода. | String | ||
| isIncoming | Входящий/Исходящий вызов (true/false). | Boolean | ||
| amd | Режим работы определителя человека или робота. Может принимать значения:
| String | ||
| autoCallCandidateId | Идентификатор кандидата. | String |
Поле
Тип
Обязательно
Описание
Статус задания на обзвон.
Возможные значения:
- ERROR_PREPARING – Ошибка подготовки
- PREPARING – Подготавливается к запуску
- MAX_CPS – Превышен лимит CPS для аккаунта. Приостановлено
- TIMEOUT – Таймаут обзвона. Аварийное завершение
- PAUSED_NO_ROUTE – Приостановлено. Нет маршрутов для вызовов
- READY – Готово к запуску
- PAUSED_SCHEDULE – Приостановлено. По расписанию
- HALTED – Остановлено навечно
- PAUSED_NOBODY – Приостановлено. Некому звонить на данный момент
- DELETING – В процессе удаления
- PAUSED_NO_MONEY – Закончились деньги. Приостановлено
- PAUSED – Приостановлено
- PROCESS – В процессе обзвона
- DONE – Обзвон завершен
- BLANK – Пустое задание (обзвон невозможен)
Объект с результатами разговора.
Обязательно включает поля "nps" и "confirmation".
Опционально (при наличии) включает поля со значением произвольных реультатов.
Кто "повесил трубку".
Возможные значения:
- Робот
- Человек
Текущий статус диалога.
Возможные значения:
- CANCEL – Отменен
- ANSWERED – Успешный
- NOANSWER – Нет ответа
- BUSY – Абонент занят
- CONGESTION – Вызов отклонен оператором связи
- CHANUNAVAIL – Нет связи с телефонной линией
- FAILED – Ошибка
- SCHEDULED – Запланирован
- BLACKLIST – В черном списке
- DIAL – Набор номера
- INPROGRESS – В процессе
- FZ230 – Запрет звонка по ФЗ-230
- INVALID – Ошибка формата номера
- UNAVAILABLE – Номер недоступен
- EXPIRED – Срок ожидания соединения истек
Текстовая расшифровка статуса диалога.
Возможные значения:
На русском:
- Отменен
- Успешный
- Нет ответа
- Абонент занят
- Вызов отклонен оператором связи
- Нет связи с телефонной линией
- Ошибка
- Запланирован
- В черном списке
- Набор номера
- В процессе
- Запрет звонка по ФЗ-230
- Ошибка формата номера
- Номер недоступен
- Срок ожидания соединения истек
На английском:
- Canceled
- Answered
- No answer
- Busy
- Congestion
- Channel unavailable
- Failed
- Scheduled
- Blacklisted
- Dialing
- In progress
- Prohibited by FZ-230
- Invalid number fromat
- Unavailable
- Connection expired
Результат работы amd (система определения автоответчиков).
Возможные значения:
- Человек
- Автоответчик
- Не проверялось
Результативность вызова.
Возможные значения:
- Результативный
- Нерезультативный
- Не определено