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

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

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

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

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

    • системные переменные;
    • диалоговые переменные;
    • глобальные переменные;
    • константы.

    Системные

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

    • Мессенджеры — доступные мессенджеры, используются в блоке «Отправка сообщения *»;
    • Линии — доступные линии, используются в блоке «Отправка сообщения *»;
    • 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);
    • month_eng — обозначение месяца на английском языке;
    • month_ru — обозначение месяца на русском языке;
    • name — имя клиента (указать как в ChatApp Dialog);
    • name_chat — имя чата, из которого отправили сообщение;
    • outgoing_side — показывает, если последнее сообщение является исходящим;
    • phone — номер телефона, с которого пришло сообщение;
    • responsible — ID ответственного за диалог сотрудника;
    • sender — проверка отправителя: сотрудник или робот. Возможные значения поля sender: employee, system;
    • tag — метка диалога, используется только в блоке «Условие»;
    • telegram_subtype — указание Telegram bot или Telegram Business аккаунт;
    • username — username клиента.

    Системные переменные даты и времени можно использовать отдельно от сообщения клиента. Если сообщения от клиента нет, то берутся текущие дата и время зоны GMT+3. Если сообщение от клиента пришло, то из часового пояса проекта.

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

    Диалоговые

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

    Диалоговую переменную можно создать и изменить. Для этого:

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

    Глобальная

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

    Для этого:

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

    Константа

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

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

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

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

    Использование переменных с блоком «Условие»

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

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

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

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

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

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

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

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

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