ВАЖНО
Масимум за один период можно получить не более 50 000 записей!!!
Если необходимо получить большее количество записей, то нужно брать меньший период времени.
API. Получение статистики об обзвонах.
Метод: GET
Authorization: Bearer Token (Метод для получения токена по логину и паролю)
URL: https://analyse.twin24.ai/api/v1/search/cis/calls? После "?" нужно подставить имя полей данных, которые вы хотите получить в статистике. Поля перечисляются через запятую и разделяются знаком "&". По полю доступна фильтрация данных, для этого через = укажите какое значение должно содержать поле. Список параметров и пример запроса с подставленными параметрами находится ниже.
Описание параметров метода:
Параметр | Обязательно | Описание |
---|---|---|
fields | Нет | Список полей: id – идентификатор звонка; phone – номер телефона клиента; duration – длительность диалога; taskId – идентификатор задания на обзвон; taskName – имя задания на обзвон; botId – идентификатор работавшего бота; botName – имя работавшего бота; regionId – идентификатор региона, в котором оформлен номер телефона клиента; timezone – часовой пояс номера телефона клиента; status – статус результата дозвона телефонии (Статусы вызовов для старой телефонии); responder – тип ответившего на звонок, при работающем модуле определения автоответчиков; shortNumber - transferredToOperator – признак отвечающий за то, был перевод звонка на оператора КЦ или нет; linkToLog – ссылка на лог звонка, по которой разбирают различные ситуации наши инженеры; createdAt – дата и время создания записи; updatedAt – дата и время обновления любой информации по записи; startedAt – дата и время запуска звонка; price – стоимость диалога; messages – текстовая транскрибация всего диалога, по ролям и доп информацией о реплике каждого участника диалога; messagesAsString - текстовая транскрибация всего диалога, по ролям, без доп информации; recordPath – ссылка на аудиозапись диалога; externalId – информация, переданная в информации о клиенте, на этапе загрузки; additional – дополнительная информация, переданная в информации о клиенте, на этапе загрузки; dialogResults – результат диалога бота, указанный в поле «Подтверждения» в сценарии диалога; nps - результат диалога бота, указанный в поле «NPS» в сценарии диалога; isFinished – признак отвечающий за то, будут ли на данного клиента еще попытки дозвона, или текущая попытка была последней. botDuration - время, которое работал бот, без учета времени разговора оператора. operatorDuration - время, которое работает оператор(принимающий перевод диалога с бота), без учета времени разговора бота. |
from | нет | Дата и время, начала диапазона времени, за которое нужно получить статистику. !!! Необходима конвертация в url (например метод в Python: urllib.parse.quote(test_str)) Для примера: 2022-03-01T21%3A30%3A54%2B00%3A00 |
to | нет | Дата и время, окончания диапазона времени, за которое нужно получить статистику. !!! Необходима конвертация в url (например метод в Python: urllib.parse.quote(test_str)) Для примера: 2022-03-01T21%3A30%3A54%2B00%3A00 |
limit | нет | Ограничение количества данных, которые нужно получить. Максимум: 1 000 |
offset | нет | Смещение по позиции полученной информации. Например, в заданное временное окно было 4 050 звонков. Сделав запрос, вы получили доступный максимум в виде 1 000 записей. Тогда вам нужно повторить запрос, с указанием последней полученной позиции. После получения 1 000 записей "1 000" и есть наша последняя позиция. Получив еще раз максимальное количество, повторяем запрос указав смешение уже на 2 000 позиций. Делаем смещение до тех пор, пока количество возвращенных данных не будет меньше запрошенному лимиту. |
sort | нет | Поле, по которому вы хотите отсортировать получаемые данные. |
taskId | нет | Фильтр по идентификатору задания на обзвон, по которому нужна статистика |
page | нет | "Страница" отчета. Каждая страница содержит limit записей. Первая страница начинается с позиции offset |
output | нет | Формат вывода файла: CSV, EXCEL. Если не задан, то JSON |
filename | нет | Имя файла (без расширения), если нужно сохранение в файл |
archive | нет | Bool значение: true – архивировать файл, false - не архивировать |
phone | нет | Фильтр по номеру телефона, по которому нужно выгрузить статистику |
status | нет | Фильтр по статусу звонка: CANCEL, ANSWER, NOANSWER, BUSY, CONGESTION, CHANUNAVAIL, FAILED, BLACKLIST, DIAL, INPROGRESS, FZ230, INVALID, UNAVAILABLE |
id | нет | Фильтр по идентификатору звонка |
filterPeriodBy | нет | Выбор поля, по которому будет происходить фильтрация параметров from и to.
|
Пример запроса:
{ "count": 2, "items": [ { "timezone": 3, "additional": "", "startedAt": "2022-06-29T08:44:26.000000Z", "transferredToOperator": false, "dialogId": "9e0b5349-9cb5-44a9-b5f4-bbec60ceff01", "duration": 18, "createdAt": "2022-06-29T05:44:14.000000Z", "price": "1.79", "dialogResults": "Приветствие", "id": "99c5b0fe-fa95-40e8-8a47-f90774c336cd", "botId": "c837b555-5d79-4c9a-940d-84814a0d6fb9", "recordPath": "https://minio.twin24.ai/twin-cabinet-prod/public/records//1758/2022/06/29/99c5b0fe-fa95-40e8-8a47-f90774c336cd.mp3", "updatedAt": "2022-06-29T08:45:01.000000Z", "botName": "Скрипт_тест", "externalId": null, "responder": "Human", "isFinished": true, "nps": null, "shortNumber": null, "phone": "79999999999", "regionId": 5026, "taskName": "29.6.2022 тестирование метода создания задания на обзвон", "taskId": "71c30c27-4211-4e96-8ce7-fbb459aee6fe", "linkToLog": "/ab37a460-9cdd-491b-9e91-a888fed03194/general.log", "status": "ANSWERED", "messages": [ { "text": "Ало! Здравствуйте, меня хорошо слышно?", "author": "robot", "created_at": "2022-06-29T08:44:39Z" }, { "text": "угу", "author": "user", "created_at": "2022-06-29T08:44:46Z" }, { "text": "Отлично! Меня зовут Иван. Я менеджер по работе с клиентами компании Тест. Я не отниму много вашего времени. Вам удобно сейчас разговаривать?", "author": "robot", "created_at": "2022-06-29T08:44:46Z" } ], "messagesAsString": "Робот: Ало! Здравствуйте, меня хорошо слышно?\nЧеловек: угу\nРобот: Отлично! Меня зовут Иван. Я менеджер по работе с клиентами компании Тест. Я не отниму много вашего времени. Вам удобно сейчас разговаривать?" }, { "timezone": 3, "additional": "", "startedAt": "2022-06-29T07:15:50.000000Z", "transferredToOperator": false, "dialogId": "35541af1-ed44-447a-9312-0377462247fd", "duration": 5, "createdAt": "2022-06-29T04:10:31.000000Z", "price": "0.40", "dialogResults": "Начало диалога", "id": "819206ed-2391-4e8d-b8c3-8ec6ebf08f20", "botId": "c837b555-5d79-4c9a-940d-84814a0d6fb9", "recordPath": "https://minio.twin24.ai/twin-cabinet-prod/public/records//1758/2022/06/29/819206ed-2391-4e8d-b8c3-8ec6ebf08f20.mp3", "updatedAt": "2022-06-29T07:16:13.000000Z", "botName": "Скрипт_тест", "externalId": null, "responder": "AnsweringMachine", "isFinished": false, "nps": null, "shortNumber": null, "phone": "79999999999", "regionId": 5026, "taskName": "29.6.2022 тестирование метода создания задания на обзвон", "taskId": "71c30c27-4211-4e96-8ce7-fbb459aee6fe", "linkToLog": "/ed7168f7-0e1b-41dc-bab3-8f6047a9146b/general.log", "status": "ANSWERED", "messages": [ { "text": "Ало! Здравствуйте, меня хорошо слышно?", "author": "robot", "created_at": "2022-06-29T07:16:04Z" } ], "messagesAsString": "Робот: Ало! Здравствуйте, меня хорошо слышно?" } ] }
Описание полей ответа:
Поле | Тип | Описание |
count | int | Общее количество звонков |
items | itemsInfo[ ] | Массив информации по каждому звонку |
timezone | int | Часовой пояс номера телефона клиента |
additional | string | Дополнительная информация, переданная в информации о клиенте, на этапе загрузки |
startedAt | string | Дата и время запуска звонка |
transferredToOperator | bool | Признак, отвечающий за то, был перевод звонка на оператора КЦ или нет |
dialogId | string | Идентификатор диалога |
duration | int | Длительность диалога в секундах |
createdAt | string | Дата и время создания записи |
price | string | Стоимость диалога |
dialogResults | string | Результат диалога бота, указанный в поле «Подтверждения» в сценарии диалога |
id | string | Идентификатор звонка |
botId | string | Идентификатор работавшего бота |
recordPath | string | Ссылка на аудиозапись диалога |
updatedAt | string | Дата и время обновления информации по записи |
botName | string | Имя работавшего бота |
externalId | string | Информация, переданная в информации о клиенте, на этапе загрузки |
responder | string | Тип ответившего на звонок, при работающем модуле определения автоответчиков |
isFinished | bool | Признак, отвечающий за то, будут ли на данного клиента еще попытки дозвона, или данная попытка была последней |
nps | string | Результат диалога бота, указанный в поле «NPS» в сценарии диалога |
shortNumber | string | "Короткий" номер клиента (используется для sip-телефонии) |
phone | string | Номер телефона клиента |
regionId | int | Идентификатор региона, в котором оформлен номер телефона клиента |
taskName | string | Имя задания на обзвон |
taskId | string | Идентификатор задания на обзвон |
linkToLog | string | Ссылка на лог звонка, по которой разбирают различные ситуации наши инженеры |
status | string | Статус результата дозвона телефонии (Статусы вызовов для старой телефонии) |
messages | messagesInfo[ ] | Массив с транскрибацией диалога по ролям и с доп информацией |
text | string | Транскрибация реплики author |
author | string | Роль того, кто произнес реплику (клиент или робот) |
created_at | string | Дата начала озвучивания реплики |
messagesAsString | string | Текстовая транскрибация всего диалога, по ролям, без доп информации |