Получение списка CDR по сессии звонка
Получение списка CDR по сессии звонка
| Метод | get.call_legs_report | 
|---|---|
| Описание | Получение списка CDR по сессии звонка | 
| Кому доступен | Партнер, Клиент | 
Параметры запроса
| Название | Тип | Обязательный | Допустимые значения | Описание | 
|---|---|---|---|---|
| access_token | string | да | Ключ сессии аутентификации | |
| user_id | number | нет | Уникальный идентификатор пользователя клиента агента от имени которого делается запрос Является обязательным для агентаДля получения списка пользователей клиента необходимо использовать метод "get.customer_users" | |
| limit | number | нет | Количество возвращаемых записей. См. раздел "Постраничный вывод" | |
| offset | number | нет | Сдвиг, определяет с какого номера записи возвращать "limit"записей. По умолчанию "0". См. раздел "Постраничный вывод" | |
| filter | object | нет | См. раздел "Критерии фильтрации" | |
| fields | array | нет | См. раздел "Представление возвращаемых данных" | |
| sort | array | нет | См. раздел "Сортировка данных" | |
| date_from | iso8601 | да | YYYY-MM-DD hh:mm:ss | Дата начала выборки | 
| date_till | iso8601 | да | YYYY-MM-DD hh:mm:ss | Дата окончания выбокри | 
Параметры ответа
| Название | Тип | Допустимые значения | Фильтрация | Сортировка | Ответ по умолчанию | Описание | 
|---|---|---|---|---|---|---|
| id | number | да | да | Уникальный идентификатор CDR | ||
| call_session_id | number | да | да | да | Уникальный идентификатор сессии звонка (см. метод get.calls_report) | |
| call_records | array | да | Уникальный идентификатор ссылки на записанный разговор. Можно прослушать вызвав запрос в браузере: http://app.comagic.ru/system/media/talk/{call_session_id}/{уникальный идентификатор ссылки на записанный разговор} | |||
| wav_call_records | array | да | Уникальный идентификатор ссылки на записанный разговор в формате wav. Можно прослушать вызвав запрос в браузере: https://app.comagic.ru/system/media/wav/{communication_id}/{уникальный индентификатор ссылки на записанный разговор в формате wav} | |||
| start_time | iso8601 | YYYY-MM-DD hh:mm:ss | да | да | Дата и время начала плеча | |
| connect_time | iso8601 | YYYY-MM-DD hh:mm:ss | да | Дата и время поднятия трубки | ||
| duration | number | да | да | да | Продолжительность плеча с начала поднятия трубки. Значение в секундах | |
| total_duration | number | да | да | да | Общая продолжительность плеча. Значение в секундах | |
| finish_reason | enum | да | да | да | Причина завершения плеча | |
| finish_reason_description | string | да | да | нет | Описание причины завершения плеча | |
| virtual_phone_number | string | да | да | да | Виртуальный номер | |
| calling_phone_number | string | да | да | да | Номер звонящего | |
| called_phone_number | string | да | да | да | Номер кому звонили | |
| direction | enum | in,out | да | да | да | Направление плеча | 
| is_transfered | boolean | true,false | да | да | да | Трансферное ли это плечо | 
| is_operator | boolean | true,false | да | да | да | Принадлежит ли это плечо оператору | 
| employee_id | number | да | да | да | Уникальный идентификатор сотрудника, кому звонили | |
| employee_full_name | string | да | да | Ф.И.О. сотрудника, кому звонили | ||
| employee_phone_number | string | да | да | Номер телефона сотрудника | ||
| employee_rating | number | да | да | да | Рейтинг проставленный сотруднику в постобработке | |
| scenario_id | number | да | да | да | Уникальный идентификатор сценария | |
| scenario_name | string | да | да | Название сценария | ||
| is_coach | boolean | true,false | да | да | да | Тренерское ли плечо | 
| release_cause_code | number | да | да | да | Номер Cause Code (см. Q850)  ( deprecatedустарел и скоро будет удален) | |
| release_cause_description | string | да | да | да | Описание cause code      ( deprecatedустарел и скоро будет удален) | |
| is_failed | boolean | true,false | да | да | да | Поднял ли оператор трубку | 
| is_talked | boolean | true,false | да | да | Состоялся ли разговор | |
| contact_id | id | Уникальный идентификатор контакта | ||||
| contact_full_name | string | Ф.И.О. контакта | ||||
| contact_phone_number | string | Номер контакта от которого поступил звонок в случае входящего звонка или номер контакта на который совершили звонок в случае исходящего звонка | ||||
| action_id | number | да | да | Уникальный идентификатор операции при попадании в которую был создан звонок | ||
| action_name | string | да | да | Название операции при попадании в которую был создан звонок | ||
| group_id | number | да | да | Уникальный идентификатор группы в рамках которой был звонок | ||
| group_name | string | да | да | Название группы в рамках которой был звонок | 
Причины завершения плеча
| Мнемоника | Описание | 
|---|---|
| subscriber_disconnects | Абонент разорвал соединение | 
| no_operation | Нет операции для обработки | 
| operator_busy | Сотрудник занят | 
| operator_not_responsible | Сотрудник не отвечает | 
| operator_disconnects | Сотрудник разорвал соединение | 
| operator_number_problems | Проблемы с телефонным номером сотрудника. Обратитесь в службу технической поддержки. | 
| scenario_not_found | Сценарий не найден | 
| timeout | Время дозвона истекло | 
| internal_error | Внутренняя ошибка. Обратитесь в службу технической поддержки. | 
| transfer_disconnects | Отключение сотрудника при трансфере | 
| scenario_disconnects | Отключение сотрудника при запуске сценария | 
| fax_session_done | Факс принят | 
| no_resources | Лимит клиента исчерпан | 
| another_operator_answer | Дозвонились до другого сотрудника | 
| subscriber_busy | Абонент занят | 
| subscriber_not_responsible | Абонент не отвечает | 
| subscriber_number_problems | Проблемы с телефонным номером абонента. Обратитесь в службу технической поддержки. | 
| operator_answer | Дозвонились до сотрудника | 
| operator_channels_busy | Закончились доступные линии на номере переадресации | 
| app_is_inactive | Клиент заблокирован | 
| component_is_inactive | Компонент не активен | 
| locked_numb | Звонки на этот номер запрещены настройками безопасности | 
| incorrect_input | Некорректный ввод | 
| call_not_allowed_on_tp | Звонок запрещен согласно тарифному плану | 
| account_not_found | Не найден лицевой счет | 
| contract_not_found | Не найден договор | 
| locked_phone | Проблемы с сетью | 
| max_in_call_reached | Достигнут лимит линий для входящих звонков | 
| max_out_call_reached | Достигнут лимит линий для исходящих звонков | 
| employee_busy | Сотрудник разговаривает в другом звонке | 
| employee_busy_after_call | Сотрудник занят после звонка | 
| phone_group_inactive_by_schedule | Группа номеров неактивна согласно расписанию | 
| employee_inactive | Сотрудник неактивен | 
| max_transition_count_exceeded | Достигнуто максимальное количество переходов по операциям сценария | 
| phone_protocol_not_allowed_by_status | Звонки с данного типа номера запрещены статусом | 
| employee_phone_not_found | Номер был изменен или удален | 
| action_interval_exceeded | Превышен интервал, указанный на операции | 
| group_inactive_by_schedule | Группа сотрудников неактивна согласно расписанию | 
| in_call_not_allowed | Прием входящих звонков запрещен | 
| call_enqueued | Вызов поставлен в очередь | 
| employee_status_available | Сотрудник в статусе "Доступен" | 
| employee_auto_status_do_not_disturb | Сотрудник в автоматическом статусе "Не беспокоить" | 
| employee_status_break | Сотрудник в статусе "Перерыв" | 
| employee_status_do_not_disturb | Сотрудник в статусе "Не беспокоить" | 
| employee_status_not_at_workplace | Сотрудник в статусе "Нет на месте" | 
| employee_status_not_at_work | Сотрудник в статусе "Нет на работе" | 
| employee_inactive_by_schedule | Сотрудник неактивен согласно расписанию | 
| group_phone_inactive | Номер в группе недоступен | 
| employee_phone_inactive | Номер сотрудника неактивен | 
| employee_phone_inactive_by_schedule | Номер сотрудника неактивен согласно расписанию | 
| fmc_is_locked | FMC-линия заблокирована | 
| sip_trunk_is_locked | SIP-транк заблокирован | 
| sip_offline | SIP-линия не зарегистрирована | 
| fmc_is_disabled | Услуга FMC отключена | 
| employee_status_auto_out_call | Сотрудник в статусе "Исходящий обзвон" | 
| limit_exceeded | Достигнут финансовый лимит | 
| no_money | Недостаточно средств | 
| out_call_not_allowed_by_status | Исходящие звонки запрещены статусом | 
| out_call_not_allowed | Исходящие звонки запрещены | 
| internal_call_not_allowed | Внутренние звонки запрещены | 
| external_call_not_allowed | Внешние звонки запрещены | 
| internal_call_not_allowed_by_status | Внутренние звонки запрещены статусом | 
| external_call_not_allowed_by_status | Внешние звонки запрещены статусом | 
| auto_out_calls_not_allowed_by_status | Исходящий обзвон запрещен статусом | 
JSON структура запроса
{
 "jsonrpc":"2.0",
 "id":"number",
 "method":"get.call_legs_report",
 "params":{
  "access_token":"string",
  "user_id":"number",
  "offset":"number",
  "limit":"number",
  "date_from":"iso8601",
  "date_till":"iso8601",
  "filter":{
  },
  "sort":[
   {
    "field":"string",
    "order":"string"
   }
  ],
  "fields":[
   "string"
  ]
 }
}
JSON структура ответа
{
 "jsonrpc":"2.0",
 "id":"number",
 "result":{
  "metadata":{
  },
  "data":[
   {
    "id":"number",
    "call_session_id":"number",
    "call_records":[
    ],
    "start_time":"iso8601",
    "connect_time":"iso8601",
    "duration":"number",
    "total_duration":"number",
    "finish_reason":"enum",
    "finish_reason_description":"string",
    "virtual_phone_number":"string",
    "calling_phone_number":"string",
    "called_phone_number":"string",
    "direction":"enum",
    "is_transfered":"boolean",
    "is_operator":"boolean",
    "employee_id":"number",
    "employee_full_name":"string",
    "employee_phone_number":"string",
    "employee_rating":"number",
    "scenario_id":"number",
    "scenario_name":"string",
    "is_coach":"boolean",
    "release_cause_code":"number",
    "release_cause_description":"string",
    "is_failed":"boolean",
    "is_talked":"boolean",
    "contact_id":"number",
    "contact_full_name":"string",
    "contact_phone_number":"string",
    "action_id": "number",
    "action_name": "string",
    "group_id": "number",
    "group_name": "string"
   }
  ]
 }
}
Список возвращаемых ошибок
Смотрим раздел "Список ошибок для методов с глаголом get"