API Речевой аналитики¶
На данный момент доступна расшифровка звонков только на русском языке.
Загрузить звонок в Речевую аналитику¶
POST https://cloud.roistat.com/api/v1/project/speech/call/add Данный метод используется для загрузки звонка в инструмент Речевая аналитика.
Можно загружать аудиофайл в формате MP3, WAV или OGG. Файл должен быть доступен по ссылке.
Параметры marker и visit_id являются взаимоисключающими, т.е. необходимо указывать значение для marker, а visit_id оставлять null или наоборот.
Обратите внимание: файл, ссылку на который вы указываете в запросе, сохраняется на сервере Roistat для дальнейшей расшифровки. При необходимости вы можете удалить файл со своего сервера/файлообменника сразу после получения "status": "success" в ответ на запрос – это не повлияет на расшифровку звонка.
curl 'https://cloud.roistat.com/api/v1/project/speech/call/add?project=12345' \
--request POST \
--header 'Content-type: application/json' \
--header 'Api-key: {KEY}' \
--data '{"date": "2019-10-09T12:00:00+0300","callee": "7912345678","caller": "7987654321","file_url": "http://test-domain.com/records/call.mp3"}'
Тело запроса:
{
"date": "2019-10-09T12:00:00+0300",
"callee": "7912345678",
"caller": "7987654321",
"is_swapped": 1,
"is_outcoming": 1,
"file_url": "http://test-domain.com/records/call.mp3",
"operator": "Василий Петрович",
"comment": "Это тестовый звонок в речевой аналитике",
"fields": [
{
"title": "Testovoe Pole 11",
"name": "test_field_1",
"value": "Звонки в отдел продаж"
},
{
"title": "Testovoe Pole 12",
"name": "test_field_2",
"value": "Звонки в отдел маркетиинга"
},
{
"title": "Testovoe Pole 13",
"name": "test_field_3",
"value": "Звонки в техподдержку"
}
]
}
Строка запроса:
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| project | string | Номер проекта | да |
Тело запроса:
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| date | string | Дата и время создания записи о звонке (в формате UTC+0) | да |
| callee | string | Набранный номер | да |
| caller | string | Номер звонящего | да |
| file_url | string | Ссылка на запись звонка в формате MP3 | да |
| operator | string | Оператор звонка | нет |
| comment | string | Текст комментария | нет |
| is_swapped | integer | Если речь оператора находится в правой дорожке аудиофайла, установите 0, если в левой – 1 | нет |
| is_outcoming | integer | Тип звонка: 0 – входящий звонок (передается по умолчанию), 1 – исходящий звонок | нет |
| order_id | string | ID сделки в CRM. По нему в Речевой аналитике будут заполнены статус, менеджер и сумма сделки | нет |
| visit_id | integer | ID визита. По нему в Речевой аналитике будет заполнен источник звонка | нет |
| marker | integer | Маркер рекламного канала | нет |
| fields | array[object] | Собственные параметры звонка, по которым затем можно будет фильтровать данные в истории звонков | нет |
| > title | string | Название параметра в истории звонков | нет |
| > name | string | Системное название параметра | нет |
| > value | string | Значение параметра | нет |
| Параметр | Тип | Описание |
|---|---|---|
| status | string | Статус запроса |
Получить данные словарям Речевой аналитики¶
POST https://cloud.roistat.com/api/v1/project/speech/dictionary/list Данный метод позволяет получить данные по всем словарям Речевой аналитики (пользовательским и системным).
{
"data": [
{
"id": "system_1",
"name": "Слова-паразиты",
"color": "#FFF1A6",
"is_system": 1,
"is_problem": 0,
"is_for_operator": 1,
"is_for_client": 0
},
{
"id": "system_2",
"name": "Фразы-извинения",
"color": "#FFD8A8",
"is_system": 1,
"is_problem": 0,
"is_for_operator": 1,
"is_for_client": 0
},
{
"id": "system_3",
"name": "Уменьшительно-ласкательные",
"color": "#FFF1A6",
"is_system": 1,
"is_problem": 0,
"is_for_operator": 1,
"is_for_client": 0
},
{
"id": "system_4",
"name": "Неуверенность оператора",
"color": "#FFF1A6",
"is_system": 1,
"is_problem": 0,
"is_for_operator": 1,
"is_for_client": 0
},
{
"id": "1",
"name": "Оператор решил вопрос клиента",
"color": "rgb(203, 243, 184)",
"is_system": 0,
"is_problem": 0,
"is_for_operator": 0,
"is_for_client": 1
}
],
"total": 5,
"status": "success"
}
Строка запроса:
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| project | string | Номер проекта | да |
Тело запроса:
Без параметров.
| Параметр | Тип | Описание |
|---|---|---|
| id | string | ID словаря |
| name | string | Названия словаря |
| color | string | Цвет словаря |
| is_system | integer | 0 – пользовательский словарь, 1 – системный словарь |
| is_problem | integer | 0 – непроблемный словарь, 1 – проблемный словарь |
| is_for_operator | integer | 0 – словарь не применяется для речи операторов, 1 – словарь применяется для речи операторов |
| is_for_client | integer | 0 – словарь не применяется для речи клиентов, 1 – словарь применяется для речи клиентов |
Получить список фраз пользовательского словаря¶
POST https://cloud.roistat.com/api/v1/project/speech/dictionary/custom/phrase/list Данный метод позволяет получить список фраз пользовательского словаря. В запросе необходимо передать ID нужного словаря, который можно получить из метода /project/speech/dictionary/list.
curl 'https://cloud.roistat.com/api/v1/project/speech/dictionary/custom/phrase/list?project=12345' \
--request POST \
--header 'Content-type: application/json' \
--header 'Api-key: {KEY}' \
--data '{"id": "3"}'
Тело запроса:
Строка запроса:
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| project | string | Номер проекта | да |
Тело запроса:
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| ID | integer | ID словаря | да |
| Параметр | Тип | Описание |
|---|---|---|
| dictionary_id | integer | ID словаря |
| phrases | string | Фразы словаря |
Создать пользовательский словарь¶
POST https://cloud.roistat.com/api/v1/project/speech/dictionary/custom/create Данный метод позволяет создать пользовательский словарь.
curl 'https://cloud.roistat.com/api/v1/project/speech/dictionary/custom/create?project=12345' \
--request POST \
--header 'Content-type: application/json' \
--header 'Api-key: {KEY}' \
--data '{"name": "Тестовый словарь","id": 5,"phrases": ["Фраза1","Фраза2"],"is_for_client": true,"is_for_operator": true,"is_problem": true,"color": "#F17474"}'
Тело запроса:
{
"data": [
{
"id": "system_1",
"name": "Слова-паразиты",
"color": "#FFF1A6",
"is_system": 1,
"is_problem": 0,
"is_for_operator": 1,
"is_for_client": 0
},
{
"id": "system_2",
"name": "Фразы-извинения",
"color": "#FFD8A8",
"is_system": 1,
"is_problem": 0,
"is_for_operator": 1,
"is_for_client": 0
},
{
"id": "system_3",
"name": "Уменьшительно-ласкательные",
"color": "#FFF1A6",
"is_system": 1,
"is_problem": 0,
"is_for_operator": 1,
"is_for_client": 0
},
{
"id": "system_4",
"name": "Неуверенность оператора",
"color": "#FFF1A6",
"is_system": 1,
"is_problem": 0,
"is_for_operator": 1,
"is_for_client": 0
},
{
"id": "1",
"name": "Оператор решил вопрос клиента",
"color": "rgb(203, 243, 184)",
"is_system": 0,
"is_problem": 0,
"is_for_operator": 0,
"is_for_client": 1
},
{
"id": "2",
"name": "Тестовый словарь",
"color": "#F17474",
"is_system": 0,
"is_problem": 1,
"is_for_operator": 1,
"is_for_client": 1
}
],
"total": 6,
"status": "success"
}
Строка запроса:
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| project | string | Номер проекта | да |
Тело запроса:
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| name | string | Название словаря | да |
| is_problem | boolean | false – непроблемный словарь, true – проблемный словарь | да |
| is_for_operator | boolean | false – словарь не применяется для речи операторов, true – словарь применяется для речи операторов | да |
| is_for_client | boolean | false – словарь не применяется для речи клиентов, true – словарь применяется для речи клиентов | да |
| color | string | Цвет словаря | да |
| phrases | string | Фразы словаря (каждое новое слово нужно указывать в отдельной строке) | да |
| Параметр | Тип | Описание |
|---|---|---|
| ID | string | ID словаря |
| name | string | Название словаря |
| color | string | Цвет словаря |
| is_system | integer | 0 – пользовательский словарь, 1 – системный словарь |
| is_problem | integer | 0 – непроблемный словарь, 1 – проблемный словарь |
| is_for_operator | integer | 0 – словарь не применяется для речи операторов, 1 – словарь применяется для речи операторов |
| is_for_client | integer | 0 – словарь не применяется для речи клиентов, 1 – словарь применяется для речи клиентов |
Обновить данные по словарю¶
POST https://cloud.roistat.com/api/v1/project/speech/dictionary/custom/update Данный метод позволяет обновить данные по словарю. Изменить можно любой параметр, кроме ID словаря. Чтобы получить ID словаря, используйте метод project/speech/dictionary/list.
curl 'https://cloud.roistat.com/api/v1/project/speech/dictionary/custom/update?project=12345' \
--request POST \
--header 'Content-type: application/json' \
--header 'Api-key: {KEY}' \
--data '{"id": 5,"is_for_client": false}'
Тело запроса:
Строка запроса:
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| project | string | Номер проекта | да |
Тело запроса:
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| ID | integer | ID словаря | да |
| name | string | Название словаря | нет |
| is_problem | boolean | false – непроблемный словарь, true – проблемный словарь | нет |
| is_for_operator | boolean | false – словарь не применяется для речи операторов, true – словарь применяется для речи операторов | нет |
| is_for_client | boolean | false – словарь не применяется для речи клиентов, true – словарь применяется для речи клиентов | нет |
| color | string | Цвет словаря | нет |
| phrases | string | Фразы словаря | нет |
| Параметр | Тип | Описание |
|---|---|---|
| status | string | Статус запроса |
Удалить пользовательский словарь¶
POST https://cloud.roistat.com/api/v1/project/speech/dictionary/custom/delete Данный метод удаляет пользовательский словарь. ID словаря можно получить с помощью метода project/speech/dictionary/list.
curl 'https://cloud.roistat.com/api/v1/project/speech/dictionary/custom/delete?project=12345' \
--request POST \
--header 'Content-type: application/json' \
--header 'Api-key: {KEY}' \
--data '{"id": "1"}'
Тело запроса:
Строка запроса:
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| project | string | Номер проекта | да |
Тело запроса:
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| ID | integer | ID словаря | да |
| Параметр | Тип | Описание |
|---|---|---|
| status | string | Статус запроса |
Получить список звонков из Речевой аналитики за определенный период¶
POST https://cloud.roistat.com/api/v1/project/speech/call/list Данный метод позволяет получить список звонков из Речевой аналитики за определенный период.
curl 'https://cloud.roistat.com/api/v1/project/speech/call/list?project=12345' \
--request POST \
--header 'Content-type: application/json' \
--header 'Api-key: {KEY}' \
--data '{"period": {"from": "2021-01-14T21:00:00.000Z","to": "2022-01-14T20:59:59.999Z"}}'
Тело запроса:
{
"data": [
{
"id": "3823",
"date": "2021-10-31T00:49:37+0000",
"callee": "+71112753136",
"caller": "+70004002123",
"duration": 28,
"answer_duration": 18,
"waiting_time": 10,
"link": null,
"speech_statistics": {
"silence_percent": 0,
"silence_max_duration": 0,
"pause_client_percent": 0,
"pause_operator_percent": 0,
"pause_client_count_per_minute": 0,
"pause_operator_count_per_minute": 0,
"interrupt_client_count": 0,
"interrupt_operator_count": 0,
"interrupt_total_count": 0,
"interrupt_client_count_per_minute": 0,
"interrupt_operator_count_per_minute": 0,
"interrupt_total_count_per_minute": 0,
"interrupt_client_percent": 0,
"interrupt_operator_percent": 0,
"interrupt_total_percent": 0,
"speech_client_max_duration": 0.59999999999999998,
"speech_operator_max_duration": 0.59999999999999998,
"speech_client_percent": 27.850000000000001,
"speech_operator_percent": 36.43,
"speech_operator_to_client_ratio": "57/43",
"speech_client_speed": 453.89999999999998,
"speech_operator_speed": 670.51999999999998
},
"matched_dictionaries": {
"client_dictionary_ids": [
"1",
"system_7"
],
"operator_dictionary_ids": [
"system_1",
"system_19",
"system_20",
"system_6"
]
},
"transcriptions": [
{
"id": 92524,
"is_client": 1,
"text": "Здравствуйте.",
"time": 10000,
"dictionary_matches": [],
"last_text_edit_date": null
},
{
"id": 92525,
"is_client": 0,
"text": "Здравствуйте, компания стройка.",
"time": 10600,
"dictionary_matches": [],
"last_text_edit_date": null
},
{
"id": 92526,
"is_client": 1,
"text": "Я уже звонил, вы не взяли трубку и не перезвонили.",
"time": 11200,
"dictionary_matches": [
{
"id": "system_7",
"name": "Повторные обращения",
"word": "уже звонил"
}
],
"last_text_edit_date": null
},
{
"id": 92527,
"is_client": 0,
"text": "Да, действительно, не перезвонили, простите. Что вы хотели?",
"time": 11800,
"dictionary_matches": [
{
"id": "system_19",
"name": "Невыполненные обещания",
"word": "Не перезвонили"
}
],
"last_text_edit_date": null
},
{
"id": 92528,
"is_client": 1,
"text": "Хочу купить двадцать листов волнового шифера.",
"time": 12400,
"dictionary_matches": [],
"last_text_edit_date": null
},
{
"id": 92535,
"is_client": 0,
"text": "Доставка будет стоить четыреста девяносто девять рублей, вас устраивает?",
"time": 16599,
"dictionary_matches": [],
"last_text_edit_date": null
},
{
"id": 92539,
"is_client": 1,
"text": "У вас на сайте указана цена восемь тысяч.",
"time": 19000,
"dictionary_matches": [],
"last_text_edit_date": null
},
{
"id": 92540,
"is_client": 0,
"text": "Наверное произошла техническая ошибка. Сейчас проверю.",
"time": 19600,
"dictionary_matches": [
{
"id": "system_20",
"name": "Баги системы",
"word": "Техническая ошибка"
}
],
"last_text_edit_date": null
},
{
"id": 92541,
"is_client": 0,
"text": "Да, это ошибка в системе.",
"time": 20200,
"dictionary_matches": [
{
"id": "system_20",
"name": "Баги системы",
"word": "Ошибка в системе"
}
],
"last_text_edit_date": null
},
{
"id": 92542,
"is_client": 0,
"text": "Собственно говоря у нас не обновились цены.",
"time": 20800,
"dictionary_matches": [
{
"id": "system_1",
"name": "Слова-паразиты",
"word": "собственно говоря"
}
],
"last_text_edit_date": null
},
{
"id": 92543,
"is_client": 1,
"text": "А мне что нужно с этим делать?",
"time": 21400,
"dictionary_matches": [],
"last_text_edit_date": null
},
{
"id": 92544,
"is_client": 0,
"text": "К сожалению, я ничем не смогу помочь, актуальная цена десять тысяч двести восемьдесят рублей. Будете брать?",
"time": 22000,
"dictionary_matches": [
{
"id": "system_6",
"name": "Мы не можем помочь",
"word": "ничем не смогу помочь"
}
],
"last_text_edit_date": null
},
{
"id": 92545,
"is_client": 1,
"text": "Да, давайте.",
"time": 22600,
"dictionary_matches": [],
"last_text_edit_date": null
},
{
"id": 92546,
"is_client": 0,
"text": "Хорошо, заказ оформлен.",
"time": 23199,
"dictionary_matches": [],
"last_text_edit_date": null
},
{
"id": 92550,
"is_client": 1,
"text": "Хорошо, спасибо.",
"time": 25600,
"dictionary_matches": [
{
"id": "1",
"name": "Оператор решил вопрос клиента",
"word": "Спасибо"
}
],
"last_text_edit_date": null
}
],
"search_phrase_start_time": 10000,
"is_paid": "1",
"is_analyzed": "1",
"operator": "Васильева Анна",
"comment": null,
"order": {
"id": "order_15567",
"url": "https://example.com/order/order_15567",
"source_type": "proxyform_goods",
"creation_date": "2021-10-23T05:49:19+0000",
"update_date": null,
"revenue": 8191.8000000000002,
"profit": 8191.8000000000002,
"cost": 0,
"client_id": "112",
"roistat": "15567",
"visit_id": "15567",
"custom_fields": {
"status_name": "В работе",
"roistat": 15567,
"manager": "Иванов Георгий"
},
"status": {
"id": "1",
"type": "progress",
"name": "В работе"
},
"page": "cozy.kitchen.ru/catalog/accessories"
},
"visit": {
"id": "26352",
"first_id": "26352",
"date": "2021-10-31T00:34:42+0000",
"referrer": "vk.com/okna",
"landing_page": "cozy.kitchen.ru/catalog/techniques",
"host": "cozy.home.ru",
"agent": "Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5376e Safari/8536.25",
"ip": "217.114.20.188",
"google_client_id": null,
"metrika_client_id": null,
"source": {
"referrer": "http://vk.com/okna",
"system_name": "direct1_search_1_12452289_86991375_39296808",
"display_name": "Яндекс.Директ_Поиск_Поиск | Общие запросы_Товары для дома_Купить товары для дома_товары для дома москва",
"display_name_by_level": [
"Яндекс.Директ",
"Поиск",
"Поиск | Общие запросы",
"Товары для дома",
"Купить товары для дома",
"товары для дома москва"
],
"icon_url": "https://favicon.yandex.net/favicon/direct.yandex.ru",
"utm_source": null,
"utm_medium": null,
"utm_campaign": null,
"utm_term": null,
"utm_content": null,
"openstat": null
},
"geo": null
},
"static_source": null,
"script_name": "Демо сценарий #3",
"is_outcoming": null,
"status": {
"id": null,
"name": "Расшифрован",
"type": "transcribed"
},
"fields_data": null,
"calls_count": 3,
"calls_count_by_callee": 1,
"source_feature": "Звонок из Коллтрекинга"
}
],
"total": 1,
"total_unpaid_calls": 0,
"total_unpaid_calls_duration": 0,
"status": "success"
}
Строка запроса:
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| project | string | Номер проекта | да |
Тело запроса:
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| period | object | Временной период | да |
| > from | string | Начальная дата вида 2016-07-01T00:00:00+0300 | да |
| > to | string | Конечная дата вида 2016-07-31T00:00:00+0300 | да |
| filters | object | нет | |
| sort | string | нет | |
| limit | integer | нет | |
| offset | integer | нет |
| Параметр | Тип | Описание |
|---|---|---|
| ID | integer | ID звонка |
| date | string | Дата и время создания записи о звонке (в формате UTC+0) |
| callee | string | Набранный номер |
| caller | string | Номер клиента |
| duration | integer | Длительность звонка (в секундах) |
| answer_duration | integer | Длительность ответа (в секундах) |
| waiting_time | integer | Длительность ожидания (в секундах) |
| link | string | Ссылка на звонок |
| speech_statistics | object | Метрики речевой аналитики |
| > silence_percent | integer | Одновременное молчание от общей длительности разговора, % |
| > silence_max_duration | integer | Максимальное время одновременного молчания в формате мин:сек |
| > pause_client_percent | integer | Залипания клиента, % |
| > pause_operator_percent | integer | Залипания оператора, % |
| > pause_client_count_per_minute | integer | Залипания клиента, шт/мин |
| > pause_operator_count_per_minute | integer | Залипания оператора, шт/мин |
| > interrupt_client_count | integer | Количество перебиваний клиентом |
| > interrupt_operator_count | integer | Кол-во перебиваний оператором |
| > interrupt_total_count | integer | Общее кол-во перебиваний |
| > interrupt_client_count_per_minute | integer | Количество перебиваний клиентом в минуту |
| > interrupt_operator_count_per_minute | integer | Количество перебиваний оператором в минуту |
| > interrupt_total_count_per_minute | integer | Общее количество перебиваний в минуту |
| > interrupt_client_percent | integer | Перебивания клиентом, % |
| > interrupt_operator_percent | integer | Перебивания оператором, % |
| > interrupt_total_percent | integer | Перебивания, % |
| > speech_client_max_duration | integer | Максимальный участок речи клиента в формате мин:сек |
| > speech_operator_max_duration | integer | Максимальный участок речи оператора в формате мин:сек |
| > speech_client_percent | integer | Речь клиента, % |
| > speech_operator_percent | integer | Речь оператора, % |
| > speech_operator_to_client_ratio | string | Соотношение речи оператора / клиента, % |
| > speech_client_speed | integer | Скорость речи клиента (слов/мин) |
| > speech_operator_speed | integer | Скорость речи оператора (слов/мин) |
| matched_dictionaries | null или object | Информация о сматченных словарях |
| > client_dictionary_ids | string | Сматченные словари по речам клиентов |
| > operator_dictionary_ids | string | Сматченные словари по речам операторов |
| transcriptions | array[object] | Расшифровка звонка |
| > id | integer | ID фразы |
| > is_client | integer | 1 – фраза клиента, 0 – фраза оператора |
| > text | string | Расшифровка фразы |
| > time | integer | Время звонка, на котором началась речь оператора/клиента (сек*1000) |
| > dictionary_matches | array[object] | Найденные фразы из словарей |
| >> id | string | ID словаря |
| >> name | string | Название словаря |
| >> word | string | Фраза из словаря |
| > last_text_edit_date | string or null | Дата последнего редактирования текста расшифровки |
| search_phrase_start_time | integer | Время звонка, в котором найдена фраза (по результатам поиска) |
| is_paid | boolean | Звонок оплачен |
| is_analyzed | boolean | Звонок транскрибирован |
| operator | string | Оператор звонка |
| comment | string | Комментарий |
| order | object или null | Подробные данные о соответствующем заказе. Будут отображены, только если при запросе было указано "extend": ["order"]. В противном случае в ответе будет null. Подробнее о данных заказа – в описании метода /project/integration/order/list |
| visit | object или null | Подробные данные о визите звонка. Будут отображены, только если при запросе было указано "extend": ["visit"]. В противном случае в ответе будет null. Подробнее о данных визита – в описании метода /project/site/visit/list |
| static_source | object или null | Подробные данные о рекламном канале для звонка. Будут отображены, если звонки загружаются из Коллтрекинга, и при этом используется статический Коллтрекинг. В противном случае в ответе будет null. |
| script_name | string | Сценарий Коллтрекинга. Будет отображен, если звонки загружаются из Коллтрекинга |
| is_outcoming | integer | Направление звонка: 1 – исходящий, 0 – входящий |
| status | object | Информация о статусе звонка (Не оплачен, В обработке, Расшифрован) |
Получить список звонков из Речевой аналитики за определенный период в формате Excel¶
POST https://cloud.roistat.com/api/v1/project/speech/call/list/export/excel Данный метод позволяет получить список звонков из Речевой аналитики за определенный период в формате Excel.
curl 'https://cloud.roistat.com/api/v1/project/speech/call/list/export/excel?project=12345' \
--request POST \
--header 'Content-type: application/json' \
--header 'Api-key: {KEY}' \
--data '{"period": {"from": "2021-01-14T21:00:00.000Z","to": "2022-01-14T20:59:59.999Z"}}'
Тело запроса:
Без параметров.
Строка запроса:
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| project | string | Номер проекта | да |
Тело запроса:
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| period | object | Временной период | да |
Без параметров.
Обновить или добавить комментарий к звонку¶
POST https://cloud.roistat.com/api/v1/project/speech/call/comment/update Данный метод позволяет обновить или добавить комментарий к звонку. ID звонка можно узнать с помощью метода /project/speech/call/list.
curl 'https://cloud.roistat.com/api/v1/project/speech/call/comment/update?project=12345' \
--request POST \
--header 'Content-type: application/json' \
--header 'Api-key: {KEY}' \
--data '{"id": "1","comment": "Новый комментарий"}'
Тело запроса:
Строка запроса:
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| project | string | Номер проекта | да |
Тело запроса:
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| ID | integer | ID звонка | да |
| comment | string | Комментарий | да |
| Параметр | Тип | Описание |
|---|---|---|
| status | string | Статус запроса |
Обновить или добавить оператора, принявшего звонок¶
POST https://cloud.roistat.com/api/v1/project/speech/call/operator/update Данный метод позволяет обновить или добавить оператора, принявшего звонок. ID звонка можно узнать с помощью метода /project/speech/call/list.
curl 'https://cloud.roistat.com/api/v1/project/speech/call/operator/update?project=12345' \
--request POST \
--header 'Content-type: application/json' \
--header 'Api-key: {KEY}' \
--data '{"id": "1","operator": "Максим Олегович"}'
Тело запроса:
Строка запроса:
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| project | string | Номер проекта | да |
Тело запроса:
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| ID | integer | ID звонка | да |
| operator | string | Имя оператора | да |
| Параметр | Тип | Описание |
|---|---|---|
| status | string | Статус запроса |
Получить расшифровку звонка¶
POST https://cloud.roistat.com/api/v1/project/speech/call/transcription/list Данный метод позволяет получить расшифровку звонка. ID звонка можно получить с помощью метода /project/speech/call/list.
curl 'https://cloud.roistat.com/api/v1/project/speech/call/transcription/list?project=12345' \
--request POST \
--header 'Content-type: application/json' \
--header 'Api-key: {KEY}' \
--data '{"call_id": 104,"extend": ["dictionary_match"]}'
Тело запроса:
{
"data": [
{
"id": 92524,
"is_client": 1,
"text": "Здравствуйте.",
"time": 10000,
"dictionary_matches": [],
"last_text_edit_date": null
},
{
"id": 92525,
"is_client": 0,
"text": "Здравствуйте, компания стройка.",
"time": 10600,
"dictionary_matches": [],
"last_text_edit_date": null
},
{
"id": 92526,
"is_client": 1,
"text": "Я уже звонил, вы не взяли трубку и не перезвонили.",
"time": 11200,
"dictionary_matches": [
{
"id": "system_7",
"name": "Повторные обращения",
"word": "уже звонил"
}
],
"last_text_edit_date": null
},
{
"id": 92527,
"is_client": 0,
"text": "Да, действительно, не перезвонили, простите. Что вы хотели?",
"time": 11800,
"dictionary_matches": [
{
"id": "system_19",
"name": "Невыполненные обещания",
"word": "Не перезвонили"
}
],
"last_text_edit_date": null
},
{
"id": 92528,
"is_client": 1,
"text": "Хочу купить двадцать листов волнового шифера.",
"time": 12400,
"dictionary_matches": [],
"last_text_edit_date": null
},
{
"id": 92535,
"is_client": 0,
"text": "Доставка будет стоить четыреста девяносто девять рублей, вас устраивает?",
"time": 16599,
"dictionary_matches": [],
"last_text_edit_date": null
},
"id": 92537,
"is_client": 0,
"text": "Сумма заказа десять тысяч двести восемьдесят рублей.",
"time": 17800,
"dictionary_matches": [],
"last_text_edit_date": null
},
{
"id": 92539,
"is_client": 1,
"text": "У вас на сайте указана цена восемь тысяч.",
"time": 19000,
"dictionary_matches": [],
"last_text_edit_date": null
},
{
"id": 92540,
"is_client": 0,
"text": "Наверное произошла техническая ошибка. Сейчас проверю.",
"time": 19600,
"dictionary_matches": [
{
"id": "system_20",
"name": "Баги системы",
"word": "Техническая ошибка"
}
],
"last_text_edit_date": null
},
{
"id": 92541,
"is_client": 0,
"text": "Да, это ошибка в системе.",
"time": 20200,
"dictionary_matches": [
{
"id": "system_20",
"name": "Баги системы",
"word": "Ошибка в системе"
}
],
"last_text_edit_date": null
},
{
"id": 92544,
"is_client": 0,
"text": "К сожалению, я ничем не смогу помочь, актуальная цена десять тысяч двести восемьдесят рублей. Будете брать?",
"time": 22000,
"dictionary_matches": [
{
"id": "system_6",
"name": "Мы не можем помочь",
"word": "ничем не смогу помочь"
}
],
"last_text_edit_date": null
},
{
"id": 92545,
"is_client": 1,
"text": "Да, давайте.",
"time": 22600,
"dictionary_matches": [],
"last_text_edit_date": null
},
{
"id": 92546,
"is_client": 0,
"text": "Хорошо, заказ оформлен.",
"time": 23199,
"dictionary_matches": [],
"last_text_edit_date": null
},
{
"id": 92550,
"is_client": 1,
"text": "Хорошо, спасибо.",
"time": 25600,
"dictionary_matches": [
{
"id": "1",
"name": "Оператор решил вопрос клиента",
"word": "Спасибо"
}
],
"last_text_edit_date": null
}
],
"status": "success"
}
Строка запроса:
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| project | string | Номер проекта | да |
Тело запроса:
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| callId | integer | ID звонка | да |
| dictionary_match | object | Сматченные словари | нет |
| Параметр | Тип | Описание |
|---|---|---|
| ID | integer | ID облака с речью оператора/клиента |
| is_client | integer | 0 – речь оператора, 1 – речь клиента |
| text | string | Текст разговора в облаке оператора/клиента |
| time | integer | Время звонка, на котором началась речь оператора/клиента (сек*1000) |
| dictionary_matches | object | Совпадения |
| > ID | string | ID словаря |
| > name | string | Название словаря |
| > word | string | Фраза, по которой был сматчен словарь |
| status | string | Статус запроса |
Получить настройки Речевой аналитики¶
POST https://cloud.roistat.com/api/v1/project/speech/settings/list Данный метод позволяет получить настройки инструмента Речевая аналитика.
{
"minimum_answer_duration": 20,
"show_transcription_from": 0,
"is_load_calls_from_calltracking": true,
"is_realtime_transcription_enabled": true,
"is_using_predefined_dictionaries": true,
"is_load_incoming_calls_from_vpbx": true,
"is_load_outgoing_calls_from_vpbx": true,
"is_transcribe_numbers_as_text": true,
"status": "success"
}
Строка запроса:
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| project | string | Номер проекта | да |
Тело запроса:
Без параметров.
| Параметр | Тип | Описание |
|---|---|---|
| minimum_answer_duration | integer | Минимальная длительность звонка, который может быть загружен в Речевую аналитику |
| show_transcription_from | integer | Длительность звонка, после которой показывается расшифровка звонка |
| is_load_calls_from_calltracking | boolean | true – звонки автоматически загружаются из Коллтрекинга в Речевую аналитику, false – звонки из Коллтрекинга не загружаются |
| is_realtime_transcription_enabled | boolean | true – звонки расшифровываются в режиме реального времени (в течение 15 минут - нескольких часов), false – звонки расшифровываются с задержкой (расшифровка доступна на следующий день) |
| is_using_predefined_dictionaries | boolean | true – стандартные словари Roistat используются, false – стандартные словари Roistat не используются |
| is_load_incoming_calls_from_vpbx | boolean | true – входящие звонки из Виртуальной АТС автоматически загружаются в Речевую аналитику, false – входящие звонки из Виртуальной АТС не загружаются |
| is_load_outgoing_calls_from_vpbx | boolean | true – исходящие звонки из Виртуальной АТС автоматически загружаются в Речевую аналитику, false – исходящие звонки из Виртуальной АТС не загружаются |
| is_transcribe_numbers_as_text | boolean | true – отображать расшифровку чисел словами, false – не отображать расшифровку чисел словами |
| status | string | Статус запроса |
Обновить настройки Речевой аналитики¶
POST https://cloud.roistat.com/api/v1/project/speech/settings/update Данный метод позволяет обновить настройки инструмента Речевая аналитика.
curl 'https://cloud.roistat.com/api/v1/project/speech/settings/update?project=12345' \
--request POST \
--header 'Content-type: application/json' \
--header 'Api-key: {KEY}' \
--data '{"minimum_answer_duration": 20,"show_transcription_from": "1"}'
Тело запроса:
{
"minimum_answer_duration": 20,
"show_transcription_from": "1",
"is_load_calls_from_calltracking": true,
"is_realtime_transcription_enabled": true,
"is_using_predefined_dictionaries": true,
"is_load_incoming_calls_from_vpbx": true,
"is_load_outgoing_calls_from_vpbx": true,
"is_transcribe_numbers_as_text": true
}
Строка запроса:
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| project | string | Номер проекта | да |
Тело запроса:
| Параметр | Тип | Описание | Обязательный |
|---|---|---|---|
| minimum_answer_duration | integer | Минимальная длительность звонка, который может быть загружен в Речевую аналитику | нет |
| show_transcription_from | integer | Длительность звонка, после которой показывается расшифровка звонка | нет |
| is_load_calls_from_calltracking | boolean | true – звонки автоматически загружаются из Коллтрекинга в Речевую аналитику, false – звонки из Коллтрекинга не загружаются | нет |
| is_realtime_transcription_enabled | boolean | true – звонки расшифровываются в режиме реального времени (в течение 15 минут - нескольких часов), false – звонки расшифровываются с задержкой (расшифровка доступна на следующий день) | |
| is_using_predefined_dictionaries | boolean | true – стандартные словари Roistat используются, false – стандартные словари Roistat не используются | |
| is_load_incoming_calls_from_vpbx | boolean | true – входящие звонки из Виртуальной АТС автоматически загружаются в Речевую аналитику, false – входящие звонки из Виртуальной АТС не загружаются | |
| is_load_outgoing_calls_from_vpbx | boolean | true – исходящие звонки из Виртуальной АТС автоматически загружаются в Речевую аналитику, false – исходящие звонки из Виртуальной АТС не загружаются | |
| is_transcribe_numbers_as_text | boolean | true – отображать расшифровку чисел словами, false – не отображать расшифровку чисел словами |
| Параметр | Тип | Описание |
|---|---|---|
| status | string | Статус запроса |