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 | Статус запроса |