Call Transcribation API

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

Call Transcribation API Exolve предлагает пользователям следующие методы для работы:

  • SetCallTranscribationState - включает или отключает функцию текстовой расшифровки разговора на номере;

  • GetTranscribation - получает текстовую расшифровку разговора.

  • GetTranscribationsList - получает список текстовых расшифровок разговоров за определённый период.

Решения, где используется Call Transcribation API

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

Метод SetCallTranscribationState

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

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

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

Авторизация

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

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

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

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

Параметр Тип Описание
number_code uint64 купленный номер
call_transcribation boolean True для включения текстовой расшифровки звонков. False для отключения текстовой расшифровки звонков

Примечание
Чтобы включить текстовую расшифровку звонков для номера, убедитесь, что услуга уже подключена глобально в настройках приложения в Личном кабинете разработчика. Также на номере должна быть подключена услуга хранения записей разговоров. Подключить её можно в Личном кабинете в карточке номера/SIP ID или с помощью методов Call Record API.

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

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

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

Код Статус Пример сообщения Описание
401 Unauthorized Unauthorized отсутствует/не валидный API-ключ
404 Bad Request Error setting call transcribation: number is missing in the application номер не принадлежит приложению
400 Bad Request invalid value [value] в одной из полей не валидный формат

Примеры

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

{
    "number_code": 79991112233,
    "call_transcribation": true
}

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

{}

Метод GetTranscribation

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

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

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

Авторизация

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

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

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

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

Параметр Тип Описание
uid uint64 идентификатор звонка

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

Параметр Тип Описание
url string URL-адрес для отправки события о готовности текстовой расшифровки звонка
uid uint64 идентификатор вызова
application_uuid string идентификатор приложения, с номера которого был совершён звонок
date_time string дата звонка в формате RFC-3339 / ISO-8601
number_a string номер звонящего абонента
number_b string номер принимающего абонента
redirect_number string номер для переадресации
duration uint32 длительность разговора
chunks Chunks текстовая расшифровка, разбитая на реплики участников звонка

Chunks

Параметр Тип Описание
channel_tag uint64 канал связи (1 — звонящий абонент, 2 — отвечающий абонент)
text string текст реплики
start_time uint64 время начала фразы в секундах
end_time uint64 время конца фразы в секундах

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

Код Статус Пример сообщения Описание
400 Bad Request invalid value [value] в поле uid невалидный формат
401 Bad Request error while trying to get token from header нет заголовка авторизации
401 Bad Request failed to parse token невалидный API-ключ
404 Bad Request not found transcribation with uid нет текстовой расшифровки по этому идентификатору звонка
404 Not Found invalid uid or application uuid неверный идентификатор звонка

Примеры

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

{
    "uid": 7143406780209569792
}

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

{
    "transcribation": [
{
    "url": "",
    "uid": "7143406780209569792",
    "application_uuid": "178ec145-6898-4b06-a92a-75f63cb57046",
    "date_time": "2023-12-21T01:09:10Z",
    "number_b": "74991112233",
    "calling_number": "79994445566",
    "number_a": "79997778899",
    "duration": 39,
    "call_start": "2023-12-13T14:26:44Z",
    "call_end": "2023-12-13T14:30:44Z",
    "chunks": {
        "channel_tag": "1",
            "text": "привет",
            "start_time": {
                "seconds":0
                },
            "end_time": {
                "seconds":0
                }
            }
        }
    ]
}

Метод GetTranscribationsList

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

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

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

Авторизация

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

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

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

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

Параметр Тип Описание
date_from string дата начала выборки звонков в формате RFC-3339 / ISO-8601
date_to string дата окончания выборки звонков в формате RFC-3339 / ISO-8601
limit uint32 лимит выводимых строк
offset uint64 номер строки, с которой начинать выборку (начинается с 0)

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

Параметр Тип Описание
url string URL-адрес для отправки события о готовности текстовой расшифровки звонка
uid uint64 идентификатор звонка
application_uuid string идентификатор приложения, с номера которого был совершён звонок
date_time string дата и время готовности транскрибации RFC-3339 / ISO-8601
number_a string номер звонящего абонента
number_b string номер принимающего абонента
redirect_number string номер для переадресации
duration uint32 длительность разговора
chunks Chunks текстовая расшифровка разбитая на фразы участников звонка

Chunks

Параметр Тип Описание
channel_tag uint64 канал связи (1 — звонящий абонент, 2 — отвечающий абонент)
text string текст
start_time uInt64 Время начала фразы в секундах
end_time uInt64 Время конца фразы в секундах

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

Код Статус Пример сообщения Описание
400 Bad Request invalid value [value] в поле uid невалидный формат
401 Bad Request error while trying to get token from header нет заголовка авторизации
401 Bad Request failed to parse token невалидный API-ключ
404 Bad Request not found transcribation with uid нет текстовой расшифровки по этому идентификатору звонка
404 Not Found invalid uid or application uuid неверный идентификатор звонка

Примеры

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

{
    "date_from": "2022-11-20T00:50:00Z",
    "date_to": "2024-11-22T23:50:00Z",
    "limit": 10,
    "offset": 0
}

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

{
    "transcribation": [
        {
            "url": "",
            "uid": 7122485413423484900,
            "application_uuid": "b7da867d-8c2c-4832-a924-48fbc1e7000",
            "date_time": "2023-12-13T14:25:44Z",
            "number_b": "79151234567",
            "number_a": "79151234578",
            "redirect_number": "79151234570",
            "duration": 1,
            "call_start": "2023-12-13T14:26:44Z",
            "call_end": "2023-12-13T14:30:44Z",
            "chunks": {
                "channel_tag": "1",
                "text": "привет",
                "start_time": {
                    "seconds":0
                    },
                "end_time": {
                    "seconds":0
                    }
            }
        }
    ]
}