Call Record API

Call Record API — это программный интерфейс, который позволяет получать записи разговоров, если функция записи активирована в настройках приложения в Личном кабинете разработчика.

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 для отключения записи звонка

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

Выходные параметры

Пустой 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, убедитесь, что соответствующая услуга уже включена в настройках приложения в Личном кабинете разработчика.

Выходные параметры

Пустой 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