Рассмотрим что такое переменные и как их использовать при создании чат ботов на конструкторе 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).
Дальше создаем еще один блок, где благодарим пользователя за предоставленную информацию. В условии перехода в этот блок включим переключатель "Пользователь вводит данные" и в поле "Вводимые данные" напишем "Имя".(Рисунок 2). В нашем случае "Имя" - это как раз и есть переменная, в которую бот запишет имя пользователя. Здесь может быть любое слово как на русском так и на английском языках, в том числе и цифры.
После этого мы можем использовать введенные данные. В следующем блоке мы благодарим пользователя и обращаемся к нему по имени, использую нашу переменную, не забыв при этом добавить скобки и решетку. Выглядит это вот так: Спасибо, #{Имя}!
Теперь давайте усложним задачу. В этом же блоке спросим пользователя, его интересует первичное жилье или вторичное и добавим два блока. Условия перехода в первый блок - это ответ "Первичное", во второй - "Вторичное" (Рисунок 3).
Теперь рассмотрим второй вариант использования переменных: в блоках. Для этого выделим левый блок, нажмем на "Расширенные настройки" и в поле "Назначение переменных при переходе" введем следующий текст: "Клиента_интересует = Первичное жилье". Вписывает это без кавычек (Рисунок 4). В правом блоке соответственно "Клиента_интересует = Вторичное жилье"
Для чего это сделано: при переходе в любой из блоков пользователю присваивается переменная, которую мы сможем использовать при создании заявки.
Дальше в блоках давайте спросим ценовой диапазон для недвижимости. А из этих блоков создадим условие с проверкой введенных данных через встроенную переменную #{question} (в данном случае эта переменная является введенным ответом пользователя) ну и в этих же стрелках давайте назначим введенному числу переменную "Бюджет"(Рисунок 5).
Теперь подробнее о том как это будет работать: встроенная переменная "question" содержит в себе ответ пользователя. Мы берем его ответ и сравниваем. Если введенное им число больше 1 млн, то он переходит вправо, если меньше то влево. Так же мы присвоили ответу нашего пользователя новую переменную и назвали ее "Бюджет", чтобы в итоговой заявке все выглядело понятно и красиво. Теперь сменим тип последних двух блоков на "Конец сбора данных" и посмотрим что получилось (Рисунок 6)
На почту приходит финальная заявка вот в таком виде (Рисунок 7):
Теперь вы умеете использовать переменные как минимум тремя разными способами:
Присваивать введенным пользователем данным названия переменных ("Имя", "Бюджет")
Присваивать название переменной при переходе в блок (Клиента интересует = Первичное жилье)
Сравнивать переменные с ответом пользователя (question >= 1000001)
Переменные можно просмотреть в разделе лиды и по кнопке подробно в меню клиента
По кнопке изменить их можно отредактировать. Каждая переменная с новой строки и отделена от значения символом =
Переменные после "Красного блока"(конец сбора данных) НЕ пропадают.
Чтобы присвоить переменную клиенту, необходимо перед именем переменной клиента использовать префикс клиент. или client.
Например клиент.возраст = 28
или client.возраст = 28
Переменные клиента используются идентично обычным.
Общие переменные доступны всем пользователям бота. С их помощью можно управлять ботом или взаимодействовать клиентам между собой. Например, один клиент размещает объявление, все его видят и кто-то на него откликается.
Переменные после "Красного блока"(конец сбора данных) НЕ пропадают.
Записать переменную можно используя префикс, например: проект.количетво_обращений = 28
или project.возраст = 28
Использовать их уже можно без префикса.
Редактируются общие переменные в настройках проекта:
Для примера сделаем систему присвоение номера по порядку клиенту.
Первоначально в общую переменную запишем 0, что означает нет клиентов в боте.
Далее в стартовом блоке бота приплюсовывать единицу и приставить число клиенту.
Не забудьте установить ограничение, чтобы одному клинету нельзя было дважды прибавить счетчик.
Максимальная длина названия переменной: 500 Максимальная длина переменной: 50000 Максимальное количество переменных у клиента или сделки: 1000