Метод 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)
Выходные параметры Параметр Тип Описание speech_analytics Array SpeechAnalytics результат речевой аналитики звонка
SpeechAnalytics Параметр Тип Описание url string URL для отправки текстовой расшифровки звонка call_id uint64 идентификатор звонка application_uuid string идентификатор приложения, с номера которого был совершён звонок date_time string дата и время готовности речевой аналитики RFC-3339 / ISO-8601 from string номер звонящего абонента to string номер принимающего абонента start_time string дата и время начала звонка end_time string дата и время окончания звонка conversation_statistics Array ConversationStatistics общая статистика проанализированного разговора interrupts_statistics Array InterruptsStatistics статистика перебиваний в разговоре silence_statistics Array SilenceStatistics статистика молчания в разговоре speech_statistics Array SpeechStatistics статистика речи в разговоре conversation_summary Array ConversationSummary резюме разговора, автоматически сгенерированное на основе его семантического анализа classifier_statistics Array ClassifierStatistics статистика применённых тегов transcription Array Transcription текстовая расшифровка разговора
ConversationStatistics Параметр Тип Описание speaker_statistics Array SpeakerStatistics статистика разговора с разбивкой по абонентам
SpeakerStatistics Параметр Тип Описание channel_tag string канал абонента, где 0 — звонящий, 1 — принимающий вызов total_speech_duration string общая продолжительность речи абонента total_silence_duration string общая продолжительность молчания абонента speech_ratio double соотношение речи speech_speed Array SpeechSpeed скорость речи абонента
SpeechSpeed Параметр Тип Описание min double минимальная скорость речи max double максимальная скорость речи avg double средняя скорость речи std double стандартное отклонение
InterruptsStatistics Параметр Тип Описание speaker_interrupts Array SpeakerInterrupt статистика перебиваний с разбивкой по абонентам
SpeakerStatistics Параметр Тип Описание channel_tag string канал абонента, где 0 — звонящий, 1 — принимающий вызов total_interrupts_count int64 общее количество перебиваний абонентом total_interrupts_duration string общая продолжительность перебиваний абонентом
SilenceStatistics Параметр Тип Описание total_simultaneous_silence_duration google.protobuf.Duration общая продолжительность одновременного молчания абонентов total_simultaneous_silence_ratio double общая продолжительность одновременного молчания абонентов simultaneous_silence_duration_estimation Array SimultaneousSilenceDurationEstimation общая продолжительность одновременного молчания абонентов
SimultaneousSilenceDurationEstimation Параметр Тип Описание min double минимальная продолжительность молчания max double максимальная продолжительность молчания avg double средняя продолжительность молчания std double стандартное отклонение
SpeechStatistics Параметр Тип Описание total_simultaneous_speech_duration google.protobuf.Duration общая продолжительность одновременной речи абонентов total_simultaneous_speech_ratio double общая продолжительность одновременной речи абонентов simultaneous_speech_duration_estimation Array SimultaneousSpeechDurationEstimation общая продолжительность одновременной речи абонентов
SimultaneousSpeechDurationEstimation Параметр Тип Описание min double минимальная продолжительность речи max double максимальная продолжительность речи avg double средняя продолжительность речи std double стандартное отклонение
ConversationSummary Параметр Тип Описание quiz Array Quiz резюме разговора
Quiz Параметр Тип Описание request string вопрос response string ответ, автоматически сгенерированный на основе семантического анализа
Резюме диалога состоит из ответов на эти вопросы:
Оператор был вежливым? Оператор был раздражен? Оператор был вовлечен в диалог? Оператор был эмпатичным? Оператор хамил? Оператор решил проблему клиента? Оператор был уверенным? Клиент ушел раздраженным? Клиент остался доволен? Клиент хамил? Summarization Параметр Тип Описание statements Array Statements резюме диалога summary string общее резюме диалога operator_keywords string ключевые слова оператора client_keyword string ключевые слова клиента problems string проблема звонка call_results string результат звонка theme string тема звонка call_reason string итоги звонка
Statements Параметр Тип Описание name string название response string ответ, автоматически сгенерированный на основе семантического анализа
ClassifierStatistics ClassificationResult Параметр Тип Описание classifier string тег channel_tag string канала абонента, где 0 — звонящий, 1 — принимающий вызов total_count string общее количество применённых тегов
Тег — группа ключевых слов одной тематики. Сервис автоматически определяет, встречались ли те или иные ключевые фразы в разговоре, и добавляет к нему тег. Например, теги показывают, что оператор поблагодарил клиента за ожидание или что клиент обращается в службу поддержки повторно. Полный перечень тегов указан в этой статье .
Transcription Параметр Тип Описание phrases Array Phrase текстовая расшифровка разговора
Phrase Параметр Тип Описание channel_tag string канала абонента, где 0 — звонящий, 1 — принимающий вызов text string текстовая расшифровка разговора start_time string время начала фразы с применённым тегом end_time string время окончания фразы с применённым тегом classifiers Array PhraseClassifier текстовая расшифровка разговора
PhraseClassifier Параметр Тип Описание classifier string применённый тэг highlighted_text string фраза с применённым тэгом
Возможные ошибки Код Статус Пример сообщения Описание 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": "19s",
"total_silence_duration": "19s",
"speech_ratio": 0.37,
"speech_speed": {
"min": 2.65,
"max": 3.19,
"avg": 2.87,
"std": 0.28
}
},
{
"channel_tag": "1",
"total_speech_duration": "0.12s",
"total_silence_duration": "0.12s",
"speech_ratio": 0.07829268292682927,
"speech_speed": {
"min": 2.65,
"max": 3.19,
"avg": 2.87,
"std": 0.28
}
},
{
"channel_tag": "",
"total_speech_duration": "0.31s",
"total_silence_duration": "0.31s",
"speech_ratio": 0,
"speech_speed": {
"min": 1.79,
"max": 3.19,
"avg": 2.33,
"std": 0.27
}
}
]
},
"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.7s",
"total_simultaneous_silence_ratio": 0.86,
"simultaneous_silence_duration_estimation": {
"min": 0.4,
"max": 1.23,
"avg": 0.9,
"std": 0.8
}
},
"speech_statistics": {
"total_simultaneous_speech_duration": "11s",
"total_simultaneous_speech_ratio": 0,
"simultaneous_speech_duration_estimation": {
"min": 120,
"max": 5819,
"avg": 2369.8,
"std": 2250.83
}
},
"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": "1s",
"end_time": "5s",
"classifiers": [
{
"classifier": "Приветствие",
"highlighted_text": "добрый день"
}
]
},
{
"channel_tag": "0",
"text": "Алло! Вы меня слышите?",
"start_time": "7s",
"end_time": "8s",
"classifiers": [
{
"classifier": "Проблемы со связью",
"highlighted_text": "алло"
}
]
},
{
"channel_tag": "1",
"text": "Да, вас хорошо слышно.",
"start_time": "10s",
"end_time": "11s",
"classifiers": []
},
{
"channel_tag": "1",
"text": "Чем я могу вам помочь?",
"start_time": "13s",
"end_time": "13s",
"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": "0",
"total_speech_duration": "19s",
"total_silence_duration": "19s",
"speech_ratio": 0.37,
"speech_speed": {
"min": 2.65,
"max": 3.19,
"avg": 2.87,
"std": 0.28
}
},
{
"channel_tag": "0",
"total_speech_duration": "5s",
"total_silence_duration": "5s",
"speech_ratio": 0.11,
"speech_speed": {
"min": 1.67,
"max": 4.68,
"avg": 2.61,
"std": 0
}
},
{
"channel_tag": "",
"total_speech_duration": "11s",
"total_silence_duration": "11s",
"speech_ratio": 0,
"speech_speed": {
"min": 3.85,
"max": 4.68,
"avg": 4.22,
"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": "5s",
"total_simultaneous_silence_ratio": 0.81,
"simultaneous_silence_duration_estimation": {
"min": 1180,
"max": 2560,
"avg": 1680,
"std": 764.4
}
},
"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. Нет"
}
]
},
"summarization": {
"statements": [
{
"name": "summary",
"response": "Клиент и оператор не слышали друг друга из-за плохой связи"
},
{
"name": "operator_keywords",
"response": "договорились"
},
{
"name": "client_keywords",
"response": "алло", "не слышу"
},
{
"name": "problems",
"response": "плохая слышимость"
},
{
"name": "call_results",
"response": "договорились"
},
{
"name": "call_reason",
"response": "договорились"
},
{
"name": "theme ",
"response": "заказ"
}
]
},
"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": []
}
]
}
}
]
}