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 e-mail 14

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

Дополнительно к встроенным переменным, в ходе работы бота, могут появляться переменные, указанные ниже. Вы их можете использовать в процессе создания бота. Эти переменные появляются автоматически. Ниже перечислены те, которые могут быть вам полезны.
Дополнительные служебные переменные вы можете увидеть в документации. Они расположены в тех разделах, к которым имеют отношение.
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
Copy link
On this page
Как работать с переменными
Как сравнивать значения переменных?
Как удалить переменную из бота?
Встроенные переменные
Значения client_type
Служебные переменные
Как использовать переменные
Как посмотреть переменные
Какие задать переменные клиента
Как присвоить переменную клиенту
Как присвоить несколько переменных клиенту
Как задать общие переменные
Пример использования общих переменных
Как задать константные переменные
Пример использования константных переменных
Лимиты