Записи разговоров (/record/)

Мы обновили документацию, актуальная версия страницы доступна по ссылке: Записи разговоров (/record/)

Ресурс записи разговоров позволяет получить список доступных записей разговора клиента или добавочного за определенный период, получить непосредственно файлы записи, а также удалить записи в диапазоне или поштучно.

Получение списка записей разговора

Интервал получения и удаления списка указывается параметрами запроса 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

Поля записей разговора

Поля ресурса "Запись разговора" совпадают с полями ресурса CDR, но в отличие от CDR, поля record_uuid и record_file_size никогда не принимают значения null.

Имя

Тип

Описание

client_owner_id

integer

Идентификатор клиента-владельца записи

dealer_owner_id

integer

Идентификатор дилера-владельца записи

dest_domain

string

Домен назначения вызова

dest_number

string

Номер назначения вызова

did_domain

string

Домен внешнего номера

did_number

string

Внешний номер

duration

integer

Длительность вызова

ext_number_reg

string

Зарегистрированный внешний номер

extension_group_owner_id

integer

Идентификатор группы добавочных, владеющей записью

extension_id

integer

Идентификатор добавочного

extension_name

string

Имя добавочного

extension_type

string

Тип добавочного

flow

string

Направление вызова. Может принимать значение "in" или "out"

from_domain

string

Исходный домен звонящего

from_screen_name

string

Исходное отображаемое имя звонящего

from_username

string

Исходное имя пользователя звонящего

hangup_cause

string

Причина окончания вызова

hangup_time_gmt

string

Время окончания вызова

init_time_gmt

string

Время инициализации вызова

record_file_size

integer

Размер файла записи в байтах

record_uuid

string

Идентификатор записи разговора

result

string

Результат вызова

source_domain

string

Домен источника вызова

source_number

string

Номер источника вызова

start_time_gmt

string

Время начала вызова

to_domain

string

Исходный домен назначения

to_username

string

Исходный имя пользователя назначения

call_uuid

stringУникальный идентификатор вызова

Получение статистики записей разговора

Параметры запроса

Имя

Тип

ОбязательныйЗначение по умолчанию

start_datetime

YYYY-MM-DD HH:MM:SS

да

end_datetime

YYYY-MM-DD HH:MM:SS

да

Поля статистики записей разговора

Имя

Тип

Описание

files_size

integer

Суммарный размер файлов записей

records_count

integer

Количество файлов записей

Получение файлов записей разговора из хранилища

Если в системе присутствует внешнее хранилища записей разговора, то для получения ссылки на запись в хранилище необходимо воспользоваться следующим методом:

GET /client/{client_id}/record/{record_uuid}/storage_url/

В ответ API вернёт URL для получения записи из хранилища. Получение записи из хранилища не требует аутентификации. Ссылка является постоянной.

Получение файлов записей с помощью ссылки на хранилище является наиболее предпочтительным и надёжным.

Пример получение ссылки на запись из хранилища:

Запрос:

GET https://hostname/api/ver1.0/client/@me/record/30-624835FEEE0E11E6A19D331E4D6A0606/storage_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.

Пример

Запрос:

GET /api/ver1.0/client/12/record/30-7FD1F974054E11E68FD30968F8BBCB45 HTTP/1.1
User-Agent: Wget/1.15 (linux-gnu)
Accept: */*
Host: host.domain
Connection: Keep-Alive
Authorization: Bearer token

Ответ: 

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, передав в него временной диапазон и адрес электронной почты, на которую будет отправлена ссылка для загрузки архива. Размер файлов в архиве и диапазон дат ограничен. В течении часа невозможно запросить новый архив, не загрузив предыдущий. Коды возможных ошибок перечислены на странице Возвращаемые коды и статусы. Записи разговора по ссылке будут доступны в течении 12 часов.

POST /client/{client_id}/record/archive/

Параметры JSON

Имя

Тип

Обязательный

Описание

start_datetime

string (YYYY-MM-DD HH:MM:SS)

да

Начало диапазона в формате YYYY-MM-DD HH:MM:SS
end_datetimestring (YYYY-MM-DD HH:MM:SS)даКонец диапазона в формате YYYY-MM-DD HH:MM:SS

email

string

да

Адрес электронной почты для отправки ссылки на архив. Возможно перечисление нескольких адресов через запятую


Ресурсы раздела "Клиент"

GET /client/{client_id}/record/

Получить список записей разговора клиента в интервале

Параметры URL

Имя

Тип

client_id

string

Параметры запроса

Имя

Тип

start_datetime

string

end_datetime

string

order

string

Поля ответа

Имя

Тип

client_owner_id

integer

dealer_owner_id

integer

dest_domain

string

dest_number

string

did_domain

string

did_number

string

duration

integer

ext_number_reg

string

extension_group_owner_id

integer

extension_id

integer

extension_name

string

extension_type

string

flow

string

from_domain

string

from_screen_name

string

from_username

string

hangup_cause

string

hangup_time_gmt

string

init_time_gmt

string

record_file_size

integer

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/

Удалить записи разговора клиента в интервале

Параметры URL

Имя

Тип

client_id

string

Параметры запроса

Имя

Тип

start_datetime

string

end_datetime

string


POST /client/{client_id}/record/archive/

Запросить архив записей разговора за период

Параметры URL

Имя

Тип

client_id

string

Параметры JSON

Имя

Тип

Обязательный

start_datetime

string

да

email

string

да

end_datetime

string

да

Поля ответа

Имя

Тип

start_datetime

string

archive_uuid

string

email

string

end_datetime

string


GET /client/{client_id}/record/stats/

Получить статистику по записям разговора в интервале

Параметры URL

Имя

Тип

client_id

string

Параметры запроса

Имя

Тип

start_datetime

string

end_datetime

string

Поля ответа

Имя

Тип

files_size

integer

records_count

integer


GET /client/{client_id}/record/{record_uuid}

Получить файл записи разговора

Параметры URL

Имя

Тип

record_uuid

string

client_id

string

DELETE /client/{client_id}/record/{record_uuid}

Удалить запись разговора

Параметры URL

Имя

Тип

record_uuid

string

client_id

string

 

Ресурсы раздела "Группа добавочных"

GET /extension_group/{ext_group_id}/record/

Получить список записей разговора группы добавочных в интервале

Параметры URL

Имя

Тип

ext_group_id

string

Параметры запроса

Имя

Тип

start_datetime

string

end_datetime

string

order

string

Поля ответа

Имя

Тип

to_username

string

source_number

string

result

string

duration

integer

hangup_time_gmt

string

dealer_owner_id

integer

to_domain

string

record_file_size

integer

from_username

string

start_time_gmt

string

ext_number_reg

string

hangup_cause

string

extension_group_owner_id

integer

init_time_gmt

string

dest_domain

string

record_uuid

string

from_domain

string

source_domain

string

extension_type

string

did_domain

string

from_screen_name

string

extension_name

string

flow

string

dest_number

string

extension_id

integer

did_number

string

client_owner_id

integer


GET /extension_group/{ext_group_id}/record/stats/

Получить статистику по записям разговора в интервале

Параметры URL

Имя

Тип

ext_group_id

string

Параметры запроса

Имя

Тип

start_datetime

string

end_datetime

string

Поля ответа

Имя

Тип

files_size

integer

records_count

integer


GET /extension_group/{ext_group_id}/record/{record_uuid}

Получить файл записи разговора

Параметры URL

Имя

Тип

record_uuid

string

ext_group_id

string

Ресурсы раздела "Добавочный"

GET /extension/{extension_id}/record/

Получить список записей разговора добавочного в интервале

Параметры URL

Имя

Тип

extension_id

string

Параметры запроса

Имя

Тип

start_datetime

string

order

string

end_datetime

string

Поля ответа

Имя

Тип

to_username

string

source_number

string

result

string

duration

integer

hangup_time_gmt

string

dealer_owner_id

integer

to_domain

string

record_file_size

integer

from_username

string

start_time_gmt

string

ext_number_reg

string

hangup_cause

string

extension_group_owner_id

integer

init_time_gmt

string

dest_domain

string

record_uuid

string

from_domain

string

source_domain

string

extension_type

string

did_domain

string

from_screen_name

string

extension_name

string

flow

string

dest_number

string

extension_id

integer

did_number

string

client_owner_id

integer

DELETE /extension/{extension_id}/record/

Удалить записи разговора добавочного в интервале

Параметры URL

Имя

Тип

extension_id

string

Параметры запроса

Имя

Тип

start_datetime

string

end_datetime

string


GET /extension/{extension_id}/record/stats/

Получить статистику по записям разговора добавочного в интервале

Параметры URL

Имя

Тип

extension_id

string

Параметры запроса

Имя

Тип

start_datetime

string

end_datetime

string

Поля ответа

Имя

Тип

files_size

integer

records_count

integer


GET /extension/{extension_id}/record/{record_uuid}

Получить файл записи разговора

Параметры URL

Имя

Тип

record_uuid

string

extension_id

string


Похожие разделы