Как создать чат-бота в Unisender

Урок №9. Как создать чат-бота

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

Чтобы протестировать новый инструмент, выберите в личном кабинете раздел «Чат-боты».

Где найти чат-боты в сервисе Unisender

Внутри раздела вы увидите следующие вкладки:

  • Боты — здесь можно подключать ботов и просматривать по ним статистику.
  • Чат-карты — здесь можно создавать сценарии взаимодействия с пользователями с помощью конструктора, просто перетаскивая нужные блоки.
  • Мои чаты — все сообщения клиентов и ответы им при использовании блока «Перевод на оператора» в чат-карте.
  • Рассылки — отправка сообщения или чат-карты по всем подписчикам.
  • Аналитика — статистика по ботам: подписки; отписки; сообщения, отправленные пользователю; переходы по ссылкам. Можно посмотреть аналитику по определенным каналам или по конкретным ботам.
  • Настройки — здесь можно указать автоматические ответы в начале диалога, при окончании диалога, при отсутствии операторов, при подключении к диалогу оператора. Также можно выбрать время, после истечения которого подписчик будет считаться неактивным, время переключения подписчика на бот и время ожидания подключения оператора.

Настройки операторских сессий

 

Важно! При удалении чат-бота удаляется вся информация по нему, включая подписчиков и аналитику. Восстановлению данные не подлежат.

Как создать чат-бота

Кликните на вкладку «Боты» и нажмите на кнопку «Добавить бота».

Добавить бота

В открывшемся окне введите название и описание нового бота, кликните на кнопку «Создать».

Создание бота

Можно добавить несколько ботов, для каждого канала свой, для этого необходимо создать отдельный бот и соответственно отдельный токен для него. Один и тот же токен для разных ботов использовать нельзя.

Сейчас можно создать бота в Telegram, VKontakte и у себя на сайте (Webchat). Для этого выберите нужный канал и нажмите на кнопку «Подключить».

Каналы, к которым можно подключить чат-бота

Можно выбрать уже существующую чат-карту (1) либо создать новую (2) и привязать ее к боту.

Выбираем чат-карту

Как создать бота во Вконтакте

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

Чтобы подключить чат-бота, вам потребуется токен группы:

Шаг 1. Получите API-ключ

Зайдите в управление сообществом.

Управлением сообществом VK

Выберите «Настройки – Работа с API – Создать ключ»:

Создать апи ключ VK

В открывшемся окне проставьте все галочки и кликните на кнопку «Создать»:

Создаем ключ доступа в VK

Скопируйте полученный код, он понадобится на третьем шаге.

получение ключа доступа в VK

Шаг 2. Включите настройки для бота в управлении сообществом

Кликните на «Сообщения», включите их и нажмите «Сохранить»

Разрешение на получение сообщений

Затем выберите «Настройки для бота» и тоже включите их. Также отметьте галочку «Добавить кнопку “Начать”», чтобы пользователи могли начать чат с сообществом по кнопке, и нажмите «Сохранить»:

 Добавление кнопки в настройках чат-бота

Шаг 3. Создайте бота или откройте уже созданный

Наименование и описание чат-бота

Шаг 4. Нажмите подключить в блоке VKontakte и вставьте API-ключ в поле для токена

Как подключать каналы к чат-ботам

Добавление токена

Как создать бота в Telegram

Для подключения чат-бота вам понадобится токен.

Чтобы получить токен, перейдите в Telegram в чат-бот @botfather или найдите его в поиске. Настройку описания, изменение картинки бота можно делать через команды в @botfather.

Введите /newbot. Придумайте и отправьте имя бота. Придумайте бот айди (должен заканчиваться на _bot). Пример ссылки на бот: https://t.me/123_bot

Из полученного в ответ сообщения скопируйте HTTP API в таком формате: 1830080026:AAFNJI93voi4A2c5VpFIJLTDNRrVfQK7fPA

Как подключить чат-бота в Telegram

Затем перейдите обратно в Unisender. Нажмите «Каналы» (в подменю первое сверху).

Как подключить каналы к чат-ботам

В блоке Telegram нажмите «Подключить» и вставьте скопированный элемент.

Добавление токена

Теперь чат-бот доступен по ссылке из BotFather в Telegram. Токен доступен только для одного аккаунта.

Ссылка на чат-бот

Как создать бота на сайте (Webchat)

Webchat — это окно для коммуникации с клиентом на вашем сайте.

В нем, так же, как и в других каналах, могут использоваться чат-карты, перевод на оператора, вызов API и другие инструменты.

Чтобы добавить webchat, создайте новый бот или используйте существующий.

Как добавить чат-бот

Задайте имя и описание бота, если создаете новый.

создание бота.

Нажмите на вкладке «Каналы» (верхнее меню) на «Webchat — Подключить».

Как подключить каналы к чат-ботам

Скопируйте полученный код.

Где брать код для встраивания на сайт

Отправьте его разработчикам вашего сайта или установите на сайт самостоятельно (можно через Google Tag Manager) . Код нужно установить перед тегом </body>.

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

Как настроить внешний вид чат-бота на сайте

После установки кода на сайте в этом же боте перейдите на вкладку настроек веб-чата:

Настройки отображения чат-бота на сайте

Откроется окно с настройками, в котором можно:

  • Добавить заголовок и подзаголовок.
  • Загрузить аватарку и картинку для фона.
  • Настроить фон и цвет текста исходящих сообщений.
  • Выбрать фон и цвет текста сообщений бота.

Как выглядят настройки для отображения чата на сайте

Можно открыть в соседней вкладке тестовую страницу, где установлен код чата, и смотреть, как меняется чат.

 

Важно! Один токен может быть привязан только к одному боту. Вы можете создать несколько токенов, тем самым создав несколько ботов.

Как создать чат-карту

После того как вы подключили токен бота, можно приступать к созданию чат-карты.

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

Одна чат-карта может использоваться для нескольких каналов коммуникации.

Пример логики простой чат-карты:

Пример чат-карты

Чтобы создать чат-карту, перейдите в раздел  «Чат-карты —  Создать чат-карту».

Создание чат-карты

Введите название, придумайте описание и нажмите «Сохранить».

Создание чат-карты

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

Чтобы увеличить рабочую область, вы можете свернуть меню, кликнув на стрелочку (3).

Окно создания и редактирования чат-карты

Блоки можно «Редактировать», «Дублировать» и «Удалить».

Как отредактировать, скопировать или удалить блок

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

Соединение блоков между собой

Блоки можно выбрать, кликнув правой кнопкой мыши по рабочей области.

Работа с блоками

Палитра блоков состоит из 7 блоков:

Рассмотрим каждый из этих блоков более подробно.

Отправка сообщения

Блок отправляет сообщение пользователю. Если сделать несколько таких блоков подряд, они будут отправляться друг за другом без остановки.

Бот после такого блока не ждёт ответа или каких-либо других действий от клиента. Подходит для самого первого сообщения, для информирования и рассылок.

Элементы блока:

  • Название — видите только вы, назовите так, чтобы было понятно.
  • Описание — видите только вы, детализация названия блока, заполнять необязательно.
  • Сообщение — сообщение, которое увидит ваш подписчик. Тут вы можете прикрепить картинку (в формате jpeg), смайлик или координаты.
  • Следующий блок — какой блок будет следовать после этого.

Задержка

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

1 сообщение = 1 день. Для этого вам нужно использовать блок «Задержка» между сообщениями.

 

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

Элементы блока:

  • Название — видите только вы, назовите так, чтобы было понятно.
  • Описание — видите только вы, детализация названия блока, заполнять необязательно.
  • Время задержки (секунды) — сколько времени нужно ждать для перехода в следующий блок. 1 час = 3600 секунд. 1 день = 86400 секунд.

Пример использования блока «Задержка» между двумя блоками:

Пример блока задержки чат-карты

Отправка меню

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

После отправки меню бот ждет от пользователя реакции (клика на конкретную кнопку). Только после этого клиент сможет двигаться дальше.

Чтобы прикрепить один блок к другому, нажмите на нужный блок и тот, к которому его нужно прикрепить.

Элементы блока:

  • Название — видите только вы, назовите так, чтобы было понятно.
  • Описание — видите только вы, детализация названия блока, заполнять необязательно.
  • Сообщение — сообщение, которое увидит ваш подписчик. Тут вы можете прикрепить картинку (в формате jpeg), смайлик или координаты.
  • Добавить пункт меню — добавьте ответы на ваш вопрос. У каждого пункта есть 2 параметра — текст пункта и следующий блок при выборе этого пункта меню. В примере ниже показано 2 пункта меню, из которых 1 ведет на Сообщение 1, а второй — на Конец диалога:

Пример заполнения блока отправка меню

Шаблонизируемое меню

Этот блок используется для показа меню, которое формируется с помощью API-запроса полностью на вашей стороне или на стороне стороннего сервиса.

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

Данный блок предназначен для разработчиков. 

Элементы блока:

  • Название — видите только вы, назовите так, чтобы было понятно.
  • Описание — видите только вы, детализация названия блока, заполнять необязательно.
  • Сообщение — что мы просим пользователя выбрать в этом меню, аналогично обычному меню. Например, «Выберите ближайший магазин».
  • Путь в last_api_response до массива (необязательное поле) — нужно указать путь до списка с вариантами (last_api_response). В путь можно вообще ничего не указывать, если last_api_response с нулевой вложенностью, то есть просто [{"label": "кнопка1", "value": "1"}, {"label": "кнопка2", "value": "2"}].
  • Ключ, по которому достается текст кнопки — как подписана переменная, в которой у нас будет название кнопки. В ответе [{"label": "кнопка1", "value": "1"}, {"label": "кнопка2", "value": "2"}] название кнопки будет подписано как label.
  • Ключ, по которому достается значение — как подписана переменная, в которой будет храниться значение выбора подписчика. В ответе [{"label": "кнопка1", "value": "1"}, {"label": "кнопка2", "value": "2"}] название значения будет подписано как value.
  • Поле подписчика для записи — в какое поле нам записывать значение, сам выбор клиента в меню.

То есть, при ответе API [{"label": "кнопка1", "value": "1"}, {"label": "кнопка2", "value": "2"}] подписчик увидит меню с кнопками кнопка1 и кнопка2 и после нажатия в выбранное поле подписчика будет записано значение 1 или 2.

Логика работы блока. Блок «Шаблонизируемое меню» применяется после блока «API-запрос» и использует ответ на запрос для формирования меню.

То есть, схема работы данного блока выглядит примерно так:

Схема работы блока «Шаблонизируемое меню»

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

  • показать индивидуальные предложения и акции для конкретного клиента;
  • вывести список ближайших адресов розничной сети в виде меню.

Перевод на оператора

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

Элементы блока:

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

После использования этого блока сообщения подписчика будут отображаться на вкладке «Мои чаты».

Схема перевода на оператора

 

Важно! Переход на следующий блок чат-карты осуществляется, когда оператор закрывает чат с клиентом в «Мои чаты». Обязательно закрывайте чаты, чтобы подписчики имели возможность вернуться в главное меню или продолжить использовать бота.

Случайное распределение

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

Пример случайное распределение

Элементы блока:

  • Название — видите только вы, назовите так, чтобы было понятно.
  • Описание — видите только вы, детализация названия блока, заполнять необязательно.
  • Выходы — какие блоки должны быть следующими.
  • Количество выходов = количество случайных вариантов перехода.То есть, если вы делаете 2 выхода, то пользователь бота с вероятностью 50% попадет в 1 из них. Если вы делаете 4 выхода, то с вероятностью 25%. Вы можете сделать любое число выходов. Если вы на 2 из 6 выходов зададите один и тот же блок, то у пользователя в 2 раза повысится вероятность попасть именно на него.

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

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

Запрос API

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

Блок позволяет интегрироваться с любым сервисом и предназначен для разработчиков.

Элементы блока:

  • Название — видите только вы, назовите так, чтобы было понятно.
  • Описание — видите только вы, детализация названия блока, заполнять необязательно.
  • URL запроса — какие блоки должны быть следующими.
  • HTTP-метод — какой тип запроса нужно использовать: GET, POST, PUT, DELETE, OPTIONS, HEAD.
  • Заголовки (requestHeaders) — тут чаще всего указываются данные для авторизации, API-ключи (или url запроса), тип разметки и другая техническая информация о запросе.
  • Тело запроса — какие данные вы хотите передать. Вы можете отправлять в теле запроса переменные о клиенте, боте и прочее.

Вы нашли ответ?

3
2