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 нет записей у указанного звонка

Пример получения аудиофайла через Postman

Postman request