Call Record API
Call Record API — это программный интерфейс, который позволяет включить услугу записи разгоровов и их хранения, а также получать записанные аудио. Предварительно услугу нужно подключить в настройках приложения Личного кабинета. Там вы сможете выбрать подходящий срок хранения — 1 месяц, 3 месяца, 6 месяцев или 1 год. Срок хранения единый для всех звонков, совершенных с/на номера и SIP ID с подключенной услугой в этом приложении.
Call Record API Exolve предлагает пользователям следующие методы для работы:
-
SetCallRecordState (номер) - включает или отключает функцию записи разговора на номере;
-
SetCallRecordState (SIP ID) - включает или отключает функцию записи разговора на SIP ID;
-
GetInfo - получает информацию о записи разговора;
-
Download - получает информацию о записи разговора.
Решения, где используется Call Record API
Метод SetCallRecordState (номер)
Примените этот метод для включения или отключения записи звонков для купленного номера. Для включения услуги на номере выполните POST-запрос с входными параметрами к точке подключения, указанными ниже.
Точка подключения:
POST: https://api.exolve.ru/number/v1/SetCallRecordState
Авторизация
Передайте следующие Заголовки HTTP для успешной авторизации.
Имя | Тип | Описание |
---|---|---|
Authorization | string | API-ключ приложения с Bearer перед ним. Пример: Bearer e***s0 , где e***s0 замените на API-ключ вашего приложения |
Входные параметры
Передайте следующие параметры в теле запроса в JSON-формате. Параметры, отмеченные жирным шрифтом, являются обязательными.
Параметр | Тип | Описание |
---|---|---|
number_code | uint64 | купленный номер |
call_record | boolean | True для включения записи звонка. False для отключения записи звонка |
Примечание
Чтобы включить запись звонков для номера, убедитесь, что услуга уже подключена глобально в настройках приложения в Личном кабинете разработчика. Там вы сможете выбрать подходящий срок хранения — 1 месяц, 3 месяца, 6 месяцев или 1 год. Срок хранения единый для всех звонков, совершенных с/на номера с подключенной услугой в этом приложении.
Выходные параметры
Пустой JSON с 200 OK статусом.
Возможные ошибки
Код | Статус | Пример сообщения | Описание |
---|---|---|---|
500 | Internal Server Error | Error setting call record: rpc error: code = Unknown desc = Error getting number: Error getting number fields: Error scanning result: no rows in result set | в поле number_code указан несуществующий номер |
400 | Bad Request | proto: syntax error (line 2:20): invalid value п | значение параметра number_code невалидно |
400 | Bad Request | proto: syntax error (line 2:20): unexpected token | пустое поле number_code |
400 | Bad Request | proto: (line 3:20): invalid value for bool type: | значение параметра сall_record невалидно / не задано` |
Примеры
Входные параметры:
{
"number_code": 79011550008,
"call_record": true
}
Выходные параметры:
{}
Метод SetCallRecordState (SIP ID)
Примените этот метод для включения или отключения записи звонков для SIP ID. Для включения услуги на номере выполните POST-запрос с входными параметрами к точке подключения, указанными ниже.
Точка подключения:
POST: https://api.exolve.ru/sip/v1/SetCallRecordState
Авторизация
Передайте следующие Заголовки HTTP для успешной авторизации.
Имя | Тип | Описание |
---|---|---|
Authorization | string | API-ключ приложения с Bearer перед ним. Пример: Bearer e***s0 , где e***s0 замените на API-ключ вашего приложения |
Входные параметры
Передайте следующие параметры в теле запроса в JSON-формате. Параметры, отмеченные жирным шрифтом, являются обязательными.
Параметр | Тип | Описание |
---|---|---|
sip_resource_id | uint64 | уникальный идентификатор ресурса SIP ID |
call_record | boolean | запись разговора. True - включить запись разговоров, False - не включать запись разговоров |
Примечание
Чтобы включить запись звонков для SIP ID, убедитесь, что услуга уже подключена глобально в настройках приложения в Личном кабинете разработчика. Там вы сможете выбрать подходящий срок хранения — 1 месяц, 3 месяца, 6 месяцев или 1 год. Срок хранения единый для всех звонков, совершенных с/на SIP ID с подключенной услугой в этом приложении.
Выходные параметры
Пустой JSON с 200 OK статусом.
Возможные ошибки
Код | Статус | Пример сообщения | Описание |
---|---|---|---|
401 | Unauthorized | Unauthorized | отсутствует/невалидный API-ключ |
400 | Bad Request | Error getting sip info: SIP is missing in the application | заданный SIP ID не принадлежит приложению |
409 | Conflict | Error adding SIP: call record is disabled on the app | услуга записи звонков не подключена в настройках приложения |
400 | Bad Request | invalid value [value] | в одном из полей невалидный формат |
Примеры
Входные параметры:
{
"sip_resource_id": 1111,
"call_record": true
}
Выходные параметры:
{}
Метод GetInfo
Примените этот метод для получения информации о записи разговора. Для этого выполните POST-запрос с входными параметрами к точке подключения, указанными ниже.
Точка подключения:
POST: https://api.exolve.ru/statistics/call-record/v1/GetInfo
Авторизация
Передайте следующие Заголовки HTTP для успешной авторизации.
Имя | Тип | Описание |
---|---|---|
Authorization | string | API-ключ приложения с Bearer перед ним. Пример: Bearer e***s0 , где e***s0 замените на API-ключ вашего приложения |
Входные параметры
Передайте следующие параметры в теле запроса в JSON-формате. Параметры, отмеченные жирным шрифтом, являются обязательными.
Параметр | Тип | Описание |
---|---|---|
uids | uint64 | уникальные идентификаторы вызова |
Выходные параметры
Параметр | Тип | Описание |
---|---|---|
records | CallRecord | информация о записях разговоров |
CallRecord
Параметр | Тип | Описание |
---|---|---|
uid | uint64 | уникальный идентификатор вызова. Одинаков во всех событиях и запросах в рамках одного вызова |
customer | string | уникальный идентификатор личного кабинета |
record_path | string | прямой адрес расположения аудиофайла с записью разговора |
application_uuid | string | уникальный идентификатор приложения, которому принадлежит запись |
expires_at | string | дата в формате RFC-3339 / ISO-8601, до которой будет храниться запись разговора |
size | uint64 | размер файла, с разговором |
duration | uint32 | длительность разговора |
Возможные ошибки
Код | Статус | Пример сообщения | Описание |
---|---|---|---|
401 | Unauthorized | error getting JWT Token claims | неправильно указан токен (API-ключ приложения) |
400 | Bad Request | syntax error | синтаксическая ошибка |
Примеры
Входные параметры:
{
"uids": [
"7032315179928911872"
]
}
Выходные параметры:
{
"records": [
{
"uid": "7032315179928911872",
"customer": "9ff5d707-2614-427b-b973-ba6877a869c9",
"record_path": "https://api.exolve.ru/statistics/download/7032315179928911872",
"application_uuid": "9ff5d707-2614-427b-b973-ba6877a869c9",
"expires_at": "2023-03-19T00:00:00Z",
"size": "44844",
"duration": 1
}
]
}
Нецелевые сценарии
Код ошибки | Статус ошибки | Пример сообщения | Описание |
---|---|---|---|
401 | Unauthorized | unauthorized | невалидный API-key для авторизации |
400 | Bad Request | syntax error | синтаксическая ошибка в запросе |
Метод Download
Примените этот метод для скачивания записи звонка. Для этого выполните GET запрос к точке подключения, указанной ниже.
Точка подключения:
GET: https://api.exolve.ru/statistics/download/{call_id}
call_id - идентификатор совершённого звонка.
Авторизация
Передайте следующие Заголовки HTTP для успешной авторизации.
Имя | Тип | Описание |
---|---|---|
Authorization | string | API-ключ приложения с Bearer перед ним. Пример: Bearer e***s0 , где e***s0 замените на API-ключ вашего приложения |
Возможные ошибки
Код | Статус | Пример сообщения | Описание |
---|---|---|---|
400 | Bad Request | failed to parse token | не валидный API-ключ |
400 | Bad Request | GetProxySettings service error: records list is empty | нет записей у указанного звонка |