...
Любая переменная можент быть создана или изменена ботом в любом сценарии. Значение переменной сценария будет потеряно после завершения того сценария, в котором она была создана. Значение переменной диалога будет доступно в любом сценарии в рамках текущего диалога. В новом диалоге эту переменную надо определять заново и ее значение может быть другим. Значение переменной пользователя сохраняется от диалога к диалогу. Если значение переменной пользователя поменяется, то это отразится на всех диалогах.
Ко всем переменным можно обратиться через указание названия переменной в обрамлении фигурными скобками {userSaid}
:
Code Block | ||
---|---|---|
| ||
сообщениеПользователю.сШаблоном("Текст сообщения: {userSaid} - пример обращения к пользовательской переменной в сценарии") + |
Детальнее об определении переменных смотрите в разделе Установка переменных
...
Переменная attachments[] хранит не одно значение, а список значений, при записи новых значений в данную переменная они будут дописаны в конец списка.
Code Block | ||
---|---|---|
| ||
запроситьФайл("Приложите файл").сохранитьРезультат("file")+ - полученные данные перезапишут значение переменной запроситьФайл("Приложите файл").сохранитьРезультат("files[]")+ - полученные данные будут дописаны в список |
...
Порядок выполнения шагов сценария
Anchor
...
Шаг установки создания и установки значения переменной в сценариисценария. Если переменная существовала к моменту вызова шага, то ее старое значение будет затерто новым. При указании значения допускается использование переменных. Созданная таким шагом переменная будет доступна только в рамках текущего сценария.
Code Block | ||
---|---|---|
| ||
установитьПеременную("date", "1 января 1970")+ установитьПеременную("message", "Сегодня на дворе {new_date}")+ |
...
Созданная таким шагом переменная будет доступна только в рамках текущего сценария. Для чтения переменной необходимо вызвать ее по наименованию в фигурных скобках:
Code Block | ||
---|---|---|
| ||
сообщениеПользователю.сШаблоном("Сообщение - {message}") + |
...
установитьПеременнуюВДиалог(*args)
Операция установки переменной для всего текущего диалога. При указании значения допускается использование переменных. Переменная диалога сохраняет свое значение на протяжении всего диалога, может быть создана и прочтена в рамках любого сценария. В новом диалоге переменная по-умолчанию будет отсутствовать. Значение одной переменной в разных диалогах может быть разным.
Может быть использована для хранения информации связанной с контекстом диалога , для - номер заявки, тематика и статус обращения и т.п. Для хранения контекста пользователя в рамках всех диалогов необходимо воспользоваться созданием переменной пользователя.
...
breakoutMode | wide |
---|
...
Для указания переменной диалога необходимо указать следующие поля:
ключ
- название переменной, обязательное полезначение
- значение переменной, может быть заполнено или изменено позднееназвание
- название переменной для ее отображения в боковой панели оператора и истории диалогапоказыватьОператору
- при установке поля вtrue
переменная и ее значение отображаются в боковой панели оператора и истории чатаредактируемое
- при установке поля вtrue
оператор имеет возможность изменять значение переменной непосредственно в боковой панелиобязательное
- при установке поля вtrue
сервис AutoFAQ будет требовать заполнение переменной оператором перед закрытием диалогатип
- тип переменной, список возможных типов см нижемножественныйВыбор
- при установке поля вtrue
для типа переменной “Выпадающий список“ устанавливается возможность множественного выбора элементовварианты
- список возможных вариантов для переменной типа "Выпадающий список" в сеаризованном формате ключ-значение. Поддерживается многоуровневый список вариантов, а так же передача списка вариантов через переменную.
Code Block | ||
---|---|---|
| ||
установитьПеременнуюВДиалог( ключ = "priority", значение = "v1", - является ли обязательнымназвание для= заполнения"Выберите приприоритет закрытиизадачи", диалога, true/false множественныйВыборредактируемое = true, показыватьОператору = true, - можно лиобязательное выбрать= несколькоfalse, вариантов, применимо только для выпадающегомножественныйВыбор списка,= true/false, тип = "Выпадающий список", - тип задаваемой переменной, возможные значения в таблице ниже варианты = "{\"v1\": \"High\", \"v2\": \"Medium\"}" - список возможных значений, применимо только для выпадающего списка, можно задать как с помощью другой переменной, так и напрямую )+ |
Список возможных типов с примерами использования:
Тип | Пример использования | ||||
---|---|---|---|---|---|
Текст |
| ||||
Число |
| ||||
Выпадающий список |
| ||||
Переключатель |
|
Для чтения переменной необходимо вызвать ее по наименованию в фигурных скобках:
Code Block | ||
---|---|---|
| ||
сообщениеПользователю.сШаблоном("Указанный адрес - {textField}") + если("{priority} == |
...
v2").то(...) + |
...
установитьПеременнуюПользователю(*переменная, *значение)
Шаг установки переменной для пользователя. При указании значения допускается использование переменных. Переменная пользователя сохраняет свое значение до тех пор пока не будет очищена. Может быть создана и наполнена в любом сценарии. После создания переменная будет доступна в любом сценарии любого диалога. При указании значения допускается использование переменных.
Можно установить значение одной из фиксированных встроенных переменных пользователя или произвольной переменной в составе payload. Сохранение данных пользователя позволит передавать данные между разными диалогами.
Code Block |
---|
// установка фиксированнойзадание нового значения встроенной переменной установитьПеременнуюПользователю("userEmail", "vasya@mail.ru")+ // установкасоздание произвольной переменной изпользователя в payload пользователя установитьПеременнуюПользователю("userPayload.lastLoginTS", "{nowTimeStamp}")+ |
Для чтения переменной необходимо вызвать ее по наименованию в фигурных скобках:
Code Block | ||
---|---|---|
| ||
сообщениеПользователю.сШаблоном("Адрес пользователя - {userEmail}") + комментарий("Дата последнего обращения - {userPayload.lastLoginTS}") + |
...
Шаги переписки с пользователями
...