Разработка чат-бота федеральной сети аптек

Вкалывают роботы, а не человек
(с) Приключения электроника

Бизнесу нужно идти в ногу с пользователем. Когда-то для контакта с клиентом нужен был только сайт. Сайт нужен и сегодня, но теперь нужны еще и SMM-сообщества, E-mail и SMS-рассылки, мобильное приложение и, конечно же, общение в мессенджерах. Мессенджеры стали популярными в использовании, и многие компании рассматривают в аудитории мессенджеров потенциальных клиентов. В связи с этим появились чат-боты, которые способны не только упростить работу пользователя, но и снизить нагрузку на рабочий персонал компании. И тут речь не только про виджет с консультантом на сайте и новостные каналы в Telegram. Чат-бот может отвечать на общие вопросы клиента в режиме 24/7, подсказывать цены и наличие товара, помогать оформлять заказ. 

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

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

Решаемая задача

В 2019 году к нам обратился один из клиентов (федеральная сеть аптек) за разработкой чат-бота для трех платформ (Алиса, ВК, Facebook). Основная цель — автоматизация типовых запросов за счет модной фишки. Дополнительные цели — разгрузка SMM-специалистов и создание нового канала продаж.

Начать решили с простых задач:

  1. Выдача справочной информации

  2. Поиск товаров в наличии по региону

Логика для всех платформ в целом, одинаковая, были отличия в деталях. Например, Алиса в режиме «устройство без экрана» должна была переспрашивать некоторые команды — распознавание наименований медицинских препаратов пока что не на высоте.

Как мы решали задачу

Функции бота

Сайт клиента разработан на Битриксе, так что код чат-бота разместили прямо на сайте в скрытом разделе. Это позволило обращаться к базе данных сайта и использовать интерфейс Битрикса для управления данными бота.

Сначала нам потребовалось точно описать все взаимодействия пользователя и чат-бота. Для самых запутанных случаев рисовали конечный автомат (диаграмма состояний лучше всего описывает логику бота).

Выдача справочной информации

Бот должен отвечать на вопросы («Как оформить заказ?», «Как позвонить?») заданными ответами. Ответы и формулировки вопросов хранятся на сайте в виде файлов. При желании контент-менеджер может их изменять в интерфейсе администратора Битрикс.

Выбор города

Процедура кажется простой, она самая разветвленная. Все просто, если пользователь правильно написал свой город, город найден в базе и такой город только один. Но на каждый ошибочный сценарий предусмотрены свои «пути отступления». Если пользователь опечатался в названии города, он может его исправить. Если городов несколько — чат-бот просит уточнить субъект РФ.

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

Поиск товаров в наличии

Пользователь может написать чат-боту: «хочу купить» и бот переспросит, что именно. Альтернативный сценарий: сразу спросить «у вас есть анальгин?» (и еще десяток вариаций этой фразы).

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

Особенности платформ

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


Т.е. общение между сервером мессенджера и обработчиком чат-бота всегда происходит по надежному протоколу HTTPS.

Ближе всех к разработчикам, несомненно, Telegram — создать «пустого» бота и опубликовать его для всех пользователей мессенджера можно за несколько минут. А вот у самого популярного мессенджера, WhatsApp, пока что закрытое API. Есть неофициальные способы создания чат-бота, но ими пользоваться нужно на свой страх и риск.

Задача заключалась в разработке чат-ботов для 3-х платформ, с которыми ранее уже работали: Алиса, Вконтакте, Facebook. 

В таблице ниже приведены ограничения мессенджеров на отправку текстовых сообщений.


ВКонтакте

Facebook

Алиса

Сообщения

Кол-во символов в сообщении

4096

2000

1024

Кол-во символов в сообщении с прикрепленными кнопками

Неограниченно

640

1024

Обычные кнопки

Кол-во кнопок

10

-

Неограниченно

Кол-во символов на кнопках

40

-

125

Можно сделать кнопку ссылкой на сайт?

Нет

-

Да

Кнопки в сообщении

Кол-во кнопок

-

3

Неограниченно

Кол-во символов на кнопках

-

20

50

Можно сделать кнопку ссылкой на сайт?

-

Да

Да

Вконтакте

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

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

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

Facebook

Аналогично ВКонтакте в Facebook чат-бот представляет собой сообщество. Однако настройка чат-бота и его возможностей производится отдельно в приложениях , которое закрепляется за конкретным сообществом в Facebook. 

Чат-бот доступен в Messenger. Вся переписка с сообществом сохраняется и доступна администраторам сообщества.

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


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

Яндекс Алиса

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

Настраивается чат-бот очень просто, достаточно задать уникальное имя и url-адрес, на котором расположен скрипт чат-бота.

В процессе разработки навык доступен только разработчику. Модерация и релиз навыка занимает до 3 дней.

Проблемы

Модерации в ВКонтакте и Яндекс Алисе проходит быстро и почти без проблем.

Самый сложный релиз осуществляется в Facebook. Для того, чтобы прикрепить готового чат-бота к сообществу необходимо пройти комплекс мер: существующее сообщество в FB, подтвердить аккаунт в Business Analytics, пройти верификацию компании по предоставленным документам. Этот процесс может занимать несколько месяцев.

Заключение

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

Чат-бот — это инструмент для вашего бизнеса, который поможет разгрузить сотрудников и уменьшить трудозатраты. Если вы интересуетесь созданием своего чат-бота в ВКонтакте, Телеграме, Алисе или Facebook заполните форму ниже и мы с вами свяжемся.

Оцените статью:
Заказать чат-бота

Вы можете войти, используя аккаунт одной из социальных сетей