Переменная — это хранилище данных, которым можно присваивать определенное значение (текст или число). Система запоминает значение, которое сохранилось в переменной, и затем ее можно использовать в боте.
Пример.
Создаем приветственное сообщение и спрашиваем у человека его имя.
Когда пользователь ввел текст, мы получаем данные с определенным значением и можем использовать их. Так, создаем блок, где обращаемся к человеку по имени, используя переменную %first_name%👇
%first_name% – это и есть переменная, которой бот присвоил значение, введенное пользователем. При этом в диалоге с человеком отобразится значение переменной – имя 👇
Виды переменных
Переменные делятся на виды в зависимости от присваиваемого значения: временные, глобальные, функции.
Временные переменные нужны, чтобы присвоить значение данным в пределах одного скрипта.
Переменная называется %answer% и ее значение соответствует номеру блока в скрипте: %answer_1%, %answer_2%, %answer_3%…
Например, человек проходит тест и мы хотим записать ответы в таблицу. Для этого нужно сохранить переменные в соответствии с блоками, в которых пользователь выбирал вариант или вводил текст в свободной форме.
Глобальные переменные нужны, чтобы присвоить значение данным, которые сохранятся в базу данных конструктора и могут использоваться в пределах всего бота.
Например, если человек ввел свой телефон и бот сохранил его в глобальную переменную %phone%, то значение этой переменной останется в системе и им можно воспользоваться не только в пределах одного скрипта, а в любом месте бота.
Список встроенных глобальных переменных
▸%username% — имя пользователя в мессенджере
▸%first_name% — имя пользователя на платформе
▸%last_name% — фамилия пользователя
▸%city% — город пользователя
▸%email% — email пользователя
▸%phone% — телефон пользователя
▸%photo% — фото пользователя на платформе
▸%show_cart% — содержание корзины
▸%last_purchase% — последняя покупка
▸%utm_source% — значение utm-метки источника трафика
▸%utm_medium% — значение utm-метки типа рекламы
▸%utm_campaign% — значение utm-метки названия рекламной компании
▸%utm_content% — значение utm-метки содержания рекламной компании
▸%utm_term% — значение utm-метки ключевого слова
▸%ref% — параметр для реферальной программы
▸%respondent_id% — индивидуальный номер пользователя
▸%roistat_visit% — идентификатор визита пользователя
▸%score% — баллы
▸%cart_products% — корзина продуктов
▸%department% — подразделение
▸%interes% — интересы
▸%scope% — сфера деятельности
▸%current_date% — текущая дата
▸%current_time% — текущее время
Функции нужны, чтобы присвоить данным значение функции – в переменную запишется результат выполнения функции. Например, сумма нескольких значений (функция sum). Используются для выполнения математических операций.
Список функций
▸=sum(1,2,3); – позволяет рассчитать и получить сумму значений
▸=calc(1*2/3); – позволяет рассчитать значения и получить результат вычислений, основанный на сложении, вычитании, умножении, делении
▸=random(1,2); – позволяет получить случайное значение в диапазоне
▸=random_string(1,2); – позволяет получить значение случайной строки в диапазоне
▸=date_modify(+1 day, %curent_date%, Y-m-d); – позволяет получить значение даты в настоящем, будущем и прошлом
▸=date(%curent_date%, Y-m-d); – позволяет преобразовать дату в необходимый формат
Как вставить переменную
Любая переменная вставляется в поле блока в скрипте. Список всех переменных можно получить, нажав на значок Крестик в текстовом поле блока.
Переменную можно скопировать, если навести курсор и нажать на имя переменной рядом с номером блока.
Как сохранить и создать глобальную переменную
Часть глобальных переменных связана с блоками, которые сохраняют введенные значения в базу данных конструктора.
Блок Имя пользователя – переменная %first_name%
Блок Телефон – переменная %phone%
Блок Еmail – переменная %email%
Чтобы использовать другую встроенную глобальную переменную в разных скриптах и при интеграции, вы можете сохранить ее в конкретном блоке. Когда пользователь введет значение в этот блок, оно сохранится в базе данных конструктора — так же как с блоками Имя пользователя, Телефон, Email.
Например, мы хотим сохранять в базу ответы пользователей о том, чем они увлекаются. Для этого сохраним встроенную переменную – %interes% 👇
Кроме встроенных глобальных переменных, вы можете создать свою. Например, мы хотим сохранять в базу ответы пользователей о том, какими языками они владеют. Для этого создадим и добавим переменную – %language% 👇
❗️Не используйте одинаковые имена для разных переменных.
Как посмотреть переменные в базе данных конструктора
Переменные можно посмотреть в Карточке клиента в разделе Сегменты или Диалоги. Значения глобальных переменных так же сохраняются в таблице пользователей (тип Respondents).
Где использовать переменные + примеры готовых ботов
Используйте переменные для хранения данных, выполнения математических операций, отправки заявок, вывода информации пользователю, маршрутизации сценариев, интеграций бота с другими платформами.
Подобрали несколько бесплатных шаблонов* с разными переменными. Вы можете использовать шаблон в своем проекте или просто посмотреть, как устроены переменные.
*Шаблон – это готовый сценарий бота, который можно скопировать себе в проект. Все шаблоны размещает на маркетплейсе шаблонов.