Переменные сервиса
В систему добавлена новая сущность - Переменные сервиса. Переменные позволяют хранить общие для всего сервиса данные, которые будут доступны любому сценарию в любом диалоге. Это может быть токен или адрес, значение которого должно быть доступно в нескольких сценариях.
Список переменных сервиса доступен в UI. В разделе Настройки бокового меню добавлен пункт Переменные, по нажатию на который открывается страница со списком всех переменных текущего сервиса.
Создание переменной
Чтобы создать новую переменную сервиса, нужно нажать кнопку “Добавить”. Откроется модальное окно:
При создании переменной необходимо указать:
наименование переменной - по этому названию из сценариев можно будет к ней обратиться;
значение переменной - первичное значение, которое может быть изменено в любом сценарии;
флаг скрытой переменной - значение скрытых переменных не будет отображаться в списке переменных и при редактировании переменной. Получать значение и редактировать такую переменную можно будет только через сценарии.
Редактирование переменной
Отредактировать значение переменной можно и через сценарий, и через интерфейс. В интерфейсе на странице со списком переменных нужно нажать на кнопку-иконку карандаша и откроется модальное окно:
Также можно через интерфейс удалить переменную сервиса, система попросить подтвердить действие.
Работа через язык описания сценариев AutoFAQ
Чтобы обратиться к переменной сервиса, нужно использовать команду получитьПеременнуюСервиса("имя_переменной_сервиса", "имя_переменной_куда_сохранять")
.
Чтобы изменить переменную сервиса, нужно использовать команду изменитьПеременнуюСервиса("имя_переменной_сервиса", "значение_или_имя_переменной_откуда_записать")
.
Пример использования:
сообщениеПользователю.сШаблоном("Запущен сценарий про переменные сервиса.")+
получитьПеременнуюСервиса("shop_id", "temporary")+
сообщениеПользователю.сШаблоном("Сейчас номер магазина по умолчанию - {temporary}")+
задатьПользователюВопрос("Хотите поменять его?").сВариантамиОтвета("Да","Нет").сохранитьРезультат("user_said")+
если("{user_said} == Да").то(
задатьПользователюВопрос("Введите новое значение").сохранитьРезультат("temporary")+
изменитьПеременнуюСервиса("shop_id", "{temporary}")+
получитьПеременнуюСервиса("shop_id", "temporary1")+
сообщениеПользователю.сШаблоном("Значение изменено. Теперь номер магазина - {temporary1}")
)+
если("{user_said} == Нет").то(сообщениеПользователю.сШаблоном("Ок."))+
завершить
Результат выполнения такого сценария: