В этой статье вы узнаете:
что такое блок;
какие есть блоки в Aimylogic;

Что такое блок?

Блок в Aimylogic - это минимальная единица логики бота. Каждый блок - это какое-то действие, которое бот совершит в процессе диалога с пользователем. Некоторые блоки заставляют бота выводить что-то на экран (например текст или картинку), другие переводят бота в режим ожидания какого-то действия от пользователя (например ввода фразы), а третьи - выполняют какие-то фоновые действия (например HTTP запрос).

Блоки - это кирпичики, с помощью которых вы можете построить логику работы бота.

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

Какие блоки есть в Aimylogic?

В Aimylogic есть следующие блоки:



Изображение - с помощью этого блока бот сможет показать пользователю изображение.
Текст - выводит сообщение бота.
Аудио - данный блок позволяет использовать речь диктора при обзвонах, использовать в навыке музыку или другие звуки, либо послать голосовое сообщение в таких каналах, как вк или телеграм.
Ввод текста - этот блок принимает любой текст пользователя и записывает его в переменную.
Ввод числа - этот блок принимает текст, содержащий число, и записывает число в переменную.
Номер телефона - с помощью этого блока можно принять номер телефона пользователя (российский мобильный номер).
Интенты - с помощью этого блока можно принять от пользователя сообщения и определить действия бота в зависимости от того, что скажет пользователь.
Условия - в этом блоке можно писать js-выражения, выполнять вычисления, создавать переменные и записывать в них значения и т.д.
Переход - этот блок определяет, куда пойдет бот после выполнения всех блоков на экране.
HTTP-запрос - с помощью этого блока можно совершить запрос в сторонний сервис (например, интегрировать другой сервис по его API, записать/прочитать данные гугл таблиц, послать email, послать сообщение в телеграм или вк и т.д.
Завершение сценария - этот блок нужен для голосовых навыков (Алиса, Google Assistant, Amazon Alexa) и для обзвона. Для других каналов использовать этот блок не нужно.
Интеграция с CRM - с помощью этого блока можно настроить интеграцию с CRM. А данный момент - с Bitrix24.
Перевод на оператора - с помощью этого блока можно перенаправить пользователя на оператора (человека), используя сервисы WebIm, LiveTex, Bitrix24.

Как создать новый блок?

Есть два способа создать блок:

добавить блок на пустое место сценария (и создать экран, содержащий один блок);

добавить блок на существующий экран.

Как добавить блок на пустое место сценария?

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

Наведите указатель мыши на пустое пространство сценария. Появится кнопка + ЭКРАН. Кликните на неё.



Выберите нужный блок из списка:



Заполните нужные параметры (содержание) блока. Нажмите Сохранить.

Будет создан новый экран, содержащий блок, который вы добавили.

Например, если вы выбрали блок Текст и заполнили его содержание, то будет создан такой экран:



Зелёным выделен блок, синим выделен экран.

На этот экран в дальнейшем можно добавить другие блоки способом, описанным в пункте 2.

Добавить блок на существующий экран.

Чтобы добавить блок на существующий экран, нажмите кнопку + БЛОК на существующем экране и выберите блок из списка.



Заполните переметры блока и нажмите Сохранить.

Почему я не могу добавить некоторые блоки на экран?

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

Например, на экран, на котором есть блок HTTP-запрос, нельзя добавить блоки Ввод текста, Ввод числа, Номер телефона, Интенты и т.д., так как по логике они не могут быть выполнены после HTTP-запроса. HTTP-запрос уже предполагает дальнейшие действия бота, а из экрана может быть только один "выход", поэтому нельзя добавить другие блоки, которые предполагают определение реакции бота:



Настройки блока

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

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



В блоке HTTP-запрос можно указать адрес (URL), к которому будет обращаться бот, выражение и переменную, в которую будет записан результат, данные, которые будут передаваться, формат передаваемых данных и т.д.



Переменные

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

Некоторые блоки (например Ввод числа или Ввод текста) создают переменные с определенным именем, куда сохраняют полученные в этом блоке данные (например блок Ввод числа сохранит в переменную число, которое ввел пользователь):

и

Эта переменная будет доступна на всех следующих экранах сценария на время текущей сессии пользователя. Как правило, при настройке блока вы указываете название переменной, а затем можете обратиться к ней на следующих шагах, поставив перед именем переменной знак $





На этом видео показан процесс создания простого сценария, в котором бот сперва спрашивает пользователя, как его зовут, а затем приветствует его по имени. Блок Ввод текста сохраняет весь ввод пользователя в переменную Name. А блок Текст на следующем экране выводит текст "Привет, $Name!". Aimylogic автоматически подставит вместо $Name значение переменной Name.

Подробнее о переменных можно прочитать на странице Переменные.
Была ли эта статья полезна?
отменить
Спасибо!