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

Кол-трекинг

Интеграция виртуальной АТС с CRM

Обратный звонок

Попробовать бесплатно

Метод SetCallRecordState (номер)

Примените этот метод для включения или отключения записи звонков для купленного номера. Для включения услуги на номере выполните POST-запрос с входными параметрами к точке подключения, указанными ниже.

Точка подключения:

POST: https://api.exolve.ru/number/v1/SetCallRecordState

Авторизация

Передайте следующие Заголовки HTTP для успешной авторизации.

ИмяТипОписание
AuthorizationstringAPI-ключ приложения с Bearer перед ним. Пример: Bearer e***s0, где e***s0 замените на API-ключ вашего приложения

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

Передайте следующие параметры в теле запроса в JSON-формате. Параметры, отмеченные жирным шрифтом, являются обязательными.

ПараметрТипОписание
number_codeuint64купленный номер
call_recordbooleanTrue для включения записи звонка. False для отключения записи звонка

Примечание
Чтобы включить запись звонков для номера, убедитесь, что услуга уже подключена глобально в настройках приложения в Личном кабинете разработчика. Там вы сможете выбрать подходящий срок хранения — 1 месяц, 3 месяца, 6 месяцев или 1 год. Срок хранения единый для всех звонков, совершенных с/на номера с подключенной услугой в этом приложении.

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

Пустой JSON с 200 OK статусом.

Возможные ошибки

КодСтатусПример сообщенияОписание
500Internal Server ErrorError 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 указан несуществующий номер
400Bad Requestproto: syntax error (line 2:20): invalid value пзначение параметра number_code невалидно
400Bad Requestproto: syntax error (line 2:20): unexpected tokenпустое поле number_code
400Bad Requestproto: (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 для успешной авторизации.

ИмяТипОписание
AuthorizationstringAPI-ключ приложения с Bearer перед ним. Пример: Bearer e***s0, где e***s0 замените на API-ключ вашего приложения

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

Передайте следующие параметры в теле запроса в JSON-формате. Параметры, отмеченные жирным шрифтом, являются обязательными.

ПараметрТипОписание
sip_resource_iduint64уникальный идентификатор ресурса SIP ID
call_recordbooleanзапись разговора. True - включить запись разговоров, False - не включать запись разговоров

Примечание
Чтобы включить запись звонков для SIP ID, убедитесь, что услуга уже подключена глобально в настройках приложения в Личном кабинете разработчика. Там вы сможете выбрать подходящий срок хранения — 1 месяц, 3 месяца, 6 месяцев или 1 год. Срок хранения единый для всех звонков, совершенных с/на SIP ID с подключенной услугой в этом приложении.

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

Пустой JSON с 200 OK статусом.

Возможные ошибки

КодСтатусПример сообщенияОписание
401UnauthorizedUnauthorizedотсутствует/невалидный API-ключ
400Bad RequestError getting sip info: SIP is missing in the applicationзаданный SIP ID не принадлежит приложению
409ConflictError adding SIP: call record is disabled on the appуслуга записи звонков не подключена в настройках приложения
400Bad Requestinvalid value [value]в одном из полей невалидный формат

Примеры

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

{
    "sip_resource_id": 1111,
    "call_record": true
}

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

{}

Метод GetInfo

Примените этот метод для получения информации о записи разговора. Для этого выполните POST-запрос с входными параметрами к точке подключения, указанными ниже.

Точка подключения:

POST: https://api.exolve.ru/statistics/call-record/v1/GetInfo

Авторизация

Передайте следующие Заголовки HTTP для успешной авторизации.

ИмяТипОписание
AuthorizationstringAPI-ключ приложения с Bearer перед ним. Пример: Bearer e***s0, где e***s0 замените на API-ключ вашего приложения

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

Передайте следующие параметры в теле запроса в JSON-формате. Параметры, отмеченные жирным шрифтом, являются обязательными.

ПараметрТипОписание
uidsuint64уникальные идентификаторы вызова

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

ПараметрТипОписание
recordsCallRecordинформация о записях разговоров

CallRecord

ПараметрТипОписание
uiduint64уникальный идентификатор вызова. Одинаков во всех событиях и запросах в рамках одного вызова
customerstringуникальный идентификатор личного кабинета
record_pathstringпрямой адрес расположения аудиофайла с записью разговора
application_uuidstringуникальный идентификатор приложения, которому принадлежит запись
expires_atstringдата в формате RFC-3339 / ISO-8601, до которой будет храниться запись разговора
sizeuint64размер файла, с разговором
durationuint32длительность разговора

Возможные ошибки

КодСтатусПример сообщенияОписание
401Unauthorizederror getting JWT Token claimsнеправильно указан токен (API-ключ приложения)
400Bad Requestsyntax 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
        }
    ]
}

Нецелевые сценарии

Код ошибкиСтатус ошибкиПример сообщенияОписание
401Unauthorizedunauthorizedневалидный API-key для авторизации
400Bad Requestsyntax errorсинтаксическая ошибка в запросе

Метод Download

Примените этот метод для скачивания записи звонка. Для этого выполните GET запрос к точке подключения, указанной ниже.

Точка подключения:

GET: https://api.exolve.ru/statistics/download/{call_id}

call_id - идентификатор совершённого звонка.

Авторизация

Передайте следующие Заголовки HTTP для успешной авторизации.

ИмяТипОписание
AuthorizationstringAPI-ключ приложения с Bearer перед ним. Пример: Bearer e***s0, где e***s0 замените на API-ключ вашего приложения

Возможные ошибки

КодСтатусПример сообщенияОписание
400Bad Requestfailed to parse tokenне валидный API-ключ
400Bad RequestGetProxySettings service error: records list is emptyнет записей у указанного звонка

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

Postman request