GetSpeechAnalyticsList
Метод GetSpeechAnalyticsList
Примените этот метод для получения результатов речевой аналитики звонков за определенный период. Для этого выполните POST-запрос с входными параметрами к точке подключения, указанными ниже:
Точка подключения:
POST: https://api.exolve.ru/statistics/call-record/v1/GetSpeechAnalyticsList
Авторизация
Передайте следующие Заголовки 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 | proto: syntax error (line 2:18): unexpected token | не задано значение в одном из полей |
400 | Bad Request | proto: (line 2:18): invalid google.protobuf.Timestamp value "" | невалидное значение в одном из обязательных параметров |
401 | Unauthorized | failed to parse token | невалидный API-ключ |
401 | Unauthorized | error while trying to get token from header | отсутствует API-ключ |
404 | Not Found | invalid uid or application uuid | неверный идентификатор звонка |
Примеры
Входные параметры:
{
"date_from": "2024-01-15T00:10:00Z",
"date_to": "2025-01-30T23:59:59Z",
"application_uuid": "80f14680-d069-4aa2-b7b6-e0699231ec17"
}
Выходные параметры:
{
"url": "https://example.com",
"call_id": "7227567342572675072",
"application_uuid": "80f14680-d069-4aa2-b7b6-e0699231ec17",
"date_time": "2024-08-09T06:53:38Z",
"from": "78633035672",
"to": "79842198158",
"start_time": "2024-08-09T06:52:16.179Z",
"end_time": "2024-08-09T06:52:38.931Z",
"conversation_statistics": {
"speaker_statistics": [
{
"channel_tag": "0",
"total_speech_duration": "0.000000014s",
"total_silence_duration": "0.000000014s",
"speech_ratio": 0.06842105263157895,
"speech_speed": {
"min": 2.8846153846153846,
"max": 2.8846153846153846,
"avg": 2.8846153846153846,
"std": 0
}
},
{
"channel_tag": "1",
"total_speech_duration": "0.000000010s",
"total_silence_duration": "0.000000010s",
"speech_ratio": 0.3407236842105263,
"speech_speed": {
"min": 1.000250062515629,
"max": 3.8461538461538463,
"avg": 2.6255689796575017,
"std": 1.4654860372059275
}
},
{
"channel_tag": "",
"total_speech_duration": "0.000000024s",
"total_silence_duration": "0.000000024s",
"speech_ratio": 0,
"speech_speed": {
"min": 1.000250062515629,
"max": 3.8461538461538463,
"avg": 2.755092182136443,
"std": 0
}
}
]
},
"interrupts_statistics": {
"speaker_interrupts": [
{
"channel_tag": "0",
"total_interrupts_count": "0",
"total_interrupts_duration": "0s"
},
{
"channel_tag": "1",
"total_interrupts_count": "0",
"total_interrupts_duration": "0s"
},
{
"channel_tag": "",
"total_interrupts_count": "0",
"total_interrupts_duration": "0s"
}
]
},
"silence_statistics": {
"total_simultaneous_silence_duration": "0.000000008s",
"total_simultaneous_silence_ratio": 0.5908552631578947,
"simultaneous_silence_duration_estimation": {
"min": 1280,
"max": 2441,
"avg": 1796.2,
"std": 520.0021153803126
}
},
"speech_statistics": {
"total_simultaneous_speech_duration": "0s",
"total_simultaneous_speech_ratio": 0,
"simultaneous_speech_duration_estimation": {
"min": 0,
"max": 0,
"avg": 0,
"std": 0
}
},
"conversation_summary": {
"quiz": [
{
"request": "1. Оператор был вежливым?",
"response": "1. Да"
},
{
"request": "2. Оператор был раздражен?",
"response": "2. Нет"
},
{
"request": "3. Оператор был вовлечен в диалог?",
"response": "3. Нет"
}
]
},
"classifier_statistics": {
"classification_results": []
},
"transcription": {
"phrases": [
{
"channel_tag": "1",
"text": "Добрый день! Меня зовут Софья, как я могу вам помочь?",
"start_time": "0.000000001s",
"end_time": "0.000000005s",
"classifiers": []
},
{
"channel_tag": "0",
"text": "Алло! Вы меня слышите?",
"start_time": "0.000000007s",
"end_time": "0.000000008s",
"classifiers": []
},
{
"channel_tag": "1",
"text": "Да, вас хорошо слышно.",
"start_time": "0.000000010s",
"end_time": "0.000000011s",
"classifiers": []
},
{
"channel_tag": "1",
"text": "Чем я могу вам помочь?",
"start_time": "0.000000013s",
"end_time": "0.000000013s",
"classifiers": []
}
]
}
},
{
"url": "https://example.com",
"call_id": "7227571958240649216",
"application_uuid": "80f14680-d069-4aa2-b7b6-e0699231ec17",
"date_time": "2024-08-09T07:11:38Z",
"from": "78633035672",
"to": "79842198158",
"start_time": "2024-08-09T07:10:36.646Z",
"end_time": "2024-08-09T07:10:50.911Z",
"conversation_statistics": {
"speaker_statistics": [
{
"channel_tag": "1",
"total_speech_duration": "0.000000005s",
"total_silence_duration": "0.000000005s",
"speech_ratio": 0.08370967741935484,
"speech_speed": {
"min": 3.8535645472061657,
"max": 3.8535645472061657,
"avg": 3.8535645472061657,
"std": 0
}
},
{
"channel_tag": "0",
"total_speech_duration": "0.000000005s",
"total_silence_duration": "0.000000005s",
"speech_ratio": 0.10338709677419355,
"speech_speed": {
"min": 4.6801872074882995,
"max": 4.6801872074882995,
"avg": 4.6801872074882995,
"std": 0
}
},
{
"channel_tag": "",
"total_speech_duration": "0.000000011s",
"total_silence_duration": "0.000000011s",
"speech_ratio": 0,
"speech_speed": {
"min": 3.8535645472061657,
"max": 4.6801872074882995,
"avg": 4.266875877347232,
"std": 0
}
}
]
},
"interrupts_statistics": {
"speaker_interrupts": [
{
"channel_tag": "0",
"total_interrupts_count": "0",
"total_interrupts_duration": "0s"
},
{
"channel_tag": "1",
"total_interrupts_count": "0",
"total_interrupts_duration": "0s"
},
{
"channel_tag": "",
"total_interrupts_count": "0",
"total_interrupts_duration": "0s"
}
]
},
"silence_statistics": {
"total_simultaneous_silence_duration": "0.000000005s",
"total_simultaneous_silence_ratio": 0.8129032258064516,
"simultaneous_silence_duration_estimation": {
"min": 1180,
"max": 2560,
"avg": 1680,
"std": 764.4605941446557
}
},
"speech_statistics": {
"total_simultaneous_speech_duration": "0s",
"total_simultaneous_speech_ratio": 0,
"simultaneous_speech_duration_estimation": {
"min": 0,
"max": 0,
"avg": 0,
"std": 0
}
},
"conversation_summary": {
"quiz": [
{
"request": "1. Оператор был вежливым?",
"response": "1. Да"
},
{
"request": "2. Оператор был раздражен?",
"response": "2. Нет"
},
{
"request": "3. Оператор был вовлечен в диалог?",
"response": "3. Нет"
},
{
"request": "4. Оператор был эмпатичным?",
"response": "4. Нет"
}
]
},
"classifier_statistics": {
"classification_results": []
},
"transcription": {
"phrases": [
{
"channel_tag": "1",
"text": "Добрый день! Меня зовут Софья, как я могу вам помочь?",
"start_time": "0.000000001s",
"end_time": "0.000000001s",
"classifiers": []
},
{
"channel_tag": "0",
"text": "Здравствуйте! Меня хорошо слышно?",
"start_time": "0.000000004s",
"end_time": "0.000000004s",
"classifiers": []
}
]
}
}
]
}