Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

Russian

Оглавление

1. Сценарий

            Создание сценария
            Окно редактирования сценария
            Работа с блоками
            Работа с переменными

2. Элементы

            Стрелка (Ветка)
            Стартовый блок
            Блок «Вопрос»
            Блок «Пауза»
            Блок «Информация»
            Блок «Условие»
            Блок «Случайный выбор»
            Блок «Эмоции»
            Блок «Результат»
            Блок «Запрос к серверу»
            Блок «Арифметика»           
            Блок «Порядковый выбор»
            Блок «Телепорт»
            Блок «Пустой»
            Блок «AI»



1. Сценарий 
Якорь
Сценарии
Сценарии



Div
classpage-headline

Создание сценария

Якорь
СозданиеСценария
СозданиеСценария


Для создания сценария перейдите в раздел Сценарии и нажмите кнопку Новый сценарий



В появившемся окне введите название нового сценария и нажмите кнопку Создать новый сценарий.



Для того, чтобы перейти в окно редактирования сценария, найдите в перечне существующих сценариев новый созданный сценарий со столбцу Название и нажмите кнопку Просмотр.



Div
classpage-headline

Окно редактирования сценария

Якорь
ОкноРедактированияСценария
ОкноРедактированияСценария


Представляет из себя древовидную вопросно-ответную систему с нейросетевым обучением и извлечением ответов. Сценарий в редакторе строится на основе вопрос-ответ, мы сами составляем вопросы и задаем вероятные ответы на них. При звонке, в зависимости от вероятности ответа, система будет двигаться по составленному сценарию.


Элементы управления:

НазваниеСкриншотОписание
Блоки действий

Позволяют задать системе сценарии обзвона

Стрелка

Позволяет задать системе направление сценария
Рука

Даёт возможность перемещаться по рабочему пространству
Курсор

Позволяет работать с объектом или выделять их
Карта

Открывает окно с рабочим пространством для быстрого перемещения
Масштаб

Изменяет масштаб рабочего пространства

Отменить

Шаг назад
Вернуть

Шаг вперед
Сохранить

Сохраняет скрипт
Удалить

Удаляет скрипт
Управление медиа

Управляет всеми записанными и загруженными медиафайлами
Показать последний

Перейти к последнему добавленному блоку
Очистить

Возвращает в исходное состояние
Чат

Позволяет проверить скрипт в форме переписки
Микрофон

Позволяет проверить скрипт в форме живого общения


Горячие клавиши:

РезультатКлавиши
Меняет активный инструмент на Рука

Ctrl

Сохранение сценария

Ctrl + S

Отмена последнего совершенного действия
Ctrl + Z
Снятие выделенияEsc
Удаление выделенного элементаDel



Div
classpage-headline

Работа с блоками

Якорь
РаботаСБлоками
РаботаСБлоками


Настройка каждого блока/стрелки на рабочем пространстве производится в правой части экрана редактора. Для того чтобы открыть свойства, нужно кликнуть на блок/стрелку левой клавишей мыши. Для быстрого создания часто используемых блоков предусмотрена функция, которая позволяет создать блок в один клик. Для этого, у выделенного блока, внизу располагаются кнопки с блоками типа Вопрос, Информация и Случайный выбор. Пользователю лишь остается потянуть одну из кнопок, чтобы расположить блок на рабочем пространстве.



Div
classpage-headline

Работа с переменными

Якорь
РаботаСПеременными
РаботаСПеременными


Создание переменных возможно двумя способами:

  • Объявление переменной в блоке
  • Объявление переменной в стрелке


Объявление переменной в блоке возможно лишь в следующих типах блоков:

  • Блок вопроса
  • Блок информации
  • Блок результата

Во всех перечисленных типов блоков объявление происходит аналогичным образом.

Для того, чтобы объявить переменную в блоке:

  1. Выделите нужный блок
  2. Нажмите кнопку Добавить элемент
  3. Введите название переменной в левое поле
  4. Введите значение переменной в правое поле


Объявление переменной в стрелке возможно лишь из следующих типов блоков:

  • Блок вопроса
  • Блок паузы

Для того, чтобы объявить переменную в стрелке:

  1. Выделите нужную стрелку
  2. Поставьте галочку напротив Сохранить ответ
  3. Введите название переменной

В отличии от объявления в блоке, объявление в стрелке помещает в переменную ответ клиента, а не изначально заготовленное значение.


После того, как переменная объявлена в блоке или стрелке, появилась возможность ее использования.

Чтобы использовать переменную, укажите ее название в фигурных скобках.


Примечание

Для блока "Условие", переменная объявляется без фигурных скобок.


Примечание

Если в одну и ту же переменную, по ходу выполнения сценария, будут вложены разные значения, то использовано будет последнее вложенное значение.


2. Элементы
Якорь
Элементы
Элементы


Div
classpage-headline

Стрелка (Ветка)

Якорь
Стрелка
Стрелка


Описание:

Показывает направление сценария и определяет условия перехода от одного блока к другому. У таких блоков как Вопрос, Условие, Запрос к серверу и Эмоции, стрелка имеет свойства отличные от всех остальных блоков.


Раскрыть
titleСвойства стрелки


Описание

Скриншот

1. Заголовок стрелки

Возможно использовать как пометку для себя, чтобы знать какой ответ мы будем ожидать от пользователя, либо любая другая информация, которая нам облегчит навигацию по сценарию




Якорь
СтартовыйБлок
СтартовыйБлок

Div
classpage-headline

Стартовый блок


Описание:

Стартовый блок служит для отображения начала сценария диалога и его настройки. С помощью этого блока можно быстро найти начало в сценариях с огромным количеством блоков.


Раскрыть
titleСвойства блока


ОписаниеСкриншот

1. Название скрипта – позволяет быстрее найти блок в редакторе сценариев.

2. Отладочный режим – включает режим подробного логирования действий робота. Этот режим включается по просьбе технической поддержки и используется для поиска и устранения ошибок в работе робота. После включения этого режима пользователю требуется повторить диалог с клиентом, в основе которого используется проблемный сценарий. Все ошибки фиксируются на сервере разработчика. Не рекомендуется включать этот режим без соответствующего указания.

3. Включить прерывания – включает режим перебивания бота в диалогах.

4. Система распознавания – выбирает систему распознавания речи клиента в диалоге. Систему распознавания по умолчанию рекомендуется изменять только при запросе от службы технической поддержки.

5. Язык – язык речи, которая распознается системой. На текущий момент распознание речи в диалогах возможно для следующих языков:

  • Русский
  • Украинский
  • Английский
  • Испанский
  • Немецкий
  • Вьетнамский
  • Узбекский
  • Казахский
  • Чешский
  • Венгерский
  • Индонезийский

6. Тип аудио – вид голосовых сообщений робота. Возможные варианты:

  • Синтез синтез речи по указанной фразе
  • Аудиозаписи – воспроизведение предварительно подготовленного аудиофайла

7. Выберите тип голоса – тип голоса робота в диалогах с клиентом.

8. Выберите эмоцию – эмоциональный тон голосовых сообщений бота. Воможные варианты:

  • Нейтральный
  • Доброжелательный
  • Раздраженный

9. Выберите скорость (темп) в диапазоне от 01. до 3.0 – темп речи в голосовых сообщениях робота

10. Количество переспросов – количество раз, когда робот переспрашивает клиента, если не получает или не может распознать ответ на свой вопрос. Для стабильной работы этой функции нужно добавить фразу или фразы переспроса.

11. Фразы с просьбой повторить ответ – фраза, которую робот использует, чтобы попросить клиента повторить ответ, если робот не получает или не может распознать ответ на свой вопрос. 

12. Фразы с просьбой сказать следующую часть большого числа – позволяет произнести заготовленную фразу в случае, если произнесенное клиентом число имеет меньшую длину символов, чем ожидалось.

13. Переводить на специалиста, если робот не знает что делать – в случае, если робот не будет знать, что делать, будет произведена переадресация на оператора.

14. Допустимое количество циклов – максимальное количество раз, когда робот попросит клиента повторить ответ на заданный вопрос. 

15. Отключить приведение слов к первой форме при выборе ответа – отключает приведение слов в начальную форму, что усложняет распознавание речи клиента. Если параметр не используется, то система по умолчанию приводит все слова в ответах клиента в начальную форму.  Существительные приводятся к форме единственного числа в именительном падеже (например, менеджер). Глаголы приводятся в неопределенную форму (например, позвонить).

16. Отключить фонетический корректор на звонках – отключает фонетический корректор. Эта функция корректирует мелкие фонетические ошибки клиента и приводит слово к максимально похожему. Например: Пирвет → Привет

17. Выберите блок по умолчанию –  блок в сценарии, в который система направляет робота, если он не получает или не может распознать ответ на свой вопрос.

18. Таймаут ожидания ответа (сек) – период времени, в течение которого робот ожидает от пользователя ответ на вопрос. Если пользователь не ответил на вопрос или его ответ не подходит под заданный вопрос, то система пытается перевести робота в блок помощи (см. ниже).

19. Выберите блок помощи – блок Информация, в который система переведет робота, если в от клиента поступает одна из следующих фраз: «Помощь», «Что ты умеешь».

20. Фоновые шумы – фоновый шум позволяет создать желаемую атмосферу во время диалога с клиентом (например, звуки офиса, улицы, аэропорта).

21. Шаблоны ключевых слов – позволяет задать ключевые слова на уровне сценария.

22. Переменные – позволяет задать переменную.

23. Игнорировать вышестоящие ключевые слова – эта функция позволяет игнорировать установленные ключевые слова на вышестоящих уровнях, делая актуальными лишь слова, указанные в этом блоке и ниже.

24. Новое ключевое слово – позволяет указать новые ключевые слова для работы функции перебивания.




Div
classpage-headline

Блок «Вопрос»

Якорь
БлокВопрос
БлокВопрос


Описание:

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


Условия выхода:

  • По истечении времени сеанса распознавания
  • По ключевому слову


Раскрыть
titleСвойства блока


ОписаниеСкриншот

1. Уникальный идентификатор блока.

2. Тип выбранного блока.

3. Маркер блока - произвольный пользовательский текст, может использоваться в отчетах как маркер посещения (необязателен для заполнения).

4. Текст, который будет произнесен роботом, после того, как будет произведен переход в этот блок.

5. ... Задержка перед отправкой сообщения - период времени, по истечению которого будет произведена отправка сообщения после перехода в этот блок.

6. ... 

7. ...

8. ...

9. Период времени, в течение которого система выполняет распознавание речи абонента во время вызова. 


Для выбора доступны следующие уровни длительности сеанса распознавания:

  • Односложный ответ – длительность сеанса распознавания речи составляет 7 секунд;
  • Очень короткая – длительность сеанса распознавания речи составляет 5 секунд;
  • Короткая – длительность сеанса распознавания речи составляет 5 секунд;
  • Нормальная – длительность сеанса распознавания речи составляет 7 секунд;
  • Нормальная (5 сек) – длительность сеанса распознавания речи составляет 5 секунд;
  • Нормальная (180 сек) – длительность сеанса распознавания речи составляет 180 секунд;
  • Длинная – длительность сеанса распознавания речи составляет 10 секунд;
  • Очень длинная – длительность сеанса распознавания речи составляет 15 секунд;
  • Очень длинная (180 сек) – время распознавания речи составляет 180 секунд.

Уровни длительности сеанса распознавания речи абонента определяются различными параметрами. Посмотреть значения всех параметров можно в разделе Длительность сеанса распознавания.

10. Выбор сервиса для распознавания речи

  • Система 1 – сервис распознавания Google
  • Система 2 – сервис распознавания Yandex

11. Количество переспросов – количество раз, когда робот переспрашивает клиента, если не получает или не может распознать ответ на свой вопрос. ..Для стабильной работы этой функции нужно добавить фразу или фразы переспроса. 

12. При выставленной галке, система будет распознавать эмоциональную окраску пользователя и записывать её в переменную {детектор.эмоции}***

13. При выставленной галке , система не будет дожидаться ответа от клиента, а переведет его на оператора

14. При выставленной галке, система не будет пытаться найти ответ на поставленный вопрос через другие блоки типа «Вопрос», которые находятся на той же ветке

15. ...

16. ...

17. Текст, который будет озвучен роботом в случае, если не удастся получить ожидаемый ответ клиента.

18. ...

19. ...

20. ... Позволяет загрузить с компьютера аудиозапись для озвучки данного блока с помощью гибридного синтеза речи****.

21. Используется для фиксации и вывода в отчёт момент завершения диалога, в столбец «Результат разговора».

22. Позволяет загрузить с компьютера аудиозапись для озвучки данного блока живым голосом.

23. Позволяет создать и скачать аудиозапись для озвучки данного блока живым голосом.

24. Игнорировать вышестоящие ключевые слова – эта функция позволяет игнорировать установленные ключевые слова на вышестоящих уровнях, делая актуальными лишь слова, указанные в этом блоке и ниже.

25. Новое ключевое слово – позволяет указать новые ключевые слова для работы функции перебивания.


* Если вариантов больше чем одно, то фразы будут произноситься в случайном порядке
** Подробнее о времени длительности распознавания можно посмотреть здесь
*** Подробнее о типах эмоции можно почитать здесь
**** Подробнее о гибридном синтезе речи можно почитать здесь



Раскрыть
titleСвойства стрелки

Свойства:

ОписаниеСкриншот

1. Заголовок стрелки

2. Создание переменной, в которую система запишет ответ от пользователя

3. ...

4. ...

5. Тип данных, которые система будет ожидать от клиента для перехода по ветке

6. Наименование кнопки ответа (см. описание в свойствах стрелки).

7. Определяет порядок отображения кнопки (см. описание в свойствах стрелки).

Так, если у нас кнопка у одной из 4 веток развития имеет порядковый номер 3, то эта кнопка будет отображена в списке предпоследней

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



Примечание

Для корректного отображения текста кнопки в Facebook, рекомендуется в поле Вариант ответа размещать текст не более 20-ти символов


Типы:

ТипОписаниеСкриншот
Ветка по умолчанию

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


1. ...

2. Наименование кнопки ответа (см. описание в свойствах стрелки).

3.Определяет порядок отображения кнопки (см. описание в свойствах стрелки).

Ключевые слова

Переход по ветке будет произведен, если ответ пользователя совпадет с ключевым словом.


1. Слова или выражения, которые система ожидает от пользователя для перехода по ветке

Ключевые слова вводятся через пробел. Выражения вводятся с использованием кавычек, например "уже на месте"

Так же, можно использовать абстрактное слово NEAR в выражении, которое будет значиться любым словом, например:"я NEAR не пойду", где NEAR - может быть любым словом: никуда, никогда, сейчас, завтра и т.д. 

В системе предусмотрена система весов, когда явный ответ "да" от человека, не всегда может означать признание, например: фраза Да, я вас отчетливо слышу, я не пойду на обед. В данном ответе мы видим слово "да" и предлог "не", который по смыслу является приоритетней и в общей концепции ответа является отрицанием: фраза я не пойду на обед. Таким образом, при расстановке ключевых слов и выражений, будет более явно добавить вес к отрицательным словам:+++не и +нет. Каждый знак плюс имеет единицу веса. Где единицей является слово или выражение. Соответственно, в примере к слову нет + одно слово, а к предлогу не + 3 слова. При количественном перевесе система принятия решения выберет этот маршрут.

В обратной ситуации мы можем наоборот, понижать вес, используя знак минус: -да


2. ...

3. Наименование кнопки ответа (см. описание в свойствах стрелки).

4. Определяет порядок отображения кнопки (см. описание в свойствах стрелки).


Примечание
titleВажно
typeInfo

Рекомендуется использовать не более 100 ключевых слов в ветке, для большего количества ключевых фраз мы рекомендуем использовать ветку "интеллектуальное принятие решений" в связке с НЛУ


Дата/Время/Дата и время

Переход по ветке будет произведен, если озвученная пользователем дата совпадет с указанной датой в свойстве стрелки.


1. Условие проверки значения

Например, для согласования даты доставки товара, можно сделать проверку на то, что дата должна быть больше текущей, чтобы избежать ситуации, когда доставка будет оформлена на прошедший день.

Если необходимо пользовательское значение даты для сравнения, то дата задается в формате:

YYYY-MM-DD (без времени)

YYYY-MM-DD HH:MM:SS (дата и время)

2. Ответ, который система ожидает от клиента

Система знает и умеет работать с датами и относительными датами. Пример ответов пользователя, которые система сможет распознать:

  • 23 января
  • Завтра
  • Послезавтра
  • Вчера
  • Позавчера
  • Через n дней
  • n дней назад
  • 23 января 1996 года

Если в дате явно не указан год, берется текущий

Форматы записи ответа в переменную:

  • Дата: Y-m-d
  • Дата и время: Y-m-d H:i:s

Так же данный тип пытается найти время. Возможные варианты:

  • в 14:00
  • Через n минут
  • через n часов

Если клиент явно не указывает время, берется текущее

Формат записи в переменную: H:i

3. Наименование кнопки ответа (см. описание в свойствах стрелки).

4. Определяет порядок отображения кнопки (см. описание в свойствах стрелки).

Число

Переход по ветке будет произведен, если озвученное пользователем число совпадет с указанным числом в свойстве стрелки.


1. Условие проверки значения

Например, при проведения соц. опроса, система может задать вопрос: "Скажите, сколько вам лет?" и благодаря условиям можно задать различные вопросы разным возрастным группам. 

Сравнение происходит по правилам:

{РАСПОЗНАННОЕ} {ОПЕРАТОР} {СРАВНИВАЕМОЕ}

Где  

  • {РАСПОЗНАННОЕ} - число, которое распознано в речи клиента в момент диалога
  • {ОПЕРАТОР}  - оператор сравнения (меньше, больше, равно и т.д.)
  • {СРАВНИВАЕМОЕ} - Значение, заданное в свойствах (см. пункт №2)*


2. Ответ, который система ожидает от клиента

3. Наименование кнопки ответа (см. описание в свойствах стрелки).

4. Определяет порядок отображения кнопки (см. описание в свойствах стрелки).

5. ...


* Может содержать в себе переменные заключенные в фигурные скобки, которые могут быть переданы при постановке задания.

Большое число

Переход по ветке будет произведен, если количество озвученных символов в номере, совпадет с указанным количеством символов в свойстве стрелки.


1. Условие проверки значения

2. Маска ожидаемого ввода 

Например, для паспорта мы можем задать маску вида #### ######, где каждый символ # - это цифра

3. В случае, если система не распознала ответ или ответ от пользователя не совпадает с указанным, то система не будет предпринимать попытки повторного опроса

4. Значение, которое система будет ожидать от пользователя

В случае если человек при разговоре назовет число которое не будет подходить под указанное значение, то система будет просить пользователя ввести необходимые цифры до тех пор, пока они точно не совпадут с указанным вариантом в скрипте

5. Наименование кнопки ответа (см. описание в свойствах стрелки).

6. Определяет порядок отображения кнопки (см. описание в свойствах стрелки).

7. ...

Интеллектуальное принятие решений

Переход по ветке будет произведен, если указанное в свойствах намерение совпадет с озвученным намерением клиента*


1. Выбор агента

2. ...

3. ...

4. ...

5. Наименование кнопки ответа (см. описание в свойствах стрелки).

6. Определяет порядок отображения кнопки (см. описание в свойствах стрелки).

2. Выбор агента

3. Намерения, которые система ожидает от пользователя.

4. Создание переменных, в которые могут быть записаны данные, которые были выяснены системой во время диалога


* Для работы с данным типом, нужно иметь подключение к Twin.ai и необходим обученный агент.  Подробнее об этом вы можете прочитать здесь

Номер телефона

...

1. ...

2. ...

3. Наименование кнопки ответа (см. описание в свойствах стрелки).

4. Определяет порядок отображения кнопки (см. описание в свойствах стрелки).

Ошибка определения номера телефона

...

1. Наименование кнопки ответа (см. описание в свойствах стрелки).

2. Определяет порядок отображения кнопки (см. описание в свойствах стрелки).

Сигнал DTMF

...

1. ...

2. Наименование кнопки ответа (см. описание в свойствах стрелки).

3. Определяет порядок отображения кнопки (см. описание в свойствах стрелки).




Div
classpage-headline

Блок «Пауза»

Якорь
БлокПауза
БлокПауза


Описание:

Данный блок переводит систему в режим ожидания ответа.

Условия выхода:

  • По истечении заданного времени
  • По ключевому слову


Раскрыть
titleСвойства блока


ОписаниеСкриншот

1. Уникальный идентификатор блока.

2. Тип выбранного блока.

3. Маркер блока - произвольный пользовательский текст, может использоваться в отчетах как маркер посещения (необязателен для заполнения)

4. Текст, который будет произнесен роботом, после того, как будет произведен переход в этот блок.

5. ...

6. ...

7. Время, через которое будет произнесен текст из секции «Текст повтора» (см. пункт № 6)

8. Время, по истечении которого, звонок будет переведен на оператора

9. Варианты повтора, которые будут озвучены системой по истечении времени ожидания*

10. ... Позволяет загрузить с компьютера аудиозапись для озвучки данного блока с помощью гибридного синтеза речи**.

11. ...

12. Позволяет загрузить с компьютера аудиозапись для озвучки данного блока живым голосом.

13. Позволяет создать и скачать аудиозапись для озвучки данного блока живым голосом.


* Если вариантов больше чем одно, то фразы будут произноситься в случайном порядке
** Подробнее о гибридном синтезе речи можно почитать здесь





Div
classpage-headline

Блок «Информация»

Якорь
БлокИнформация
БлокИнформация


Описание:

Данный блок используется для произнесения сообщения пользователю.

Условия выхода:

  • После озвученного сообщения системой
  • Пропуск блока


Раскрыть
titleСвойства блока


ОписаниеСкриншот

1. Уникальный идентификатор блока.

2. Тип выбранного блока.

3. Маркер блока - произвольный пользовательский текст, может использоваться в отчетах как маркер посещения (необязателен для заполнения)

4. Текст, который будет произнесен роботом, после того, как будет произведен переход в этот блок.

5. ...

6. ...

7. Система пропустит текущий блок, если она озвучит информационный блок, который будет выбран в данном пункте*

8. ...

9. ...

10. ...

11. ... Позволяет загрузить с компьютера аудиозапись для озвучки данного блока с помощью гибридного синтеза речи**.

12. ...

13. Позволяет загрузить с компьютера аудиозапись для озвучки данного блока живым голосом.

14. Позволяет создать и скачать аудиозапись для озвучки данного блока живым голосом.


* Выбрать возможно только блок типа «Информация»
** Подробнее о гибридном синтезе речи можно почитать здесь





Div
classpage-headline

Блок «Условие»

Якорь
БлокУсловие
БлокУсловие


Описание:

Данный блок позволяет определить направление сценария на основании состояния диалога. Переход по стрелке будет произведен в случае удовлетворения заданных пользователем условии.


Раскрыть
titleСвойства блока


ОписаниеСкриншот

1. Уникальный идентификатор блока.

2. Тип выбранного блока.

3. Маркер блока - произвольный пользовательский текст, может использоваться в отчетах как маркер посещения (необязателен для заполнения)



Раскрыть
titleСвойства стрелки

Свойства:

ОписаниеСкриншот

1. Вспомогательный текст, который позволяет создателю сценария ориентироваться в связях

2. Способ принятия решения


Типы:

ТипОписаниеСкиншот
По умолчаниюДанный тип используется для перехода по ветке, в случае, если условия во всех остальных стрелках данного блока не будут соблюдены.

Условие И / ИЛИ

Переход по ветке будет произведен, если заданное условие будет выполнено.

1. ...

2. Набор условий, по которым принимается решение


  • Условие "И" требует, чтобы все указанные условия выполнялись.
  • Условие "ИЛИ" требует, чтобы выполнялось хотя бы одно указанное условие

Логические операторы:
"=" - равно
"!=" - не равно
"<" - меньше
"<=" - меньше или равно
">" - больше
">=" - больше или равно
"*" - содержит
"**" - совпадает

3. Служит для установки значений переменным.

В левое поле записывается название переменной без фигурных скобок

В правое поле записывается значение, которое мы хотим присвоить переменной*


* Допускается использование переменных, которые будут заменены на их значение в момент присваивания


Информация
titleПримеры использования условий "*" и "**"

Разберем на примере сравнения переменной {answer} (записываемой как ответ пользователя) с заданным значением

Если задано условие {answer} * как дела

то при получении фраз:

"привет как дела" - условие будет выполнено, т.к. фраза содержит искомый фрагмент "как дела"

"как ваши дела" - условие не будет выполнено, т.к. фраза содержит только часть искомого фрагмента "как дела"

"как дела у Алексея Петровича?" - условие будет выполнено, т.к. фраза содержит искомый фрагмент "как дела"

"как добраться до аптеки" - условие не будет выполнено, т.к. фраза содержит только часть искомого фрагмента "как дела"

Если задано условие Если задано условие {answer} ** привет как дела

то при получении фраз:

"привет как дела" - условие будет выполнено, т.к. фраза совпадает с фразой условия "привет как дела"

"привет, как ваши дела" - условие не будет выполнено, т.к. фраза не совпадает с фразой условия "привет как дела"

"как дела у Алексея Петровича?" - условие не будет выполнено, т.к. фраза не совпадает с фразой условия "привет как дела"

"привет как дела, Василий" - условие не будет выполнено, т.к. фраза не совпадает с фразой условия "привет как дела"


Информация
titleОперация "*"

В секции "Условия", для правого поля возможно использовать операцию "*"

Данная операция используется для определения текста по маске, где * это любое количество букв или цифр.

Например:

если условие будет иметь вид имя = *на, то под условие будут попадать имена Анна, Карина, Марина и т.д.

или условие ответ ** * как дела, то под условие будут попадать любые фразы где перед "как дела" содержится иной текст или не содержится ничего ("Василий, как дела", "Здравствуйте, Игорь Петрович, как дела", "как дела")


Примечание
titleВес решения

Если есть две ветки которые удовлетворяют переходу, то будет выбрана та ветка, у которой количество совпавших условий больше. В случае равенства совпавших условий, приоритет будет отдан ветке с типом "Условие И", т.к. оно более строгое

Для корректной работы блока необходимо чтобы не было двух и более веток с идентичными условиями

Следует избегать ситуаций соответствия в ветках более чем 2м условиям одновременно




Div
classpage-headline

Блок «Случайный выбор»

Якорь
БлокСлучайныйВыбор
БлокСлучайныйВыбор


Описание:

Данный блок предназначен для вариативности диалога. Система в случайном порядке выполняет переход по стрелкам, которые выходят из блока.


Раскрыть
titleСвойства блока


ОписаниеСкриншот

1. Уникальный идентификатор блока.

2. Тип выбранного блока.

2. Описание которое клиент может написать для себя

3. Маркер блока - произвольный пользовательский текст, может использоваться в отчетах как маркер посещения (необязателен для заполнения).

4. ...




Div
classpage-headline

Блок «Эмоции»

Якорь
БлокЭмоции
БлокЭмоции


Описание:

Данный блок позволяет определить направление сценария на основании эмоции пользователя. Переход по стрелке будет произведен в случае удовлетворения заданных пользователем условии.


Раскрыть
titleСвойства блока


ОписаниеСкриншот

1. Уникальный идентификатор блока.

2. Тип выбранного блока.

3. Маркер блока - произвольный пользовательский текст, может использоваться в отчетах как маркер посещения (необязателен для заполнения).



Раскрыть
titleСвойства стрелки

Свойства:

ОписаниеСкриншот

1. Вспомогательный текст, который позволяет создателю сценария ориентироваться в связях

2. Выбор эмоции, которую система будет ожидать для переход по ветке


Типы:

ТипОписание
ПозитивнаяПереход по стрелке будет происходить в случае, если переменная {детектор.эмоции} имеет значение positive
НегативнаяПереход по стрелке будет происходить в случае, если переменная {детектор.эмоции} имеет значение negative
НейтральнаяПереход по стрелке будет происходить в случае, если переменная {детектор.эмоции} имеет значение neutral




Div
classpage-headline

Блок «Результат»

Якорь
БлокРезультат
БлокРезультат


Описание:

Данный блок служит для фиксации результата разговора, а также для принудительного перевода на оператора, отправки сообщения и отправки нотификации.


Раскрыть
titleСвойства блока


ОписаниеСкриншот

1. Заголовок блока

2. Тип выбранного блока.

2. Описание которое пользователь может написать для себя

3. Маркер блока - произвольный пользовательский текст, может использоваться в отчетах как маркер посещения (необязателен для заполнения).

4. Описание фиксации - произвольный пользовательский текст, который может использоваться для описания работы блока. Также благодаря этому тексту можно удобно найти нужный блок с помощью сочетаний клавиш ctrl+F.

5. В данном месте вы можете изменить значение в любой переменной или ввести новую.

6. Вы можете выбрать, из выпадающего списка, какое именно действие роботу необходимо совершить.


Типы:

ТипОписаниеСкриншот
Без действия

Робот ничего не сделает, и просто пойдёт в следующий блок, если он есть.

Отправка email

Робот отправит электронное письмо.

1. Email адрес получателя

2. Тема сообщения

3. Возможность отправить текст диалога робота и клиента в теле письма.

4. Текст сообщения

Отправка уведомления

Робот отправит клиенту уведомление.

1. Шаблон, который будет использован системой для отправки уведомления

2. Возможность сокращать ссылки, имеющиеся в тексте.

3. Номер телефона получателя уведомления.


Примечание
titleТестирование сообщений

Если вы планируете отправить результат разговора себе, то для этого лучше использовать отправку через email, т.к. он является бесплатным. За отправку результатов разговора через уведомления, взимается плата


Зафиксировать результат

Сохраняет данные диалога в отчет


1. Поле, в которое можно записать дату для выгрузки в отчет*

2. Поле, в которое можно записать оценку для выгрузки в отчет*

3. NPS - произвольная информация. Отобразится отчете о результате задания на обзвон столбец "NPS".

4. Поле, в которое можно записать данные для выгрузки в отчет*


* Необязательное поле

Отправка DTMF сигналов

1. ...

Перевод на оператора.

Робот может передать перевести клиента на живого оператора или другой сценарий.

1. Робот завершит вызов

2. ...

3. Данный текст будет виден пользователю при переводе диалога на оператора и оператору при переводе диалога на него.

4. ...

1. Звонок будет переключен на оператора

2. ...

3. Данный текст будет виден пользователю при переводе диалога на оператора и оператору при переводе диалога на него.

4. ...

1. Использует настройки переадресации из задания на обзвон

2. ...

3. Данный текст будет виден пользователю при переводе диалога на оператора и оператору при переводе диалога на него.

4. ...

1. План набора, который будет использован системой для переадресации звонка*

2. ...

3. Номер телефона на который нужно произвести переадресацию

4. ...

5. Данный текст будет виден пользователю при переводе диалога на оператора и оператору при переводе диалога на него.

6. ...


* План набора создается в разделе "Телефония"

1. Использует настройки переадресации из плана перевода*

2. ...

3. ...

4. Данный текст будет виден пользователю при переводе диалога на оператора и оператору при переводе диалога на него.

5. ...

* План перевода создается в разделе "Телефония"

1. ...

2. ...

3. ...

4. ...

5. Данный текст будет виден пользователю при переводе диалога на оператора и оператору при переводе диалога на него.

6. ...

1. Запускает указанный сценарий

2. ...

3. ...

4. Данный текст будет виден пользователю при переводе диалога на оператора и оператору при переводе диалога на него.

5. ...

Перезвонить

1. Создает новое задание на обзвон для пользователя на определенное время

Данное поле использует переменную типа Дата, которая объявляется в стартовом блоке

Идентификация клиента

1. ...

2. ...

3. ...

Произвольный результат

1. ...

Отмена перезвона

...




Div
classpage-headline

Блок «Запрос к серверу»

Якорь
БлокЗапросКсерверу
БлокЗапросКсерверу


Описание:

Данный блок позволяет роботу во время диалога с пользователем взаимодействовать с внешней или внутренней CRM-системой для обмена информации о клиенте посредством API. Робот может взаимодействовать с CRM-системой как для поиска и получения уже имеющейся информации о клиенте (место проживания, адрес места жительства, профессия), так и для сохранения новой информации о клиенте (например, наличие домашних животных, увлечения, интересы и т.д.), полученной во время диалога. При помощи данного блока робот также может использовать любые сетевые сервисы, которые доступны посредством API (например, калькулятор, конвертер величин, прогноз погоды, программа передач и др.).

Пример:

От клиента поступает входящий вызов. Робот идентифицирует номер телефона и отвечает на звонок. С помощью блока Запрос к серверу робот обращается в корпоративную CRM-систему, в которой хранятся клиентские данные, полная информация по всему предлагаемому ассортименту товаров, а также информация по статусам всех заказов. По номеру телефона робот получает информацию о клиенте и видит, что у клиента есть активный заказ. Робот обращается к клиенту по имени и до того, как клиент озвучивает цель звонка, интересуется, не хочет ли клиент узнать статус своего заказа. После утвердительного ответа робот предоставляет информацию о текущем статусе заказа.

Информация

Для лучшего понимания принципов работы блока Запрос к серверу рекомендуется прочитать информацию о синтаксисе формата JSON.


Раскрыть
titleСвойства блока


ОписаниеСкриншот

1. Уникальный идентификатор блока.

2. Тип выбранного блока.

3. Маркер блока - произвольный пользовательский текст, может использоваться в отчетах как маркер посещения (необязателен для заполнения).

4. Текст с просьбой подождать, который будет воспроизведен роботом. Данный текст можно использовать, чтобы заполнить паузу, во время которой система выполняет обращение к API стороннего сервиса или CRM-системы.

5. ...

6. ...

7. ... Позволяет загрузить с компьютера аудиозапись для озвучки данного блока с помощью гибридного синтеза речи*.

8. Период времени, по окончании которого  робот будет воспроизводить повторное сообщение (см. пункт №4) до тех пор, пока не будет получен ответ от сервера.

9. Текст с просьбой подождать, который будет воспроизведен роботом до получения ответа от стороннего сервиса или CRM-системы.

10. URL-адрес, на который осуществляется переход после выполнения запроса. Данный параметр является необязательным для использования. Вы можете использовать его для уведомления о выполнении запроса (например, отображать страницу с текстом стандартного сообщения или изображением).

11. Тип авторизации пользователя для обеспечения доступа к данным на сервере. Возможные значения данного параметра описываются ниже.

12. Тип запроса к серверу. Возможные значения данного параметра описываются ниже.

13. URL- адрес страницы, с которой работает робот. Содержит параметры запроса и переменные.


Информация

В строке адреса страницы можно указать переменную, через которую можно передавать информацию в сервис, к которому обращается робот.

14. При отправке запросов для некоторых методов требуется передавать cookie. Требуемое значение cookie содержится в ответе при первом обращении к методу.

15. При отправке запросов для некоторых методов требуется передавать заголовки. Требуемые значения заголовков содержатся в ответе при первом обращении к методу.

16. При отправке запросов для некоторых методов требуется использовать принудительный синхронных режим.


* Подробнее о гибридном синтезе речи можно почитать здесь


Типы запросов:

ТипОписаниеСкриншот
GET

Используется для получения данных от сервера.

Используя этот тип запроса, можно получать данные о заказе, товаре, пользователе и т.д.

1. Адрес страницы, с которой будет работать робот.

2. Значение cookie (если требуется для работы с методом стороннего сервиса).

3. Значение заголовка (если требуется для работы с методом стороннего сервиса).

4. Принудительный синхронный режим (если требуется для работы с методом стороннего сервиса).

POST

Применяется для отправки данных на сервер.

Используя этот тип запроса, можно сохранять данные о заказе, создавать товар, обновлять данные пользователя и т.д.

1. Адрес страницы, с которой работает робот.

2. Значение cookie (если требуется для работы с методом стороннего сервиса).

3. Значение заголовка (если требуется для работы с методом стороннего сервиса).

4. Принудительный синхронный режим (если требуется для работы с методом стороннего сервиса).

5. Тип передаваемого содежимого. Возможные значения:

  • JSON - данные передаются в формате JSON
  • Form - данные передаются в текстовой форме

6. Позволяет установить порядок указания ключа и значения.

Например: если нужно отправлять данные в теле запроса, то ключ first_name нужно записать в левое поле, а его значение Владимир следует записать в правое поле.

Блок кода
{
"first_name" : "Владимир"
}

7. ...

Delete

Применяется для удаления данных на сервере. В запросе требуется указать ID изменяемого ресурса. 

Используя этот тип запроса, можно удалять данные о заказе, товаре и т.д.

1. Адрес страницы, с которой работает робот.

2. Значение cookie (если требуется для работы с методом стороннего сервиса).

3. Значение заголовка (если требуется для работы с методом стороннего сервиса).

4. Принудительный синхронный режим (если требуется для работы с методом стороннего сервиса).

Put

Применяется для отправки данных на сервер. В запросе требуется указать ID изменяемого ресурса. 

Используя этот тип запроса, можно сохранять данные о заказе, создавать товар, обновлять данные пользователя и т.д.

1. Адрес страницы, с которой работает робот.

2. Значение cookie (если требуется для работы с методом стороннего сервиса).

3. Значение заголовка (если требуется для работы с методом стороннего сервиса).

4. Принудительный синхронный режим (если требуется для работы с методом стороннего сервиса).

5. Тип передаваемого содержимого. Возможные значения:

  • JSON - данные передаются в формате JSON
  • Form - данные передаются в текстовой форме

6. Позволяет установить порядок указания ключа и значения.

Например: если нужно отправлять данные в теле запроса, то ключ first_name нужно записать в левое поле, а его значение Владимир следует записать в правое поле.

Блок кода
{
"first_name" : "Владимир"
}

7. ...


Типы авторизации:

ТипОписаниеСкриншот
Отсутствует

Данный тип используется, если для работы со страницей не требуется проходить авторизацию (например, если сервис находится в защищенном контуре).

В этом случае требуется:

1. Выбрать тип запроса (см. описание возможных типов запросов выше).

2. Указать адрес страницы.

3. Значение cookie (если требуется для работы с методом стороннего сервиса).

4. Значение заголовка (если требуется для работы с методом стороннего сервиса).

5. Принудительный синхронный режим (если требуется для работы с методом стороннего сервиса).

Логин/Пароль

Данный тип используется, если для работы со страницей требуется выполнить авторизацию по логину и паролю.

В этом случае требуется:

1. Указать логин пользователя.

2. Ввести пароль.

3. Выбрать тип запроса (см. описание возможных типов запросов выше).

4. Указать адрес страницы.

5. Задать значение cookie (если требуется для работы с методом стороннего сервиса).

6. Значение заголовка (если требуется для работы с методом стороннего сервиса).

7. Принудительный синхронный режим (если требуется для работы с методом стороннего сервиса).

Заголовок

Данный тип используется, если для работы со страницей требуется использовать авторизационный токен.

В этом случае требуется:

1. Указать, какую схему авторизации использовать для работы со страницей.

2. Ввести имя ключа.

3. Выбрать тип запроса.

4. Указать адрес страницы.

Пример: Если в заголовке токен передается в ключе Authorization в следующем виде:

Блок кода
Authorization: Bearer t490da279fd42889f56

то в поле Тип авторизации нужно указать Bearer, а в поле Значение Ключа, нужно указать t490da279fd42889f56

5. Значение cookie (если требуется для работы с методом стороннего сервиса).

6. Значение заголовка (если требуется для работы с методом стороннего сервиса).

7. Принудительный синхронный режим (если требуется для работы с методом стороннего сервиса).

* Подробнее о схемах можно ознакомиться в следующей статье.



Раскрыть
titleСвойства стрелки

Свойства:

ОписаниеСкриншот

1. Вспомогательный текст, который позволяет создателю сценария ориентироваться в связях.

2. Тип принятия решения. Переход к следующему блоку скрипта осуществляется при достижении определенного результата запроса (успешен или не успешен) или по умолчанию.


Типы:

ТипОписаниеСкриншот
По умолчаниюДанный тип используется для перехода по ветке, в случае, если условия во всех остальных стрелках данного блока не будут соблюдены.

РезультатУспешно

Переход по ветке будет произведен, если код ответа от сервера совпадет с указанным в свойствах стрелки, и если указанные условия были выполнены.

Результат ответа от сервера будет сохранен в переменную result.

1. ...

2. ...

3. ...

4. ...

5. ...

1. Код ответа, который система будет ожидать после выполнения запроса*.

2. Набор условий, по которым принимается решение.

3. Создание переменной, в которую будет записано значение из ответа от сервера.

Например, мы получили ответ вида:

Блок кода
{
    "success": true,
    "data": {
        "booking_days": {
            "6": [
                2,
                3,
                4,
                5,
                6,
                7,
                8,
                9,
                10,
                11,
                12,
                13,
                14,
                15,
                16,
                17,
                18,
                19,
                20,
                21,
                22,
                23,
                24,
                25,
                26,
                27,
                28,
                29,
                30
            ],
            "7": [
                1,
                2,
                3,
                4
            ]
        },
        "booking_dates": [
            "2022-06-02",
            "2022-06-03",
            "2022-06-04",
            "2022-06-05",
            "2022-06-06",
            "2022-06-07",
            "2022-06-08",
            "2022-06-09",
            "2022-06-10",
            "2022-06-11",
            "2022-06-12",
            "2022-06-13",
            "2022-06-14",
            "2022-06-15",
            "2022-06-16",
            "2022-06-17",
            "2022-06-18",
            "2022-06-19",
            "2022-06-20",
            "2022-06-21",
            "2022-06-22",
            "2022-06-23",
            "2022-06-24",
            "2022-06-25",
            "2022-06-26",
            "2022-06-27",
            "2022-06-28",
            "2022-06-29",
            "2022-06-30",
            "2022-07-01",
            "2022-07-02",
            "2022-07-03",
            "2022-07-04"
        ],
        "working_days": {
            "6": [
                2,
                3,
                4,
                5,
                6,
                7,
                8,
                9,
                10,
                11,
                12,
                13,
                14,
                15,
                16,
                17,
                18,
                19,
                20,
                21,
                22,
                23,
                24,
                25,
                26,
                27,
                28,
                29,
                30
            ],
            "7": [
                1,
                2,
                3
            ]
        },
        "working_dates": [
            "2022-06-02",
            "2022-06-03",
            "2022-06-04",
            "2022-06-05",
            "2022-06-06",
            "2022-06-07",
            "2022-06-08",
            "2022-06-09",
            "2022-06-10",
            "2022-06-11",
            "2022-06-12",
            "2022-06-13",
            "2022-06-14",
            "2022-06-15",
            "2022-06-16",
            "2022-06-17",
            "2022-06-18",
            "2022-06-19",
            "2022-06-20",
            "2022-06-21",
            "2022-06-22",
            "2022-06-23",
            "2022-06-24",
            "2022-06-25",
            "2022-06-26",
            "2022-06-27",
            "2022-06-28",
            "2022-06-29",
            "2022-06-30",
            "2022-07-01",
            "2022-07-02",
            "2022-07-03"
        ]
    },
    "meta": []
} 

Чтобы сохранить второй элемент массива 6 (значение 3) из ключа booking_days, в правое поле нужно записать следующее значение: result.data.booking_days.6.1.

Где:

  • result – тело ответа
  • data – имя объекта в теле ответа
  • booking_days – имя ключа
  • 6 – имя массива
  • 1 – позиция элемента в массиве (начиная с 0)

Чтобы сохранить третий элемент массива 7 (значение 3) из ключа booking_days, в правое поле нужно записать следующее значение: result.data.booking_days.7.2.

Где:

  • result – тело ответа
  • data – имя объекта в теле ответа
  • booking_days – имя ключа
  • 7 – имя массива
  • 2 – позиция элемента в массиве (начиная с 0)

Чтобы сохранить второй элемент из ключа booking_dates (значение 2022-06-03), в правое поле нужно записать следующее значение: result.data.booking_dates.1.

Где:

  • result – тело ответа
  • data – имя объекта в теле ответа
  • booking_dates – имя ключа
  • 1 – позиция элемента в массиве (начиная с 0)
* Подробнее о кодах состояния можно прочесть здесь

Не успешноПереход по ветке будет произведен, если ответ от сервера получить не удалось.






Div
classpage-headline

Блок Арифметика

Якорь
БлокАрифметика
БлокАрифметика


Описание:

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



Раскрыть
titleСвойства блока

Типы:
Арифметическая операция

ОписаниеСкриншот

1. Уникальный идентификатор блока.

2. Тип выбранного блока.

3. Маркер блока - произвольный пользовательский текст, может использоваться в отчетах как маркер посещения (необязателен для заполнения).

4. ...

5. Кнопки добавления арифметических действий в рабочую область и сама рабочая область для составления арифметического выражения*

6. Поле для добавления переменной в рабочую область

7. Поле сохранения результата вычислений. Результат вычислений всегда сохраняется в переменную (обязательно для заполнения)

*Помимо простых арифметических выражений, доступна функция округления результата, для этого необходимо записать выражение в виде: math.round({var},2), где {var} - переменная, число или арифметическое выражение, 2 - точность округления (знаков после запятой.

Примеры:

math.round(1/3,2) - будет произведено деление 1 на 3 и результат будет записан с точностью 2 знака после запятой - 0.33

math.round(1.6666666,0) - число 1.6666666 будет округлено до целого - 2


Примечание
titleВажно!

Один блок поддерживает одно арифметическое выражение в одну строку. Если необходимы последовательные вычисления, то используются последовательно соединенные блоки.

У блока всегда должны быть одна входная и одна выходная стрелки.



Div
classpage-headline

Блок Порядковый выбор

Якорь
БлокПорядковыйВыбор
БлокПорядковыйВыбор

Описание:

Данный блок используется для последовательного перехода по исходящим из него веткам диалога в рамках одной сессии.

Пример: при первом посещении "блока порядковый выбор" будет произведен переход по ветке с порядковым номером "1", при повторном посещении того же самого блока "порядковый выбор", будет произведен переход по ветке диалога с порядковым номером "2", при третьем посещении - по ветке с порядковым номером "3" и т.д.

Раскрыть
titleСвойства блока


ОписаниеСкриншот

1. Уникальный идентификатор блока.

2. Тип выбранного блока.

3. Маркер блока - произвольный пользовательский текст, может использоваться в отчетах как маркер посещения (необязателен для заполнения).



Раскрыть
titleСвойства стрелки

Свойства:

ОписаниеСкриншот

1. Текст стрелки - нередактируемое поле, определяется порядковым номером стрелки

2. Порядковый номер - порядковый номер посещения блока, на основании которого будет выбрана дальнейшая ветка диалога



Примечание
titleТестирование сообщений

Нумерация стрелок должна начинаться с "1" и производиться по порядку. Если не будет доступной стрелки с порядковым номером текущего посещения блока, то будет произведен перевод на оператора.


Div
classpage-headline

Блок Телепорт

Якорь
БлокТелепорт
БлокТелепорт

Описание:

...


Раскрыть
titleСвойства блока


ОписаниеСкриншот

1. Уникальный идентификатор блока.

2. Тип выбранного блока.

3. Маркер блока - произвольный пользовательский текст, может использоваться в отчетах как маркер посещения (необязателен для заполнения).

4. ...

5. ...




Div
classpage-headline

Блок Пустой

Якорь
БлокПустой
БлокПустой

Описание:

...


Раскрыть
titleСвойства блока


ОписаниеСкриншот

1. Уникальный идентификатор блока.

2. Тип выбранного блока.

3. Маркер блока - произвольный пользовательский текст, может использоваться в отчетах как маркер посещения (необязателен для заполнения).



Div
classpage-headline

Блок AI

Якорь
БлокAI
БлокAI

Описание:

...


Раскрыть
titleСвойства блока


ОписаниеСкриншот

1. Уникальный идентификатор блока.

2. Тип выбранного блока.

3. Маркер блока - произвольный пользовательский текст, может использоваться в отчетах как маркер посещения (необязателен для заполнения).

4. ...

5. ...

6. Позволяет загрузить с компьютера аудиозапись для озвучки данного блока живым голосом.

7. Позволяет создать и скачать аудиозапись для озвучки данного блока живым голосом.



...