Связаться с поддержкой:
Связаться с поддержкой
Выберите язык Русский Английский (статья не переведена)

    Переменные и константы в Конструкторе ботов

    Переменная — это хранилище данных с уникальным именем. В переменную можно записать значение и использовать его в сценарии, например для обращения к клиенту по имени.

    Для работы с переменными перейдите в Конструктор ботов. Откройте редактор сценариев, в правом меню нажмите «Переменные».

    В сценариях доступны следующие типы переменных:

    Системные

    Данные в такой переменной появляются в момент получения сообщения от клиента. Системные переменные содержат информацию о диалоге:

    • chat_is_open — статус чата: закрыт — «False» или открыт — «True»;
    • company_id — ID проекта, к которой привязан бот;
    • date — текущая дата в часовом поясе проекта в формате %d.%m.%Y;
    • datetime — текущая дата и время в часовом поясе проекта в формате %d.%m.%Y %H:%M:%S;
    • time — текущее время в часовом поясе проекта в формате %d.%m.%Y %H:%M:%S;
    • day_of_week — день недели в часовом поясе проекта, возможные значения: Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday;
    • day_of_month — день месяца в числовом формате, например, 27;
    • email — почтовый адрес, с которого пришло сообщение;
    • file_in_message — проверка наличия файла в сообщении;
    • file_link — ссылка на файл;
    • file_or_message —  текст сообщения либо ссылка на файл;
    • from_app_id — ID приложения или CRM-системы, из которых пришло сообщение (возможные значения — bitrix, amo, yclients, altegio, null, native, webchat, mobileapp, cabinet, msbot, app_ );
    • from_side — отправитель сообщения, возможные значения: out, in. В некоторых случаях может быть пустое;
    • id_chat — ID диалога с клиентом;
    • license_id — линия, на которую пришло сообщение;
    • link — ссылка на объявление Авито (начиная с https://);
    • message — текст сообщения;
    • messenger_type — канал или email, с которого пришло сообщение. Нужно сделать условие вида messenger_type =  и указать одно из возможных значений: WhatsApp (WhatsApp Business Api), grWhatsApp (WhatsApp WEB), caWhatsApp (WhatsApp Cloud API), viberBot, telegram, telegramBot, avito, vkontakte, instagram, facebook, vkNotify, email, ozon, wildberries, max, maxBot);
    • month_eng — обозначение месяца на английском языке;
    • month_ru — обозначение месяца на русском языке;
    • name — имя клиента (указать как в ChatApp Dialog);
    • name_chat — имя чата, из которого отправили сообщение;
    • outgoing_side — показывает, если последнее сообщение является исходящим;
    • phone — номер телефона, с которого пришло сообщение;
    • quoted_file — ссылка на файл исходного сообщения (если вложение присутствует);
    • quoted_message — текст исходного сообщения, на которое был дан ответ;
    • responsible — ID ответственного за диалог сотрудника;
    • responsible_name — имя ответственного за диалог сотрудника;
    • sender — проверка отправителя: сотрудник или робот. Возможные значения поля sender: employee, system;
    • sender_id — ID пользователя, который отправил сообщение;
    • tag — метка диалога, используется только в блоке «Условие»;
    • telegram_subtype — указание Telegram bot или Telegram Business аккаунт;
    • username — username клиента.

    Важно! Системные переменные нельзя использовать в блоке Входящий Webhook.

    Диалоговые

    Значение такой переменной уникально для каждого диалога. Например, если бот ведет одновременно 2 диалога, изменение диалоговой переменной в одном диалоге не повлияет на значение такой же переменной в другом диалоге. Диалоговую переменную можно создать и изменить. Для этого:

    1. Зайдите в редактор сценариев;
    2. В углу справа нажмите «Переменные»;
    3. Кликните на плюсик или по уже существующей переменной (для изменения ее названия);
    4. Выберите тип данных;
    5. Введите название;
    6. Нажмите «Сохранить».

    Изменить значение диалоговой переменной можно с помощью блока «Изменение переменной».

    Глобальная

    Значение глобальной переменной одно для всех диалогов. Ее можно создать и изменить. Глобальной переменной, например, может быть стоимость товаров в сценарии для онлайн-магазина.

    Для этого:

    1. Зайдите в редактор сценариев;
    2. В углу справа нажмите «Переменные»;
    3. Кликните на плюсик или по уже существующей переменной;
    4. Выберите тип переменной, тип данный и укажите значение;
    5. Нажмите сохранить.

    Изменить значение глобальной переменной можно с помощью блока «Программатор».

    Константа

    Константа — это величина, которая при выполнении сценария остается неизменной. Ее свойства такие же, как у глобальной, но она не может быть изменена в процессе диалога.

    Важно! Константы сохраняются для всего проекта. Они не привязаны к конкретному боту и доступны во всех сценариях проекта.

    Использование переменных в тексте

    В редакторе можно использовать переменные в тексте сообщения. Обозначается переменная двойными скобками {{var}}, а на ее место подставляется значение из переменной. В качестве переменной можно задать любую существующую переменную.

    Использование переменных с блоком «Условие»
    При использовании блока «Условие» в Конструкторе ботов вы можете указать необходимое значение переменных.Разберем на примере переменной «message».Укажите нужные слова в блоке «Условие», при их получении система выполнит заданное для этого условия действие. Однако, если необходимо использовать множество значений переменных, увеличивается размер блока, что может быть неудобно.
    Если значений переменных много, рекомендуем использовать другой способ.

    1. Перейдите в раздел «Переменные» в правом верхнем углу окна и нажмите «+».

    2. В открывшемся окне укажите:

    • «Тип переменной» – «Глобальная»;
    • «Тип данных» – «Строка» или «Целое число»;
    • «Название переменной»;
    • «Значения».

    В раздел «Значения» добавьте необходимые слова или числа: значение переменных через точку с запятой – ;

    3. Нажмите «Сохранить».

    4. Затем добавьте созданную переменную в блок «Условие». Укажите условие: содержит ⊃ или не содержит ∌ {{название переменной}}.

    Так сценарий станет компактнее и управлять значениями будет проще.