Описание структур данных
Развернуть
Поля ресурса "Запись разговора" совпадают с полями ресурса “Информация о составных частях вызова (/cdr/)”, но, в отличие от CDR, поля record_uuid и record_file_size никогда не принимают значения null.
Имя | Тип | Описание |
---|
ani_number | string | Номер из списка входящих номеров клиента |
application | string | Приложение, характеризующее тип вызова. Может иметь значение callcenter, callback, intercept или null |
call_uuid | string | Уникальный идентификатор вызова |
client_owner_id | long | Идентификатор клиента-владельца записи |
dest_domain | string | Домен назначения вызова |
dest_number | string | Номер назначения вызова |
did_domain | string | Домен внешнего номера |
did_number | string | Внешний номер |
duration | long | Длительность вызова |
ext_number_reg | string | Зарегистрированный внешний номер |
extension_group_owner_id | long | Идентификатор группы внутренних номеров, владеющей записью |
extension_id | long | Идентификатор внутреннего номера |
extension_name | string | Имя внутреннего номера |
extension_type | string | Тип внутреннего номера |
flow | string | Направление вызова. Может принимать значение in или out |
from_domain | string | Исходный домен вызывающего абонента |
from_screen_name | string | Исходное отображаемое имя вызывающего абонента |
from_username | string | Исходное имя пользователя вызывающего абонента |
hangup_cause | string | Причина окончания вызова |
hangup_disposition | string | Используется для определения инициатора разрыва соединения: callee_bye: трубку положила принимающая сторона; caller_bye: трубку положила вызывающая сторона; caller_cancel: вызывающая сторона отказалась ждать ответа; callee_refuse: принимающая сторона отказалась отвечать (была занята, отсутствовала регистрация и т.п.); internal_cancel: вызов завершен сервером (обычно по тайм-ауту вызова или если данный вызовов был принят другим внутренним номером); '' (пустой вариант): не удалось определить |
hangup_time_gmt | string | Время окончания вызова |
init_time_gmt | string | Время инициализации вызова |
record_file_size | long | Размер файла записи в байтах |
record_uuid | string | Идентификатор записи разговора |
result | string | Результат вызова |
source_domain | string | Домен источника вызова |
source_number | string | Номер источника вызова |
start_time_gmt | string | Время начала вызова |
to_domain | string | Исходный домен назначения |
to_username | string | Исходное имя пользователя назначения |
Получение списка записей разговора
Интервал получения и удаления списка указывается параметрами запроса start_datetime и end_datetime. Дата и время, содержащиеся в параметре end_datetime, не должны превышать последний день следующего за start_datetime месяца. Для получения данных за больший период следует делать несколько запросов.
При получении списка возможно указать параметр запроса order, который задает направление, в котором результирующий список будет отсортирован по полю init_time_gmt (по возрастанию или по убыванию).
Параметры запроса
Имя | Тип | Обязательный | Значение по умолчанию |
---|
start_datetime | YYYY-MM-DD HH:MM:SS | да | |
end_datetime | YYYY-MM-DD HH:MM:SS | да | |
order | asc or desc | нет | desc |
Получение статистики записей разговора
Параметры запроса
Имя | Тип | Обязательный | Значение по умолчанию |
---|
start_datetime | YYYY-MM-DD HH:MM:SS | да | |
end_datetime | YYYY-MM-DD HH:MM:SS | да | |
Поля статистики записей разговора
Имя | Тип | Описание |
---|
files_size | long | Суммарный размер файлов записей |
records_count | long | Количество файлов записей |
Получение файлов записей разговора из хранилища
Если в системе присутствует внешнее хранилища записей разговора, то для получения ссылки на запись в хранилище необходимо воспользоваться следующим методом:
GET /client/{client_id}/record/{record_uuid}/storage_url/. В ответ API вернёт URL для получения записи из хранилища. Получение записи из хранилища не требует аутентификации. Ссылка является постоянной.
Пример
Получение ссылки на запись из хранилища:
Ответ системы:
{
"record_url": "https://storage.hostname.ru/bd7zzrXD5395gn7FMgzKtB8zhZnNoYx8BdkX_HgNdeE2lnJjPMLcOR_1hQprGf-dW94wuTCNRAY6MDjMZ0zWIg=="
}
Получение файлов записей разговора из API
Для непосредственного получения файла записи разговора с сервера REST API нужно совершить GET-запрос на соответствующий нужному уровню пользователя ресурс, указав идентификатор записи:
GET /client/{client_id}/record/{record_uuid}
GET /extension_group/{ext_group_id}/record/{record_uuid}
GET /extension/{extension_id}/record/{record_uuid}
Данные файла записи будут возвращены в теле запроса, имя файла содержится в заголовке Content-Disposition.
Пример
Ответ системы:
HTTP/1.0 200 OK
Content-Length: 1008
Content-Disposition: attachment; filename=2016-04-18-13-13-47_outbound_0000000000_300.mp3
Server: nginx/1.8.1
Date: Tue, 19 Apr 2016 11:56:19 GMT
Content-Type: audio/mpeg
|
Получение файлов через базовую HTTP-аутентификацию
Существует возможность получить доступ к файлам записей разговоров, используя базовую HTTP-аутентификацию, вместо передачи OAuth2-токена. Подробнее этот способ описан на странице “Получение файлов через базовую HTTP-аутентификацию”.
Получение архива файлов записей разговора
Существует возможность получить архив с множеством файлов записей за период времени. Для этого необходимо воспользоваться специальным ресурсом API:
POST /client/{client_id}/record/archive/
передав в него временной диапазон и адрес электронной почты, на которую будет отправлена ссылка для загрузки архива. Размер файлов в архиве и диапазон дат ограничен. В течение часа невозможно запросить новый архив, не загрузив предыдущий. Коды возможных ошибок перечислены в подразделе “Возвращаемые коды и статусы”. Записи разговора по ссылке будут доступны в течение 12 часов.
Параметры JSON
Имя | Тип | Обяза-тельный | Описание |
---|
start_datetime | string (YYYY-MM-DD HH:MM:SS) | да | Начало диапазона в формате YYYY-MM-DD HH:MM:SS |
end_datetime | string (YYYY-MM-DD HH:MM:SS) | да | Конец диапазона в формате YYYY-MM-DD HH:MM:SS |
email | string | да | Адрес электронной почты для отправки ссылки на архив. Возможно перечисление нескольких адресов через запятую |
Ресурсы раздела "Клиент"
GET /client/{client_id}/record/
GET /client/{client_id}/record/
Получить список записей разговора клиента в за заданный интервал времени
Параметры URL
Параметры запроса
Имя | Тип |
---|
start_datetime | string |
end_datetime | string |
order | string |
Поля ответа
Имя | Тип |
---|
ani_number | string |
application | string |
call_uuid | string |
client_owner_id | long |
dest_domain | string |
dest_number | string |
did_domain | string |
did_number | string |
duration | long |
ext_number_reg | string |
extension_group_owner_id | long |
extension_id | long |
extension_name | string |
extension_type | string |
flow | string |
from_domain | string |
from_screen_name | string |
from_username | string |
hangup_cause | string |
hangup_disposition | string |
hangup_time_gmt | string |
init_time_gmt | string |
record_file_size | long |
record_uuid | string |
result | string |
source_domain | string |
source_number | string |
start_time_gmt | string |
to_domain | string |
to_username | string |
DELETE /client/{client_id}/record/
DELETE /client/{client_id}/record/
Удалить записи разговора клиента за заданный интервал времени
Параметры URL
Параметры запроса
Имя | Тип |
---|
start_datetime | string |
end_datetime | string |
POST /client/{client_id}/record/archive/
POST /client/{client_id}/record/archive/
Запросить архив записей разговора за период
Параметры URL
Параметры JSON
Имя | Тип | Обязательный |
---|
email | string | да |
end_datetime | string | да |
extension_id | string | нет |
start_datetime | string | да |
Поля ответа
Имя | Тип |
---|
archive_uuid | string |
email | string |
end_datetime | string |
extension_id | long |
start_datetime | string |
GET /client/{client_id}/record/stats/
GET /client/{client_id}/record/stats/
Получить статистику по записям разговора за заданный интервал времени
Параметры URL
Параметры запроса
Имя | Тип |
---|
start_datetime | string |
end_datetime | string |
Поля ответа
Имя | Тип |
---|
files_size | long |
records_count | long |
GET /client/{client_id}/record/{record_uuid}
GET /client/{client_id}/record/{record_uuid}
Получить файл записи разговора
Параметры URL
Имя | Тип |
---|
record_uuid | string |
client_id | string |
DELETE /client/{client_id}/record/{record_uuid}
DELETE /client/{client_id}/record/{record_uuid}
Удалить запись разговора
Параметры URL
Имя | Тип |
---|
record_uuid | string |
client_id | string |
Ресурсы раздела "Группа внутренних номеров”
GET /extension_group/{ext_group_id}/record/
GET /extension_group/{ext_group_id}/record/
Получить список записей разговора группы внутренних номеров за заданный интервал времени
Параметры URL
Параметры запроса
Имя | Тип |
---|
start_datetime | string |
end_datetime | string |
order | string |
Поля ответа
Имя | Тип |
---|
ani_number | string |
application | string |
call_uuid | string |
client_owner_id | long |
dest_domain | string |
dest_number | string |
did_domain | string |
did_number | string |
duration | long |
ext_number_reg | string |
extension_group_owner_id | long |
extension_id | long |
extension_name | string |
extension_type | string |
flow | string |
from_domain | string |
from_screen_name | string |
from_username | string |
hangup_cause | string |
hangup_disposition | string |
hangup_time_gmt | string |
init_time_gmt | string |
record_file_size | long |
record_uuid | string |
result | string |
source_domain | string |
source_number | string |
start_time_gmt | string |
to_domain | string |
to_username | string |
GET /extension_group/{ext_group_id}/record/stats/
GET /extension_group/{ext_group_id}/record/stats/
Получить статистику по записям разговора группы внутренних номеров за заданный интервал времени
Параметры URL
Параметры запроса
Имя | Тип |
---|
start_datetime | string |
end_datetime | string |
Поля ответа
Имя | Тип |
---|
files_size | long |
records_count | long |
GET /extension_group/{ext_group_id}/record/{record_uuid}
GET /extension_group/{ext_group_id}/record/{record_uuid}
Получить файл записи разговора
Параметры URL
Имя | Тип |
---|
record_uuid | string |
ext_group_id | string |
Ресурсы раздела "Внутренний номер”
GET /extension/{extension_id}/record/
GET /extension/{extension_id}/record/
Получить список записей разговора внутреннего номера за заданный интервал времени
Параметры URL
Параметры запроса
Имя | Тип |
---|
start_datetime | string |
order | string |
end_datetime | string |
Поля ответа
Имя | Тип |
---|
ani_number | string |
application | string |
call_uuid | string |
client_owner_id | long |
dest_domain | string |
dest_number | string |
did_domain | string |
did_number | string |
duration | long |
ext_number_reg | string |
extension_group_owner_id | long |
extension_id | long |
extension_name | string |
extension_type | string |
flow | string |
from_domain | string |
from_screen_name | string |
from_username | string |
hangup_cause | string |
hangup_disposition | string |
hangup_time_gmt | string |
init_time_gmt | string |
record_file_size | long |
record_uuid | string |
result | string |
source_domain | string |
source_number | string |
start_time_gmt | string |
to_domain | string |
to_username | string |
GET /extension/{extension_id}/record/stats/
GET /extension/{extension_id}/record/stats/
Получить статистику по записям разговора внутреннего номера за заданный интервал времени
Параметры URL
Параметры запроса
Имя | Тип |
---|
start_datetime | string |
end_datetime | string |
Поля ответа
Имя | Тип |
---|
files_size | long |
records_count | long |
GET /extension/{extension_id}/record/{record_uuid}
GET /extension/{extension_id}/record/{record_uuid}
Получить файл записи разговора внутреннего номера
Параметры URL
Имя | Тип |
---|
record_uuid | string |
extension_id | string |