Переменная
Блок “Переменная” служит для операций с переменными.
Свойства блока содержат поля для выбора переменной и блок настройки для операции «Присвоить». В первом поле через выпадающий список выбирается переменная. Если при нажатии выпадающий список пуст, значит в вашем сценарии нет ни одной переменной. Создайте её в области “Переменные” и после этого возвратитесь к настройкам данного блока.
После указания переменной, в которую будут записаны данные в этом блоке, присвойте ей требуемое значение, вписав его в поле «Присваиваемое значение».
Либо переключитесь на вкладку «Переменную» и выберите другую переменную, значение которой будет присвоено первой Переменной.
Вложенный объект
Настройка «Вложенный объект» служит для извлечения конкретного объекта, если предполагается, что в переменную будет передана некоторая структура данных. Для извлечения нужного объекта используется синтаксис Java Script.
Например, в HTTP-запросе сервер присылает нам следующую структуру данных в переменную answer:
{
"name": "Иван",
"surname": "Иванов"
}
Для того что бы извлечь из всей структуры «Иван», создаем для этого переменную name, выбираем ее в настройках блока Переменная и присваиваем ей переменную answer. А в поле Вложенный объект пишем: name.
Таким образом в переменную name будет сохранено значение Иван.
Примеры использования блока Переменная. Предположим, требуется, что бы после того, как абонент снял трубку, робот сказал: “Привет”. Для этого создадим переменную с любым именем, например “Privet”. После этого, ниже блока “Исходящий вызов” добавим в область конструирования блок “Переменная”, содержащую переменную Privet со значением Привет! и ниже разместим блок проигрывателя, в свойствах которого в поле “Текст” впишем переменную {Privet}.
В результате мы получим сценарий отвечающий заданным требованиям: абонент снимет трубку и робот скажет: “Привет!”.
Пример. Например есть перменная в которую передали значение и из нее нужно выделить информацию:
Значение в переменной:
var1 = {"dateTimeFrom":"26.06.2024", "dateTimeTo":"26.06.2024", "type":"PERIOD"}
Извлечение вложенного обьекта dateTimeFrom из var1:
var = var1.dateTimeFrom
Результат:
var = 26.06.2024
Другой пример применения данного блока в сценарии, когда необходимо, передать выбранное абонентом действие на ваш сервер. Для этого, от блока “Исходящий вызов” проложим блок “Голосовое меню” и зададим ему какой-нибудь набор вариантов действий для абонента. Например, робот говорит “Нажмите клавишу 1, если… Нажмите клавишу 2, если…” и зададим в качестве вариантов ответа для абонента Клавиша 1 и Клавиша 2. Далее, создадим переменную Select и разместим в сценарии два блока “Переменная” по одному для каждой клавиши. В свойствах каждого блока применим переменную Select и для одного блока поставим значение Клавиша 1, а для другого Клавиша 2. После этого соединим каждый блок с соответствующим вариантом блока Голосового Меню и ниже расположим и настроим блок HTTP-запрос, для передачи на сервер вариант ответа, который выбрал абонент.
Вариант использования в массиве. Обработка массива, который приходит, например, из HTTP-запроса:
var1 = { "name":"John",
"age":30,
"cars":[ "Ford", "BMW", "Fiat" ]}
Указать в полях:
- Присваиваемая переменная, например: var1;
- Вложенный объект: cars[1].
Результат: «BMW».
Второй вариант. Записывается и хранится в var1:
[
{
"name":"Ford",
"val":"John",
"price":"1000",
"cars":[ "Ford", "BMW", "Fiat" ]
},
{
"name": "BMW",
"val":"Jack",
"price":"2000",
"cars":[ "Ford", "BMW", "Fiat" ]
},
{
"name": "Fiat",
"val":"Nik",
"price":"3000",
"cars":[ "Ford", "BMW", "Fiat" ]
}
]
Чтобы найти cars «Ford» нужно в полях сценария указать следующее:
var1[0].cars[]
Для этого нужно указать в полях:
- В «Переменная» задать: var1;
- Вложенный объект: [0].cars[0].
Таким образом сформируется элемент массива var1[0].cars[0]
Случайное значение
Если вы хотите чтобы в вашу переменную передавалось какое-то «Случайное значение», то в блоке настройки операции «Присвоить» нужно выбрать одноименную вкладку.
Случайное значение — это значение, которое выбирается из некоторого множества в соответствии с определенным вероятностным распределением.
Например, если интервал задан от 10 до 50, то случайное число будет выбираться из этого интервала таким образом, чтобы оно лежало между этими двумя значениями, включая их.
При генерации случайного числа в определенном диапазоне переменной будет назначено случайное значение в диапазоне от «Минимальное значение» до «Максимальное значение».
Пример сценария при выборе «Случайное значение»: