Переменные — это место, где хранятся данные. Например, в переменную можно сохранить имя пользователя, ответ от сервера, данные из базы товаров и многое другое.
Какие бывают переменные
В Graph есть автоматически генерируемые системные переменные и пользовательские переменные, которые смартап создает в процессе выполнения запроса.
Как создать переменную
Смартап может создать переменную несколькими способами.
Ввод текста, ввод числа и номера телефона
Блоки Ввод текста, Ввод числа и Номер телефона сохраняют ввод пользователя в переменную с тем именем, которое вы задаете при добавлении этих блоков в сценарий.
HTTP запрос
Блок HTTP запрос может сохранять результат запроса к стороннему сервису в указанные при настройке блока переменные.
Интенты
В блоке Интенты можно:
- Выбрать один из готовых интентов, который будет сохранять информацию от пользователя в соответствующую переменную.
- Создать собственный интент с сущностью, которая так же будет сохранять информацию от пользователя в переменную.
Имя переменной
Чтобы смартап мог использовать переменную, переменной нужно имя. Как правило, имя состоит из латинских букв и цифр, без пробелов. Вы придумываете это имя при создании переменной в настройках блока. Например, чтобы сохранить ответ пользователя на какой-то вопрос
Здесь не нужно указывать знак $
перед именем переменной. Он понадобится только когда смартап должен будет обратиться к переменной.
В имени переменной не используйте значения, которые зарезервированы системой: $agree, $disagree, $bad, $bot, $bye, $cannot, $clever, $compliment, $dontKnow, $gender, $good, $hello, $looser, $maybe, $me, $my, $need, $normal, $notNow, $now, $pls, $serviceHelperHuman, $stupid, $super, $sure, $thanks, $turnOff, $turnOn, $what, $why, $email, $smth, $obsceneWord, $continue, $shutUp, $stopGame, $stopGameStrong, $stopGameWeak
Как использовать переменные
В переменную можно сохранить ввод пользователя, а потом передать его на свой сервер. Можно запросить данные с сервера, а потом вывести их на экран. Во всех этих случаях нужны переменные – место, куда можно сохранить данные, а потом их оттуда получить и использовать.
Чтобы использовать ранее созданную переменную, перед ее именем нужно поставить знак $
. В примерах ниже показано, как это выглядит.
Переменные в условиях
Переменные часто используются, чтобы смартап мог менять ход диалога в зависимости от выполнения тех или иных условий. Если, например, смартап должен получить от пользователя какое-то число, а затем в зависимости от ответа смартап должен выдавать разные ответы, то нужно создать в сценарии условие, которое сравнивает переменную с нужными значениями.
Здесь смартап будет получать данные из переменных, поэтому требуется ставить знак $
перед названием.
В зависимости от результатов сравнения, смартап переходит на соответствующий экран.
Подстановка переменных в текст
Можно добавить значение любой переменной в ответ пользователю. Для этого нужно в настройках блока Текст подставить переменные в текст
Здесь в текст подставляется переменная $num
. Смартап автоматически заменит ее на значение переменной при выводе сообщения пользователю.
Подстановка переменных в HTTP запрос
При запросе к стороннему сервису тоже можно использовать переменные, чтобы отправить какие-то данные на сервер или сформировать динамический запрос. Подробнее об этом читайте в описании блока HTTP запрос.