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

Как работать с переменными

Рассмотрим что такое переменные и как их использовать при создании чат ботов на конструкторе Salebot.
Переменная - это текст, на который система заменяет вводимые пользователем данные. В конструкторе есть не только встроенные переменные. Вы так же сами можете задавать их название и использовать для своих целей в боте.
конструкция #{} заменяется на значение переменной. Рекомендуется использовать для вставки значения переменной в текст.
В поле "Калькулятор", чтобы обратиться к переменной, не нужно использовать #{}
Переменная может начинаться только с буквы, с цифры нельзя

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

В настройках соединения в поле Переменная для сравнения введите:
client_type == 3 переход, если значение переменной равно 3 attachments != None переход, если значение переменной заполнено любым содержимым attachments == None переход, если значение переменной не задано количество_товара >= 100 переход, если количество товара больше или равно 100 количество_товара <= 100 переход, если количество товара меньше или равно 100
Конструктор понимает вложенные переменные, где значение одной переменной входит в имя переменной другой. Например: #{q#{test#{i}}}

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

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

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

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

Значения client_type

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

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

Дополнительно к встроенным переменным, в ходе работы бота, могут появляться переменные, указанные ниже. Вы их можете использовать в процессе создания бота. Эти переменные появляются автоматически. Ниже перечислены те, которые могут быть вам полезны.
Дополнительные служебные переменные вы можете увидеть в документации. Они расположены в тех разделах, к которым имеют отношение.
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).
Теперь подробнее о том как это будет работать: встроенная переменная "question" содержит в себе ответ пользователя. Мы берем его ответ и сравниваем. Если введенное им число больше 1 млн, то он переходит вправо, если меньше то влево. Так же мы присвоили ответу нашего пользователя новую переменную и назвали ее "Бюджет", чтобы в итоговой заявке все выглядело понятно и красиво. Теперь сменим тип последних двух блоков на "Конец сбора данных" и посмотрим что получилось (Рисунок 6)
Рисунок 6
На почту приходит финальная заявка вот в таком виде (Рисунок 7):
Рисунок 7
Теперь вы умеете использовать переменные как минимум тремя разными способами:
  1. 1.
    Присваивать введенным пользователем данным названия переменных ("Имя", "Бюджет")
  2. 2.
    Присваивать название переменной при переходе в блок (Клиента интересует = Первичное жилье)
  3. 3.
    Сравнивать переменные с ответом пользователя (question >= 1000001)

Как посмотреть переменные

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

Какие задать переменные клиента

Переменные после "Красного блока"(конец сбора данных) НЕ пропадают.
Например клиент.возраст = 28 или client.возраст = 28
Переменные клиента используются идентично обычным.
Сохранение в переменные клиента с поля ввода

Как присвоить переменную клиенту

Чтобы присвоить переменную клиенту, необходимо перед именем переменной клиента использовать префикс клиент. или client.
Или можно воспользоваться методом
set_client_var(client_id, variable, value)
где client_id — id клиента в Сейлбот
variable — название переменной, которая будет присваиваться
value — значение этой переменной
В нужном блоке размещаете его в поле "Калькулятор", заполняя параметры variable и value.
Пример:
set_client_var(client_id, "novoe", "да")

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

Для сохранения нескольких переменных можно использовать метод set_client_vars(client_id, variables_dict), где client_id — id клиента в Сейлбот variables_dict — словарь, содержащий названия всех добавляемых переменных и их значения. В нужном блоке размещаете его в поле "Калькулятор", заполняя параметры variables_dict.
Пример: set_client_vars(1136, '{"var_name1": "var_value1", "var_name2": "var_value2", "var_name3": "var_value3"}')
Присвоение нескольких переменных клиенту
Раздел переменные в карточке клиента

Как задать общие переменные

Общие переменные доступны всем пользователям бота. С их помощью можно управлять ботом или взаимодействовать клиентам между собой. Например, один клиент размещает объявление, все его видят и кто-то на него откликается.
Переменные после "Красного блока"(конец сбора данных) НЕ пропадают.
Записать переменную можно используя префикс, например: проект.количетво_обращений = 28 или project.возраст = 28
Использовать их уже можно без префикса.
Редактируются общие переменные в настройках проекта:

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

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

Как задать константные переменные

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

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

В качестве примера представим, что скидка для нового клиента по умолчанию 10%, но если ввести промокод - становится 25%.
В Настройки - Редактирование проекта - Константы проекта запишем Скидка : 10. Если необходимо вводить много переменных, удобно выбрать “Старый стиль” и вводить через равно каждую с новой строки.
Для ввода промокода добавим блок “Не состояние с условием”, где присвоим переменной "Скидка" значение 25.
Таким образом переменная "Скидка" для данного клиента после введения промокода стала равна 25.

Лимиты

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