8 (499) 350-92-78 boris@borisbot.com
Все статьи

Блоки конструктора

мануалы
Блоки конструктора — это основные элементы, их которых строится сценарий бота. Блоки делятся на Событийные, Диалоговые и Операции. Событийные — запускают скрипт, Диалоговые — позволяют настраивать коммуникации. Операции — помогают работать с данными.

В этой статье расскажем о функциональности каждого блока. Также в конструкторе вы найдете подсказки с аналогичным описанием. 

Диалоговые блоки

▶︎ Таймаут
Отправляет сообщения, на которые не ожидается ответа. После задержки в секундах переходит к следующему блоку. Можно добавить фото, видео или iframe (для браузера).

▶︎ Кнопки
Отправляет сообщение с кнопками. Вы можете строить разные сценарии от каждой кнопки. Если добавить достройку Выполнить действие: Набрать номер, Перейти на сайт, Добавить в корзину, то кнопка выполнит эти действия.

▶︎ Динамические кнопки
Если в кнопку добавить переменную с массивом, полученную из таблицы, то можно формировать кнопки на основании данных этого массива. При клике на кнопку вы будете получать выбранный элемент массива, с помощью этой механики удобно создавать личные кабинеты.

▶︎ Открытый текст
Отправляет сообщение с полем ввода, где пользователь может ввести любой текст.

▶︎ Предсказуемый вопрос
Отправляет сообщение с полем для ввода текста

В настройке блока укажите варианты ответов (пользователь их не увидит) и с помощью шкалы определите точность совпадений с этими ответами. Блок будет анализировать, насколько текст пользователя совпадает с вашими вариантам.
▸ При точности совпадений 85% (в длинном слове можно сделать 2 ошибки) бот примет ответ.
▸ Если текст пользователя не соответствует никакому варианту, то скрипт пойдет по сценарию для неправильного ответа.

▶︎ Кнопки (multiple)
Отправляет сообщение с кнопками для выбора одного и более вариантов ответа

▸ В web-версии бота ответы выводятся в теле блока, а кнопки нумеруются последовательно; в мессенджере ответы отображаются на кнопках. Кнопка Продолжить нужна, чтобы перейти к следующему блоку.  
▸ Этот блок не предполагает достройку разных сценариев в зависимости от выбора кнопки. Его удобно использовать для проверки знаний и сохранения нескольких вариантов ответа. К каждой кнопке можно добавить Действие (например, начислять баллы за правильные ответы). 
▸ Чтобы направить сценарий по разным веткам, используйте блок Маршрутизатор, где укажите ответы через запятую. 
▶︎ Число
Отправляет сообщение с полем для ввода любых чисел. Если введены цифры, срабатывает нижний переход; если введены не цифры — сценарий Неверный ввод

▶︎ Дата
Отправляет сообщение с полем для ввода даты в формате дд/мм/гггг. Можно ввести вручную или использовать календарь. Если введена дата, срабатывает нижний переход;  если введена не дата — сценарий Неверный ввод.

▶︎ Имя пользователя
Отправляет сообщение с полем для ввода имени. Введенное значение автоматически сохраняется в базу данных конструктора и соответствует глобальной переменной %first_name% — можно добавить в текст, чтобы обратиться к пользователю по имени. 

▶︎ Телефон
Отправляет сообщение с полем для ввода мобильного телефона. Если введен телефон, срабатывает нижний переход; если введен не телефон — сценарий Неверный ввод. Значение блока автоматически сохраняется в базу данных конструктора и соответствует глобальной переменной %phone%.

▶︎ Email
Отправляет сообщение с полем для ввода электронной почты. Если введена электронная почта, срабатывает нижний переход; если введена не электронная почта — сценарий Неверный ввод. Значение из этого блока автоматически сохраняется в базу данных конструктора и соответствует глобальной переменной %email%.

▶︎ Оценка
Отправляет сообщение с кнопками в виде эмодзи для оценки. Вы можете продолжить сценарий от каждой кнопки. Например, сделать переход от негативных вариантов ответа к блоку Открытый текст, чтобы пользователь указал причину низкой оценки.

▶︎ Файл
Отправляет сообщение, в ответ на которое пользователь прикрепляет файл. 
В настройке блока выберите тип файла: Изображение, Документ, Аудиофайл и др. Если прикреплен файл выбранного типа, срабатывает нижний переход; если прикреплен файл другого типа — сценарий Неверный ввод. Важно, что файлы могут быстро заполнить ваше хранилище, поэтому лишние файлы лучше удалять с помощью таблицы с файлами; инструкция здесь.  


▶︎ Сохранение контакта
Отправляет сообщение с кнопками для выбора канала общения. Работает только в браузере, в мессенджерах не отображается. 

▸ В настройке блока включите каналы, где планируете вести диалог: Telegram, WhatsApp, ВКонтакте и пр. Они будут активны после подключения в разделе Настройки
▸ Также в блоке можно добавить опции email и/или телефон — бот отправит поле для ввода этих данных; в результате пользователь не сможет выбрать канал, пока не введет email и/или телефон. Затем в один клик перейдет в мессенджер и диалог продолжится. Введенные телефон или email сохраняются в базе данных конструктора. 
▸ Блок удобно использовать для сохранения лидов. 
Важно! Если пользователь пришел из разных браузеров и оставил свой контакт или перешел в один и тот же мессенджер, то в системе это будет один и тот же пользователь. 


▶︎ Рекомендовать друзьям
Формирует ссылку для репоста, чтобы поделиться с друзьями. 

▸ В настройке блока добавьте текст и ссылку, которые нужно разместить в репосте, и выберите каналы: Telegram, WhatsApp, ВКонтакте и пр. Пользователь нажимает на иконку и переходит в канал, где может поделиться контентом с друзьями. 
▸ Этот блок можно использовать для реферальных программ, если в поле со ссылкой для репоста подставлять переменную пользователя (телефон или ID), который проходит скрипт. В этом случае пользователь будет делиться помеченной ссылкой, по которой можно узнать реферала и выдать бонус.   


▶︎ Карусель
Отправляет ряд изображений с описанием и кнопками.

Статическая карусель
Отправляет ряд изображений с описанием и кнопками. Удобно использовать для выбора товаров или услуг через галерею фотографий. 
▸ В настройке блока добавьте изображение и описание — например, фото товара и его краткие характеристики. Укажите описание на кнопке и продолжите сценарий. Чтобы отправить товар в корзину, выберите действие Добавить в корзину.  

Динамическая карусель
Позволяет собирать карусель продуктов на основании данных из внешней системы и создавать магазины в Telegram. 
▸ Данные можно получить по HHTP-запросу или из таблицы (шаблон Продукты) с помощью блока Поиск строки в массиве. В поля блока Динамическая карусель добавляются переменные, которые содержат массив данных из таблицы. В результате формируется карусель продуктов из таблицы. 
🛠 О логике и настройке этой механики смотрите видео
▶︎ Уведомление
(Блок будет выходить из использования, вместо него используйте блоки Telegram или Email.)
Отправляет письмо на электронную почту

В строке Кому выберите адресата: 
▸ Employees — пользователи, у которых есть права редактора/оператора в проекте
▸ User — пользователь, который проходит сценарий бота
▸ Admin —  пользователь, у которого есть права администратора в проекте
▸ Свой вариант — пользователи, чьи адреса указаны в строке Email list

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


▶︎ Оплата корзины
Блок показывает корзину продуктов, делает переход на оплату к сервису по приему платежей и продолжает сценарий в зависимости от оплаты. Выбранные товары отображаются в блоке через глобальную переменную%show_cart%

Выберите и настройте Сервис по приему платежей: Tinkoff, Yookassa, Cloudpayments. После подключения выберите блок Оплата корзины с названием сервиса. 

Затем настройте кнопки блока
▸ Добавьте кнопку и через достройку Выполнить действие выберите Очистить корзину
▸ К кнопке Ошибка при оплате добавьте сценарий для неправильной оплаты
▸ Сделайте переход от сценария Успешная оплата, чтобы продолжить скрипт
Выбранные товары отображаются в блоке через глобальную переменную %show_cart%
🛠 Подробно о том, как настроить прием платежей в боте, рассказали здесь.  


▶︎ SMS
Отправляет СМС-сообщение через интеграцию с провайдером-партнером.

В строке Кому выберите адресата: 
▸ Employees — пользователи, у которых есть права редактора/оператора в проекте
▸ User — пользователь, который проходит сценарий бота
▸ Admin —  пользователь, у которого есть права администратора в проекте
▸ Свой вариант — пользователи, чьи телефоны указаны в строке “Phone list”

Добавьте текст сообщения и настройте блок в левом меню. 
🛠 Подробно о том, как настроить отправку SMS из бота, смотрите видео.


▶︎ Telegram
Выполняет действия в Telegram. 

Добавление нового пользователя в группу
Блок-событие запускает сценарий, когда в группу в Telegram вступает новый участник, и направляет данные по этому участнику. Удобно использоваться для встречи новых участников в группе. 

Сообщение в группе
Блок-событие запускает сценарий, если текст в группе в Telegram совпадает с условием, указанным в блоке. Например, когда бот распознал в сообщении участника ключевое слово.   

Отправить сообщение
Отправляет сообщение в группу в Telegram или участникам группы в личные сообщения. 

▸ Получите ID вашей группы: 
— добавьте бота в группу и сделайте его админом
 — напишите команду /getChatInfo
▸ Полученный ID добавьте в настройку блоков Telegram. 
▸ Укажите получателей сообщения. Если нужно отправить сообщения разным пользователям:
— создайте таблицу Respondents
— с помощью блока Таблица (Поиск строки) и глобальной переменной %respondent_id% найдите пользователя в таблице Respondents
— укажите переменную Telegram ID в блоке (колонка N в таблице Respondents).

Бот отправит сообщение только, если пользователь сам активировал Telegram, нажав на Старт

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

Удаление истории чата 
Удаляет историю чата за последние 24 часа. 

Проверка пользователя в канале 
Проверяет подписку на канал или группу в Telegram. 

Статус пользователя определяется через переменную %status%
member – подписчик канала/группу
left – не подписчик 

Используйте готовый шаблон бота для проверки подписки на канал.  

🛠 Подробно о возможностях и настройке блока Telegram смотрите видео
▶︎ Оплата через Stripe
Показывает корзину товаров, проводит оплату и продолжает сценарий в зависимости от оплаты. 

Подключите сервис по приему платежей Stripe в левом меню. 
Далее настройте кнопки блока
▸ Добавьте кнопку и через достройку Выполнить действие выберите Очистить корзину
▸ К кнопке Ошибка при оплате добавьте сценарий для неправильной оплаты
▸ Сделайте переход от сценария Успешная оплата, чтобы продолжить скрипт

Выбранные товары отображаются в блоке через глобальную переменную %show_cart%. 
🛠 Подробно о том, как настроить прием платежей в боте, рассказали здесь

Операции

Это блоки, которые помогают работать с данными. 
▶︎ Таблица
Это интерактивная база данных (похожа на Excel). После работы блоков Таблица вы получаете координаты ячеек, по которым можно собирать и управлять данными. 

Получить ячейку
Позволяет найти ячейку в таблице и получить ее значение через переменную %сell%

Обновить ячейку
Позволяет сохранить в ячейку новое значение: переменную, число, текст. Чаще всего используется после блока Таблица (Поиск строки), который определяет строку по переменной %row_number%. 

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

Добавить строку
Позволяет создать новую строку и сохранить данные в таблице. Чтобы изменить значение в таблице, используйте блок Таблица (Обновить ячейку) или Таблица (Обновить строку).

Удалить строку
Позволяет удалить строку из таблицы при прохождения скрипта. Блок настраивается в левом меню: выберите таблицу и номер строки. 

Событие обновление ячейки
Блок-событие запускает сценарий, когда обновилась ячейка в таблице, и возвращает содержание ячейки. 

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

Инфо о листе
Позволяет получить данные о листе в таблице: количество колонок или строк. Количество строк может быть полезно, чтобы указать диапазон для функции =random.
▶︎ HTTP-запрос
Блок помогает сформировать HHTP-запрос в любую внешнюю систему. Добавьте в “тело” запроса данные, используя переменные в формате “ключ-значение”.

Если в блоке указать переменную, которая должна прийти в ответ, то сценарий будет ожидать ответа от API и может продолжить скрипт в зависимости от ответа.  
Чтобы использовать переменную с ответом в скрипте, используйте %answer_XX.YY%, где XX — номер блока с HHTP, YY — название переменной. 

▶︎ Маршрутизатор
Помогает направить сценарий в зависимости от разных условий в скрипте, которые можно установить вручную либо с помощью переменных. 

По сегментам
Проверяет попадание пользователя в сегмент и направляет сценарий. Сегменты можно создать в разделе *“Сегменты”.*

По условию
Проверяет соответствие пользователя разным условиям по переменным и направляет сценарий. Условия можно группировать.

▶︎ Интеграция
Отправляет данные из скрипта в сервис интеграции Integromat. Настройте с помощью инструкции в разделе Настройки. 

🛠 Подробно о возможностях и настройке интеграции смотрите видео.

▶︎ Событие на сайте
Помогает запустить бота в виджете на сайте в зависимости от разных событий (открытие страницы, клик по элементу и пр.). Работает только в виджете бота. Чтобы использовать решение, сначала установите виджет на сайт. Бот в виджете умеет узнавать пользователя по cookies, автоматически сохраняет за пользователем все UTM-метки. 

Открытие страницы
Распознает открытие страницы сайта и запускает сценарий бота. 

Прокрутка страницы
Распознает 80% прокрутки страницы сайта и запускает сценарий бота. 

Клик по элементу
Запускает бота по клику на элемент. Чтобы бот распознал это событие, нужно указать CSS селектор элемента в настройках блока. CSS селектор элемента — это объект на сайте, за которым будет следить бот. 

Подробнее о CSS селекторе смотрите здесь.    
ℹ️  Удобный плагин, который помогает найти CSS селектор. CSS добавляется со знаком #.

Наведение на объект
Запускает бота по наведению на объект. Чтобы бот распознал это событие, нужно указать CSS селектор элемента в настройках блока. 

ℹ️ Удобный плагин, который помогает найти CSS селектор. Добавляется со знаком #.

Заполнение поля
Запускает бота, когда пользователь заполнил поля на сайте, и возвращает введенные значения в виде переменных в сценарий бота. Эти данные можно сохранить в таблице.
▶︎ Массивы
Позволяет работать с массивами данных. 

Агрегатор текста в массиве
Позволяет взять разные данные в массиве и преобразователь их в переменную. 
Например: Коля, Вася, Петя, 31, 42, 59  = Коля 31, Вася 42, Петя 59

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

Агрегатор массива
В данный момент используется только для остановки итератора массива.


▶︎ TTLock замок
Позволяет настроить электронный замок, подключенный в системе TTLOC.

Закрыть замок
Бот отправляет запрос и закрывает замок по ID.

Открыть замок
Бот отправляет запрос и открывает замок по ID.

Сгенерировать код
Бот генерирует временный код по вашим параметрам, который будет работать у конкретной двери.

Получить список замков
Возвращает список ваших замков, чтобы вы могли к ним обратиться по ID.


▶︎ Диалог с оператором
Переводит скрипт в режим диалога. 

Как выйти из режима диалога: 
▸ пользователь нажмет на любую кнопку меню
▸ запустите рассылку
▸ отправите пользователю сценарий из раздела Диалоги


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

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

▶︎ Отправить конверсию
Отправляет серверную конверсию аналитики. Поддерживает FB, YA, GA. 

Чтобы бот отправил конверсию из мессенджера, пользователь должен начать взаимодействие из браузера и затем перейти в мессенджер через блок Сохранение контакта
Серверные конверсии появляются в аналитиках через 24 часа с момента отправки.  

▶︎ Баллы
Добавляет, вычитает или сбрасывает баллы. Обычно используется, чтобы проверить знания или составить рейтинг. 

Сумма баллов соответствует переменной %score%; если нужно показать результат пользователю, добавьте это значение в текст в конце опроса (например: “Твой результат — %score% баллов”). Чтобы обнулить все баллы, используйте опцию Сбросить баллы.   
Баллы каждого пользователя можно посмотреть в таблице Respomdents.  

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

▶︎ Позвонить
Набирает номер телефона при клике на кнопку. Эта операция работает только с блоком Кнопки. Добавьте на кнопку текст (например, "Позвонить"), сделайте боковой переход к блоку, выберите код страны и укажите номер телефона. 

▶︎ Перейти по ссылке
Открывает новое окно при клике на кнопку. Мы сначала формируем временную страницу, чтобы сохранить событие перехода, а затем делаем редирект на вашу ссылку. Эта операция работает только с блоком Кнопки. Добавьте на кнопку текст (например, “Перейти”), сделайте боковой переход к блоку и вставьте ссылку.