Переменные личного кабинета
Раздел Переменные личного кабинета (ЛК) позволяет устанавливать глобальные константы, которые могут быть вызваны в сниппетах или использоваться напрямую в сценариях, обеспечивая гибкость и удобство управления данными.
Нажмите на пиктограмму личного кабинета.
Выберите пункт меню Переменные.
Особенности переменных:
Константы доступны во всём проекте. Это означает, что они могут быть использованы в любом сценарии или сниппете.
Позволяют хранить данные общего назначения. Например, настройки, статусы, параметры авторизации или флаги состояния.
Имеют фиксированные типы. Переменные могут быть строковыми, числовыми, булевыми (логическими).
Как использовать Переменные ЛК
Рассмотрим упрощённый, но наглядный пример работы с глобальными константами. Допустим, нам нужно проверить возраст клиента, чтобы определить, является ли он совершеннолетним. Например, клиент пишет в чате: "Мне 15 лет".
Для этого в Переменные личного кабинета (ЛК) записываем постоянную константу age = 18, которая обозначает минимальный возраст совершеннолетия.
Далее мы создаем сниппет со следующей логикой, которая:
Извлекает возраст из сообщения клиента.
Проверяет возраст клиента относительно установленного порога: если возраст больше, меньше или равен значению age = 18.
Использует полученное значение для дальнейшей обработки, например: отправляет сообщение клиенту (при необходимости), записывает данные в контекст для использования в сценарии.
Пример кода для сниппета с комментариями:
async function snippet(core = new Core(), context = new Context()) {
// Получаем входящее сообщение
const incomingMessage = context.current.params.text;
// Парсим возраст (ищем числа в сообщении)
const ageMatch = incomingMessage.match(/\b\d+\b/);
if (ageMatch) {
const age = parseInt(ageMatch[0], 10); // Преобразуем строку в число
// Получаем значение глобальной переменной context.age
const globalAge = context.age;
// Проверяем, есть ли клиенту 18 лет
if (age >= globalAge) {
// core.sendText(`Клиент совершеннолетний: ${age} лет.`);
context.set('age', age); // Сохраняем возраст в контекст
} else {
// core.sendText(`Клиент несовершеннолетний: ${age} лет.`);
context.set('age', age); // Сохраняем возраст в контекст
}
} else {
// Если возраст не найден в сообщении
core.sendText('Пожалуйста, укажите ваш возраст.');
}
}
Такой сниппет можно использовать в активном сценарии, в котором будет добавлено условие, переключающее сценарий на нужную ветку — в примере, на "ветку для несовершеннолетних". Например, если клиент указал, что ему меньше 18 лет, можно отправить сообщение: “К сожалению, этот раздел вам недоступен.”
Переменные ЛК можно использовать и напрямую в сценарии (без сниппетов) через реакцию Условие. Для этого достаточно заполнить правило обработки параметра: указать название глобальной константы, способ обработки и тип переменной. Ветка сценария изменится в зависимости от значения константы.
Last updated