Перейти к содержанию

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": "Звонки в техподдержку"
        }
    ]
}
{
    "status": "success"
}

Строка запроса:

Параметр Тип Описание Обязательный
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

Данный метод позволяет получить данные по всем словарям Речевой аналитики (пользовательским и системным).

curl 'https://cloud.roistat.com/api/v1/project/speech/dictionary/list?project=12345' \
--request POST \
--header 'Content-type: application/json' \
--header 'Api-key: {KEY}'
{
    "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"}'

Тело запроса:

{
    "id": "3"
}
{
    "data": {
        "dictionary_id": 1,
        "phrases": [
            "Спасибо",
            "Вы мне помогли",
            "Благодарю",
            "Вы решили мои вопросы",
            "Лучший оператор",
            "Отличный сервис"
        ]
    },
    "status": "success"
}

Строка запроса:

Параметр Тип Описание Обязательный
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"}'

Тело запроса:

{
    "name": "Тестовый словарь",
    "id": 2,
    "phrases": [
        "Фраза1",
        "Фраза2",
        "Фраза3"
    ],
    "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}'

Тело запроса:

{
    "name": "Оператор упомянул акцию",
    "id": "3",
    "phrases": [
        "акция",
        "скидка",
        "до 20 февраля"
    ],
    "is_for_client": false,
    "is_for_operator": true,
    "is_problem": false,
    "color": "#00cc66"
}
{
    "status": "success"
}

Строка запроса:

Параметр Тип Описание Обязательный
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"}'

Тело запроса:

{
    "id": "1"
}
{
    "status": "success"
}

Строка запроса:

Параметр Тип Описание Обязательный
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"}}'

Тело запроса:

{
    "period": {
        "from": "2021-01-14T21:00:00.000Z",
        "to": "2022-01-14T20:59:59.999Z"
    },
    "sort": [
        "date",
        "desc"
    ],
    "limit": 20,
    "offset": 0,
    "filters": [
        {
            "field": "matched_dictionaries.operator_dictionary_ids",
            "operator": "contains_all",
            "value": [
                "system_1"
            ]
        }
    ]
}
{
    "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"}}'

Тело запроса:

{
    "period": {
        "from": "2019-10-16T21:00:00.000Z",
        "to": "2020-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": "Новый комментарий"}'

Тело запроса:

{
    "id": "1",
    "comment": "Новый комментарий"
}
  {
      "status": "success"
  }

Строка запроса:

Параметр Тип Описание Обязательный
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": "Максим Олегович"}'

Тело запроса:

{
    "id": "1",
    "operator": "Максим Олегович"
}
{
    "status": "success"
}

Строка запроса:

Параметр Тип Описание Обязательный
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"]}'

Тело запроса:

{
    "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

Данный метод позволяет получить настройки инструмента Речевая аналитика.

curl 'https://cloud.roistat.com/api/v1/project/speech/settings/list?project=12345' \
--request POST \
--header 'Content-type: application/json' \
--header 'Api-key: {KEY}'
{
    "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
}
  {
      "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 Статус запроса