Переменные

Статья рассказывает о переменных в системе, как их использовать, где их можно использовать. Продемонстрирует результат их работы

Работа с переменными

Рассмотрим что такое переменные и как их использовать при создании чат ботов на конструкторе Salebot.

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

конструкция #{} заменяется на значение переменной. Рекомендуется использовать для вставки значения переменной в текст.

В поле "Назначение переменных при переходе", чтобы обратиться к переменной, не нужно использовать #{}

Как сравнивать значения переменных?

В настройках соединения в поле Переменная для сравнения введите:

client_type == 3 переход, если значение переменной равно 3 attachments != None переход, если значение переменной заполнено любым содержимым attachments == None переход, если значение переменной не задано количество_товара >= 100 переход, если количество товара больше или равно 100 количество_товара <= 100 переход, если количество товара меньше или равно 100

Конструткор понимает вложенные переменные, где значение одной переменной входит в имя переменной другой. Например: #{q#{test#{i}}}

Как удалить переменную из бота?

Для удаления переменной (очищения) в поле Назначение переменных при переходе введите одно из двух: Название_вашей_переменной = Название_вашей_переменной = ""

После знака = либо пробел, либо двойные кавычки.

Встроенные переменные

Итак, вот список встроенных переменных: #{client_id} - id клиента в конструкторе. Он передается в вызовы API. #{messenger} - название мессенджера, откуда пришел клиент #{name} - имя собеседника #{full_name} - имя и фамилия собеседника #{custom_answer} - ответ, полученный с сервера, указанного в поле 'URL для ответа с сервера' #{wa_bot} - номер Whatsapp, на который написал пользователь (удобно передавать его в поля СРМ, чтобы распределять заявки между менеджерами) #{vk_id} - клиента в мессенджере, не только вконтакте. Название сложилось исторически. #{question} - сообщение пользователя #{attachments} - url вложений к сообщению пользователя в формате JSON массива #{order} - содержимое заявки, созданной пользователем #{order_id} - идентификатор заявки(идентификатор клиента и внутренний идентификатор заявки через дефис) #{none} - проигнорировать сообщение #{} - внутрь скобок вы можете указать название поля ввода из соединения #{current_date} - текущая дата в формате dd.mm.yyyy #{date_of_creation} - дата, когда человек был добавлен в бота или написал ему первый раз #{next_day} - завтрашняя дата в формате dd.mm.yyyy. Удобно для отправки сообщения завтра. #{message_id} - текущее состояние диалога с клиентом. Идентификатор состояния. По умолчанию NONE. #{current_time} - московское время в формате hh:mm #{weekday} - день недели в виде числа, понедельник - 1, вторник -2 #{attachment_url} - в этой переменной содержится ссылка на вложение #{client_type} - тип мессенджера, откуда пришел клиент. В переменной просто число. Принимает значения:

для вконтакте 0 для телеграмма 1 для вайбера 2 для фейсбука 3 для толкми 4 для онлайн чата 5 в вотсапе 6 в авито 7 в одноклассниках 8 в инстаграм 10

Раньше конструктор работал только с ВКонтакте, поэтому переменная #{vk_id} так называется, по факту там внутренний идентификатор любого мессенджера, присвоенный клиенту.

Служебные переменные

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

Дополнительные служебные переменные вы можете увидеть в документации. Они расположены в тех разделах, к которым имеют отношение.

amo_client_id - идентификатор клиента в амо amo_lead_id - идентификатор лида в амо amo_unsorted_id - идентификатор неразобранного в амо

avito_profile - ссылка на профиль покупателя в Avito avito_order_id - идентификатор объявления avito_order_url - ссылка на объявление в Avito

bitrix_lead_id - идентификатор лида в битрикс bitrix_deal_id - идентификатор сделки в битрикс

phone - номер телефона

notSubscribed - если переменная разна 1, то клиент отписался от сообщений и ни одно сообщение ему не будет отправлено clientBlocked - клиент заблокирован и бот для него не работает story_url - идентификатор сторис, на который ответил клиент в Instagram ok_user_id - идентификатор пользователи в Одноклассниках viewed_page - страница, с которой человек пишет в онлайн-чат wa_bot - номер телефона бота, на который написал

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

Переменные можно использовать в условиях, заявках, ответах пользователю, блоках и т.д. Давайте рассмотрим конкретный пример при создании воронки для агентства недвижимости.

Итак, создадим приветственное сообщение и через 1 секунду спросим пользователя как его зовут (Рисунок 1).

Рисунок 1

Дальше создаем еще один блок, где благодарим пользователя за предоставленную информацию. В условии перехода в этот блок включим переключатель "Пользователь вводит данные" и в поле "Вводимые данные" напишем "Имя".(Рисунок 2). В нашем случае "Имя" - это как раз и есть переменная, в которую бот запишет имя пользователя. Здесь может быть любое слово как на русском так и на английском языках, в том числе и цифры.

Рисунок 2

После этого мы можем использовать введенные данные. В следующем блоке мы благодарим пользователя и обращаемся к нему по имени, использую нашу переменную, не забыв при этом добавить скобки и решетку. Выглядит это вот так: Спасибо, #{Имя}!

Теперь давайте усложним задачу. В этом же блоке спросим пользователя, его интересует первичное жилье или вторичное и добавим два блока. Условия перехода в первый блок - это ответ "Первичное", во второй - "Вторичное" (Рисунок 3).

Рисунок 3

Теперь рассмотрим второй вариант использования переменных: в блоках. Для этого выделим левый блок, нажмем на "Расширенные настройки" и в поле "Назначение переменных при переходе" введем следующий текст: "Клиента_интересует = Первичное жилье". Вписывает это без кавычек (Рисунок 4). В правом блоке соответственно "Клиента_интересует = Вторичное жилье"

Рисунок 4

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

Дальше в блоках давайте спросим ценовой диапазон для недвижимости. А из этих блоков создадим условие с проверкой введенных данных через встроенную переменную #{question} (в данном случае эта переменная является введенным ответом пользователя) ну и в этих же стрелках давайте назначим введенному числу переменную "Бюджет"(Рисунок 5).

Рисунок 5

Теперь подробнее о том как это будет работать: встроенная переменная "question" содержит в себе ответ пользователя. Мы берем его ответ и сравниваем. Если введенное им число больше 1 млн, то он переходит вправо, если меньше то влево. Так же мы присвоили ответу нашего пользователя новую переменную и назвали ее "Бюджет", чтобы в итоговой заявке все выглядело понятно и красиво. Теперь сменим тип последних двух блоков на "Конец сбора данных" и посмотрим что получилось (Рисунок 6)

Рисунок 6

На почту приходит финальная заявка вот в таком виде (Рисунок 7):

Рисунок 7

Теперь вы умеете использовать переменные как минимум тремя разными способами:

  1. Присваивать введенным пользователем данным названия переменных ("Имя", "Бюджет")

  2. Присваивать название переменной при переходе в блок (Клиента интересует = Первичное жилье)

  3. Сравнивать переменные с ответом пользователя (question >= 1000001)

Просмотр переменных

Переменные можно просмотреть в разделе лиды и по кнопке подробно в меню клиента

По кнопке изменить их можно отредактировать. Каждая переменная с новой строки и отделена от значения символом =

Переменные клиента

Переменные после "Красного блока"(конец сбора данных) НЕ пропадают.

Чтобы присвоить переменную клиенту, необходимо перед именем переменной клиента использовать префикс клиент. или client.

Например клиент.возраст = 28 или client.возраст = 28

Переменные клиента используются идентично обычным.

Созранение в переменные клиента с поля ввода

Общие переменные

Общие переменные доступны всем пользователям бота. С их помощью можно управлять ботом или взаимодействовать клиентам между собой. Например, один клиент размещает объявление, все его видят и кто-то на него откликается.

Переменные после "Красного блока"(конец сбора данных) НЕ пропадают.

Записать переменную можно используя префикс, например: проект.количетво_обращений = 28 или project.возраст = 28

Использовать их уже можно без префикса.

Редактируются общие переменные в настройках проекта:

Пример использования общих переменных

Для примера сделаем систему присвоение номера по порядку клиенту.

Первоначально в общую переменную запишем 0, что означает нет клиентов в боте.

Далее в стартовом блоке бота приплюсовывать единицу и приставить число клиенту.

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

Лимиты

Максимальная длина названия переменной: 500 Максимальная длина переменной: 50000 Максимальное количество переменных у клиента или сделки: 1000