ТОП-5 переменных в Smartbot Pro
Рассказываем, чем полезны в сценариях и как настроить

Чем полезны переменные
Переменные в Smartbot Pro — это «ячейки», в которых хранятся данные. Например, текст, число или файл.

С помощью переменных можно:
- собирать и хранить информацию о пользователях бота: текст сообщения, телефон, количество заказов, источник перехода и другие данные;
- сегментировать аудиторию и персонализировать контент: разделить подписчиков на группы, сформировать индивидуальные предложения, добавить имя и процент скидки в рассылку;
- ставить условия: если %тип_клиента% = новый → предложить регистрацию в программе лояльности;
- выполнять математические операции: например, начислить бонусы и вывести баланс пользователю;
- автоматизировать работу с данными: получить из таблицы или CRM-системы и отправить менеджеру.
Переменные помогают расширить возможности чат-бота, настроить логику сценария в зависимости от действий пользователей и сократить рутину. Например, менеджерам не нужно вносить данные в таблицу, вручную менять текст в рассылке или следить, когда заканчивается акция. Все эти функции можно настроить в сценарии бота.
Классификация переменных в Smartbot Pro
В конструкторе есть три группы переменных:
1. Специальные. Это встроенные переменные, которые нельзя изменить или удалить.
Несколько примеров:
%message_text% — текст сообщения пользователя;
%weekday% — день недели;
%product_price% — стоимость товара в рублях;
%shopback_data% — данные о заказе пользователе в Telegram-магазине;
%leaderboard% — рейтинг пользователей.
В Smartbot Pro более 50 специальных переменных. Они срабатывают автоматически, когда сценарий выполняется. Например, сохраняют ID пользователя из Telegram или ВКонтакте.
2. Пользовательские. Это кастомные переменные, которые можно создавать и настраивать самостоятельно.
Например, сделать счётчик бонусов в программе лояльности, посчитать количество заказов или добавить клиенту статус: новый, лояльный, сомневающийся. Для каждого пользователя значение переменной будет индивидуальным.
3. Глобальные. Переменные, которые хранят одинаковое значение для всех подписчиков бота.
Пример: пользовательская переменная считает заказы одного клиента, а глобальная — всех покупателей.
Как создать переменную в Smartbot Pro
В сценарии выберите в верхнем меню раздел «Переменные». Нажмите кнопку «Добавить». В открывшемся окне напишите название и укажите уровень доступа — это группа, в которой будет новая переменная: пользовательская или глобальная.
Выберите тип переменной — он зависит от формата данных, которые вам нужно сохранить.
Вложение: подходит для файлов — изображения, аудиозаписи, документы.
Строка: текст, индивидуальный код. Например, имя, город, сообщение пользователя.
Число: цифры, с которыми можно выполнять математические операции — месяц, количество бонусов, ID поста ВКонтакте.
Флаг: хранит значения только в формате «да» / «нет. Например, оформлял ли пользователь заказы.
Массив: переменная, в которой данные хранятся в формате списка. Например, сборник промокодов: ["SALE2025", "BONUS50", "WELCOME"].
Словарь: пары данных ключ + значение. Например, товар и его цена: {"Бургер": 100, "Картошка фри": 50, "Молочный коктейль": 70}.
Функция: формула или правило, по которым бот выполнит действие. Например, будет склонять слова: 1 бонус, 5 бонусов.
Дата / Дата и время: переменная позволяет прибавить или вычесть дни, часы, минуты и секунды от определённой даты. Например, отправить клиенту промокод за пять дней до дня рождения и напомнить о скидке через неделю после.

Дальше приводим пять примеров переменных, которые часто используют в сценариях, и рассказываем, как их настроить.
1. %public_api_data%
Переменная позволяет подключить Smartbot Pro к внешним системам для обмена данными и запуска сценария. Например, когда клиент сделает заказ на сайте, бот может отправлять ему уведомления о статусе.
Группа: специальные.
Тип: словарь.
Как настроить: перейдите в сценарий и в меню выберите раздел «События» →Webhook.

Нажмите на блок и в меню с настройками создайте токен.

Напишите название — это может быть любой набор символов. Уровень доступа выбран автоматически, изменять это поле не нужно.

Вернитесь в меню настроек, выберите токен и канал. Система автоматически создаст URL и POST-запрос.

В теле запроса укажите peer_id — это ID чата, в который будет отправлено сообщение от бота. В поле «data» напишите данные, которые хотите передавать в бот. Например, имя и фамилию клиента, состав и номер заказа: { "Имя": "Григорий", "Фамилия": "Иванов", "Номер заказа": 432256, "Состав": { "Пирожное": 3, "Мороженое": 1 }}. Скопируйте указанный URL и отправьте на него POST-запрос.
Добавьте следующий блок сценария. В нашем примере это будет «Отправить сообщение». Чтобы структурировать текст, в меню настроек напишите команду: {{ %public_api_data% | pretty }}. Это позволит выводить данные в формате списка.

2. %ref%
Переменная позволяет отслеживать источники перехода в бот, чтобы понять, какие каналы привлекают больше пользователей. Вы сможете анализировать данные по трафику и оптимизировать бюджет на маркетинг.
Группа: специальные.
Тип: строка.
Как настроить: в ссылку на Telegram-бот добавьте параметр ?start и источник трафика. Например, reklama, blog, channel. Для сообщества ВКонтакте вместо ?start укажите параметр ?ref.
Пример готовой ссылки: https://t.me/TestTesttesti?start=reklama
Чтобы отслеживать источники перехода, зайдите в раздел «Пользователи» и добавьте переменную.

Теперь вы будете видеть, откуда пришли подписчики бота.
.png)
Переменную %ref% можно использовать для сегментации аудитории. Допустим, тем, кто пришёл с Telegram-канала, давать скидку в 5%, а для трафика с рекламы — 10%.
Как настроить сценарий для каждой группы пользователей: в блоке «Первое сообщение и старт бота» нажмите на кнопку «Условие на ref». Добавьте источник перехода.

Выберите следующий блок и настройте его. Например, бот отправит сообщение с приветствием и размером скидки.

Также настройте блок «Первое сообщение и старт бота» для другого источника.
3. %счётчик_бонусов%
С помощью переменной можно начислять и списывать бонусы в боте.
Группа: пользовательские.
Тип: число.
Как настроить: для примера возьмём такой сценарий — за регистрацию в программе лояльности бот начислит клиенту 500 бонусов.
Создайте пользовательскую переменную с типом «Число» и укажите начальное значение. В нашем случае это 0.

Теперь нужно добавить переменную в сценарий. В разделе «Действия» выберите блок «Установить переменную». В меню настроек нажмите на кнопку «Операции с числами».
В выпадающем списке и после знака = укажите переменную, которую создали. Добавьте количество бонусов.

Второй способ добавить переменную в сценарий — это блок «Выполнить SmartQuery». В меню настроек напишите такую команду: %бонусы% += 500.

SmartQuery — скриптовый язык программирования, который позволяет расширить возможности цепочек в Smartbot. Например, можно создавать сложные условия с операторами И/ИЛИ, работать с массивами и словарями.
4. %datetime%
С помощью переменной можно проводить операции с текущей датой и временем. Например, у вас проходит акция, которая заканчивается в воскресенье в 20:00. Бот проверит это условие и запустит соответствующую цепочку в ответ на сообщение пользователя.
Группа: специальные.
Тип: дата и время.
Как настроить: создайте глобальную переменную с типом «Дата и время». В ней укажите, когда закончится акция.

Перейдите в сценарий, добавьте блок «Условие» и настройте его: нажмите на кнопку «Условие на переменную», затем в поле ЕСЛИ выберите %datetime%, а в строке «Дата» — глобальную переменную, которую вы создали. Поставьте между ними знак >.

Добавьте следующие шаги. Например, если текущая дата и время больше, чем значение глобальной переменной %stop_sale%, бот сообщит об окончании акции. Если меньше — отправит сообщение с условиями.

Вы можете отображать дату в разных форматах. Например, 3.08 или 3 августа, воскресенье. Подробная инструкция есть в документации.
5. %склонение%
Переменная позволяет автоматически склонять слова в тексте сообщения. Например, 1 бонус, 2 бонуса, 10 бонусов. Это поможет сэкономить время на настройке сценария: вместо того чтобы писать текст вручную, можно просто добавить переменную.
Группа: глобальные.
Тип: функция.
Как настроить: создайте переменную, напишите название и в поле «Значение» внесите следующую формулу:
(bonus,_) => ("бонус" if (bonus == 1 or str(bonus).endswith("1")) else "бонуса" if (bonus in [2,3,4] or str(bonus).endswith("2") or str(bonus).endswith("3") or str(bonus).endswith("4")) else "бонусов")

Это готовое правило, которое используют разработчики Smartbot. Вы можете менять слово, которое нужно склонять. Например, вместо «бонус» написать в формуле «балл».
В настройках блока «Отправить сообщение» напишите формулу: %бонусы% {{ %склонение_бонусов%(%бонусы%) }}. Это пример, используйте названия переменных, которые вы создавали.

Теперь в боте автоматически будет корректное склонение слов.
Используйте переменные, чтобы улучшить пользовательский опыт и собирать ботов быстрее. Если есть вопросы, пишите в техподдержку через форму на сайте — всегда поможем.