Установка переменной контекста



Присвоение значения переменной контекста.

Рисунок 3.7 Типы команд. Установка переменной контекста

 

Дополнительные поля команды Установка переменной контекста:

Поле Описание
Код переменной Имя переменной, в которую сохраняется результат операции.

 

 

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

Поле Описание

Формула

Формула Формула на языке C#, результат вычисления которой будет присвоен переменной. В формуле могут использоваться классы C#. При указании формулы необходимо учитывать тип переменных. В частности, строку необходимо указывать в кавычках (например, “текстовое значение’). Примеры: 1. Извлечение из одной переменной значения в другую по маске System.Text.RegularExpressions.Regex.Match("#ВходнаяПеременная#", "(?:error[\s|\D]+)([\d]+)")

Поиск по маске

Формула Формула в формате маски, результат вычисления которой будет присвоен переменной. Для поиска по маске используются следующие значения: · 0 - Цифра, необходимый символ. Этот элемент будет принимать любой цифре от 0 до 9 · 9 - Цифра или пробел, необязательный символ. · L - Буква, необходимый символ. Ограничивающий входные данные ASCII буквы a-z и A-Z. Этот элемент маски аналогичен [a-zA-Z] в регулярных выражениях. · ? - Буква, необязательный символ. Ограничивающий входные данные ASCII буквы a-z и A-Z. Этот элемент маски аналогичен [a-zA-Z]? в регулярных выражениях.

Регулярное выражение

Формула Формула в формате регулярного выражения, результат вычисления которой будет присвоен переменной. Примечание: для разработки и тестирования регулярных выражений рекомендуется использовать сайт https://regexr.com/

XML

Код переменной с XML Имя переменной окружения в формате XML.  
XML Path Путь к данным внутри переменной XML, значение которых будет присвоено переменной. Примечание: для разработки и тестирования запросов выборки данных из JSON рекомендуется использовать утилиту https://www.freeformatter.com/xpath-tester.html 

JSON

Код переменной с JSON Имя переменной окружения в формате JSON.  
Объект JavaScript Путь к данным внутри переменной JSON, значение которых будет присвоено переменной. Примечание: для разработки и тестирования запросов выборки данных из JSON рекомендуется использовать утилиту http://jsonparser.sherlockcrm.ru/ или сайт http://jsonpath.com/. http://jsonparser.sherlockcrm.ru/ предпочтительнее, так как использует библиотеку Sherlock Platform. На сайте http://jsonpath.com/ поддерживается ряд конструкций, которые не примет http://jsonparser.sherlockcrm.ru/

Внешний запрос

Запрос к внешним системам.

  Используется в сложных ботах и в интеграциях.  

Рисунок 3.8 Типы команд. Внешний запрос

Дополнительные поля команды Внешний запрос:

Поле Описание
Подключение к внешнему источнику Выбор из списка реализованных на уровне сервера Sherlock Platform подключений.

Дополнительные поля в зависимости от Вида внешнего запроса:

Поле Описание

SQL запрос

Команда SQL запрос к БД. При формировании запроса могут использоваться переменные контекста

SOAP запрос

URL относительно источника Путь относительно внешнего источника.
Данные Данные, отправляемые на сервер. При формировании запроса могут использоваться переменные контекста

REST запрос

Путь Путь (URL) запроса относительно внешнего источника.
Данные Данные, отправляемые на сервер. При формировании запроса могут использоваться переменные контекста. Данные могут быть в формате JSON или form data.
Метод Метод HTTP запроса. Сейчас поддерживаются методы GET, POST, PUT, DELETE

Результаты выполнения запроса сохраняются в переменные контекста:

1. Для SQL запроса в переменные контекста SQL_ Result и SQL_ RecordCount. Обращаться к ним можно как к обычным переменным контекста, то есть #SQL_Result# и #SQL_RecordCount#.

2. Для SOAP запроса в переменную контекста SOAP_Result. Обращаться к переменной можно как к обычным переменным контекста, то есть #SOAP_Result#.

3. Для REST запроса в переменные контекста REST_Result и REST_StatusCode. Обращаться к переменной можно как к обычным переменным контекста, то есть #REST_Result# и #REST_StatusCode#.

Переход к сценарию

Используется для вызова другого сценария текущего или другого бота

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

Рисунок 3.9 Типы команд. Переход к сценарию

Дополнительные поля команды Переход к теме:

Поле Описание
Бот Выбор бота, к сценарию которого должен быть переход. По умолчанию – текущий бот.
Сценарий Поле выбора сценария бота для перехода из список доступных сценариев бота.
Продолжить сценарий после вызываемого Если да, то сценарий вызывается с возвратом к текущему после вызываемого по аналогии с вызовом процедуры/функции в программировании.
Покинуть диалог Если да, то текущий бот прекращает работу при вызове сценария

 

Вызов пользователя

Используется для подключения к диалогу пользователя.

 

Рисунок 3.10 Типы команд. Вызов пользователя/бота

Дополнительные поля команды Вызов пользователя/бота:

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

Дополнительные поля в зависимости от поля Вызвать пользователя:

Поле Описание

Через очередь

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

Конкретный пользователь

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

 


 

Уведомление

Отправка сообщения на почту через SMTP сервер.

 

Рисунок 3.11 Типы команд. Уведомление

Дополнительные поля команды Уведомление:

Поле Описание
SMTP Сервер Поле выбора SMTP сервера для отправки сообщения из настроенных на уровне сервера Sherlock Platform.
Шаблон заголовка Шаблон заголовка сообщения. Можно использовать переменные контекста.
Шаблон текста Шаблон текста сообщения. Можно использовать переменные контекста.
Уведомлять · Ответственного (ответственного за диалог) · По списку адресов (с дополнительным полем для списка)

 

Таймер

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

 

Используется для ведения диалога в ходе ожидания ответа оператора, запроса оценки через какое-то время после общения и т.п.

Рисунок 3.12 Типы команд. Таймер

 

Дополнительные поля команды Таймер:

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

Дополнительные поля в зависимости от Вида команды:

Поле Описание

Запустить таймер

Пауза Длительность паузы. Число.
Период Размерность длительности паузы. Секунд/Минут/Часов/Дней
Сценарий Сценарий бота, на который будет осуществлён переход по срабатыванию таймера.
Действие при получении сообщения клиента · Ничего · Перезапуск · Остановить (остановка таймера, переход к сценарию не осуществляется)
Действие при получении сообщения клиента · Ничего · Перезапуск · Остановить (остановка таймера, переход к сценарию не осуществляется)
Отправлять не ранее Ограничение запуска сценария временем суток «снизу».
Отправлять не позже Ограничение запуска сценария временем суток «сверху».

Установка свойств запроса

Команда используется для изменения свойств запроса/диалога. В том числе для закрытия текущего запроса.

 

Рисунок 3.13 Типы команд. Установка свойств запроса

Дополнительные поля команды Установка свойств запроса:

Поле Описание
Статус Поле выбора статуса запроса из настроенных в Sherlock Platform.
Оценка для запроса Запись значения в системную переменную контекста Request.REQUEST_GRADE. Обращаться к переменной можно как к обычным переменным контекста, то есть #Request.REQUEST_GRADE#.
Приоритет запроса Установка приоритета запроса для обработки очередью при распределении диалога операторам. · Высокий · Низкий · Средний
Исключить из очереди Флаг исключения из очереди. Если да, то бот исключается из текущей очереди на распределение операторам
Остановка бота Флаг остановки бота. Если да, то бот исключается из диалога после выполнения команды

Список

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

Рисунок 3.13 Типы команд. Список

Дополнительные поля команды Список:

Поле Описание
Код списка Префикс для переменных, в которые будут сохраняться переменные, необходимые для работы списка
Тип источника Источник данных для списка. Дополнительные реквизиты зависят от типа источника и описаны ниже
Количество на странице Указывается количество записей, отражаемых на странице при постраничном выводе. Для вывода всех записей указывается 0
Режим отражения Определяется что отражается в списке: · Только кнопки · Только текст · Текст + кнопки
Шаблон элемента списка Отражается для режимов Только текст и Текст + кнопки. Текст для вывода в чат по каждому элементу списка. Возможно использование переменных контекста с применением синтаксиса: #имя_переменной_контекста# Для доступа к реквизитам списка также используется синтаксис: #имя_столбца_списка#
Шаблон текста кнопки Отражается для режимов Только кнопки и Текст + кнопки. Текст надписи на кнопке по каждому элементу списка. Возможно использование переменных контекста с применением синтаксиса: #имя_переменной_контекста# Для доступа к реквизитам списка также используется синтаксис: #имя_столбца_списка#
Шаблон значения кнопки Отражается для режимов Только кнопки и Текст + кнопки. Значение, направляемое в чат при нажатии на кнопку, по каждому элементу списка. Возможно использование переменных контекста с применением синтаксиса: #имя_переменной_контекста# Для доступа к реквизитам списка также используется синтаксис: #имя_столбца_списка#
Тип кнопки Форма отображения кнопки. Работает в зависимости от канала (ВКонтакте, Telegram и т.д.) · В тексте – кнопка отражается в тексте сообщения. · Клавиатура – копка отражается как дополнительная клавиатура. · Команда – поддерживается Telegram и задает действие, вызываемое вводом текста /command.
Сценарий при выборе элемента списка Сценарий бота, вызываемый по нажатию на кнопку в списке.

Дополнительные поля в зависимости от поля Тип источника:

Поле Описание

Ресурсы

Группа ресурсов Поле выбора группы ресурсов из настроенных в модуле ресурсов Sherlock Platform ресурсов.
Проверить теги Поле для фильтрации ресурсов по тегам.

XML

Переменная контекста Имя переменной окружения в формате XML.  
Запрос XPath Путь к данным внутри переменной XML, значение которых будет присвоено переменной.

JSON

Переменная контекста Имя переменной окружения в формате JSON.  
Запрос JSONPath Путь к данным внутри переменной JSON, значение которых будет присвоено переменной. Примечание: для разработки и тестирования запросов выборки данных из JSON рекомендуется использовать утилиту http://jsonparser.sherlockcrm.ru/ или сайт http://jsonpath.com/. http://jsonparser.sherlockcrm.ru/ предпочтительнее, так как использует библиотеку Sherlock Platform. На сайте http://jsonpath.com/ поддерживается ряд конструкций, которые не примет http://jsonparser.sherlockcrm.ru/

 

Элемент списка

Команда Элемент списка используется в паре с командой Список и позволяет отразить отдельный элемент списка в сценарии, вызванном по кнопке списка

 

Рисунок 3.13 Типы команд. Элемент списка

Дополнительные поля команды Элемент списка:

Поле Описание
Код списка Префикс для переменных, в которые будут сохраняться переменные, необходимые для работы списка
Шаблон элемента Текст для вывода в чат элемента списка. Возможно использование переменных контекста с применением синтаксиса: #имя_переменной_контекста# Для доступа к реквизитам списка также используется синтаксис: #имя_столбца_списка#

 


 

Получение данных

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

Рисунок 3.7 Типы команд. Получение данных

 

Дополнительные поля команды Получение данных:

Поле Описание
Код переменной Имя переменной, в которую сохраняется результат операции.
Сценарий в случае успеха Сценарий, к которому выполняется переход после получения необходимых данных
Проверять ошибки Если да, то полученный текст проверяется в соответствии с заданными правилами
Регулярное выражение Регулярное выражение для проверки полученного текста Примечание: для разработки и тестирования регулярных выражений рекомендуется использовать сайт https://regexr.com/ 
Текст ошибки Если указан, то выводится в чат пользователю после получения ошибочных данных
Сценарий в случае ошибки Сценарий, к которому выполняется переход после получения ошибочных данных

 

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

 


 

Условия применения

Условия применения – это список условий, при которых сценарий или команда срабатывает. Сценарий/команда срабатывает в случае выполнения всех условий применения (логический принцип И).

 

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

Рисунок 3.14 Условие применения

 

Параметры условий в зависимости от Типа проверки:

Поле Описание

Переменная

Реквизит Переменная контекста. Может быть использована как переменная бота, так и системная переменная.
Условие Равно/Не равно/Включает
Значение Значение переменной для проверки условия

Последняя тема

Условие Равно/Не равно/Включает
Значения Выбор из списка имеющихся в боте тем

История сценариев

Условие Равно (совпадает со списком) /Не равно/Включает
Значения Список сценариев с выбором из списка сценариев текущего бота

Формула

Значение Формула на C#.  Условие выполняется в случае, если формула возвращает true.

График работы

Рабочий график Для выбора доступны графики работы, настроенные в Sherlock Platform.
Не рабочее время Флаг. Инвертирует выбранный график работы. Условие срабатывает всегда, кроме выбранного графика работы.

 


Настройка событий бота

Вкладка События

Вкладка События содержит Фильтр событий и Список событий, на которые реагирует бот:

Рисунок 3.15 Окно настройки событий

 

В списке событий можно добавить или удалить событие. События в списке сгруппированы по типам событий. Порядок событий в списке можно менять с помощью Drag&Drop в пределах одного типа события.

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

 


 

Карточка события

Карточка события содержит Общие свойства события и Дополнительные свойства события, зависящие от типа события:

 

Рисунок 3.17 Окно настройки события

Общие свойства события:

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

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

Используется, если в боте несколько событий одного типа. Когда нужно вызвать первую тему из нескольких, подходящую по условиям фильтров.   Пример: Клиент может спросить про регистрацию в личном кабинете или про личный кабинет в целом. В боте есть две темы – одна с пояснениями по регистрации в ЛК, другая переключает диалог в очередь техподдержки по работе в личном кабинете. Делаем два события. Первое, с фильтром *регистр*кабинет*, второе с фильтром *кабинет*. Первое событие с флагом остановки.   Клиент пишет: «Как зарегистрироваться в личном кабинете». Срабатывает первое. И без флага остановки в первом событии сработало бы и второе. С флагом второе событие не сработает, то есть обработка будет выполнена корректно.

 

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

 

Инициализация

Событие срабатывает один раз при старте бота. Дополнительных полей для события Инициализация нет.

Сообщение клиента

Инициируется при получении сообщения от клиента.

 

Рисунок 3.19 Типы событий. Сообщение клиента

Дополнительные свойства события Сообщение клиента:

Поле Описание
Грамматика Вид шаблона для условия срабатывания события. · Простой шаблон · Regular Expression
Шаблон Условие срабатывания события в синтаксисе в соответствии с полем Грамматика. Может быть несколько. В этом случае событие срабатывает в случае выполнения любого условия, то есть по правилу ИЛИ.

Сообщение оператора

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


 

Установка статуса

Инициируется при установке диалогу нового статуса.

Рисунок 3.21 Типы событий. Установка статуса

Дополнительные свойства события Установка статуса:

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

Постановка в очередь

Инициируется при постановке диалога в очередь.

Рисунок 3.22 Типы событий. Постановка в очередь

Дополнительные свойства события Постановка в очередь:


Дата добавления: 2018-09-20; просмотров: 302; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!