Практика 2. Глубокие интеграции
В этом уроке мы создадим чат-бота с глубокими интеграциями, которые можно использовать как основу для внедрения в любой бизнес, где требуется глубокая интеграция чат-бота и сквозная автоматизация пути клиента. Этот чат-бот можно использовать как фундамент, расширяя его новыми интеграциями или функционалом. Он станет вашим шаблоном для использования в различных проектах.
Если вы ещё не делали интеграции на платформе Metabot, рекомендуем сначала пройти урок с простыми интеграциями. Тем, кто уже имеет опыт разработки на Metabot, предлагаем продолжить работу с чат-ботами с глубокими интеграциями.
Основные моменты, которые вам нужно понимать:
- Взаимодействие с Пользователем: Чат-бот должен уметь работать как с анонимным пользователем (гостем), так и с идентифицированным, который может иметь аккаунты в различных системах. Например, у посетителя аптеки может быть карта лояльности. В боте должны быть процедуры регистрации и авторизации, сбора информации о пользователе и её интеграции в системы бизнеса.
- Авторизация: Можно авторизовываться разными способами, например, через номер в Telegram, SMS-шлюз для двухфакторной авторизации, или через e-mail, особенно для входа сотрудников компании.
- Идентификация и Интеграция: Необходимо идентифицировать пользователя в базе данных компании. Это может потребовать интеграции с внешними системами при авторизации и регистрации. В чат-боте должна быть таблица с уникальными записями пользователей и их идентификаторами в различных системах.
- Работа с Внешними Системами: Важно налаживать взаимодействие с разработчиками внешних систем для эффективной интеграции. Необходимо учитывать способы поиска и идентификации пользователей в этих системах и интегрировать соответствующие API.
Эти аспекты являются ключевыми для создания эффективного и интегрированного чат-бота, который будет служить надежным инструментом в бизнес-процессах.
В ходе выполнения урока, также ознакомьтесь со следующим материалом в документации к платформе (вы найдете примеры кода и дополнительные детали): Диалоговый интерфейс к ИТ системам.
Задание
Давайте разработаем чат-бота для гипотетической сети аптек "Будь Здоров". Чат-бот будет предназначен для сотрудников и партнёров компании. Он будет интегрирован с системой компании, интернет-магазином и системой вебинаров.
Мы интегрируемся с порталом компании, где хранятся данные о сотрудниках и партнёрах, с интернет-магазином для доступа к информации об аптека и товарах на складе (для сотрудников с ролью администратора), а также с системой вебинаров, через которую сотрудники продают франшизу новым потенциальным партнерам.
Чат-бот будет иметь двухфакторную авторизацию через имейл, выполнять проверку наличия пользователя в бизнесе, а также добавление новых партнёров.
Для упрощения урока интеграция будет мы поместим все две системы (портал и интернет-магазин) в одну. Создадим два чат-бота: один для пользователей (клиент), взаимодействующих с бизнесом, и второй для эмуляции бизнес-систем (сервер). А для вебинаров интегрируемся с MTS-Link (бывший Webinar.ru).
Создаем сервер
На Meteabot создайте серверный чат-бот со всеми нужными таблицами и точками API:
- Таблица пользователей:
- Создайте таблицу пользователей и наполните её данными.
- Добавьте поля: id, имя, фамилия, отчество, e-mail, признак сотрудник или партнёр, признак администратор или обычный сотрудник.
- Таблица Аптек:
- Создайте таблицу аптек с информацией о каждой аптеке: id, название, улица, город, признак (аптека компании или франчайзи).
- Таблица Товаров:
- Добавьте базу данных товаров с полями: название, категория, описание, стоимость, количество на складе.
- Точки Интеграции:
- Разработайте точки интеграции (API) в чат-боте для взаимодействия с информационной системой.
- Необходимые API:
- portal/find-user - поиск пользователя (по e-mail) ;
- portal/add-user - добавление нового пользователя;
- ecom/get-shops - получение списка аптек;
- ecom/get-products - получение списка товаров на складе.
- Интеграция с Системой Вебинаров:
- В качестве учебного примера интегрируйтесь с системой "МТС Link" (бывший Вебинар.ру).
- Дополнительные Уроки:
- Если у вас нет опыта создания API и работы с базами данных, изучите соответствующие материалы в документации: Конструктор API и Кастомные Таблицы.
Теперь, когда у вас есть эмуляция бизнес-системы, вы можете наполнять её различными данными и создавать новые API.
Создаем чат-бота с глубокими интеграциями
Теперь давайте создадим клиентского чат-бота, который будет включать функционал авторизации и регистрации. Создайте чат-бот согласно следующему алгоритму:
- В чат-боте в разделе Заявки и персоны создайте необходимые роли для пользователя в таблице ролей. Эти роли могут быть такими: гость, сотрудник, администратор, партнёр.
- Пользователь вводит свой e-mail, на который затем генерируется и отправляется код. После получения кода пользователь вводит его в чат-боте. Если код совпадает, значит e-mail принадлежит пользователю. В случае несовпадения, мы предоставляем несколько дополнительных попыток для ввода.
- После успешной авторизации чат-бот обращается по API к endpoint'у
find-user
вашего сервера для поиска пользователя по e-mail. Если пользователь найден, вы получаете его запись и идентификатор. Эту информацию вы добавляете в кастомную таблицуusers
пользователей вашего клиентского чат-бота. - Создайте запись о пользователе, добавив колонку внешнего ID (external ID), который соответствует полученному идентификатору от сервера.
- Установите роль пользователя на основе полученной информации: если это сотрудник, администратор или партнер, присваивайте ему соответствующую роль.
- Добавьте сценарий регистрации. Пользователь должен предоставить имя, фамилию и e-mail. После подтверждения e-mail проверьте, существует ли такой пользователь в системе. Если нет, создайте его, выполняя команду через endpoint
add-user
. - Добавьте также метод де-авторизации для выхода из чат-бота. Это важная функция, которую можно разместить в секции настроек, чтобы избежать случайного нажатия в главном меню.
На данном этапе у нас есть авторизация, регистрация и выход. Теперь, когда пользователь идентифицирован, вы выполнили примерно 25% работы. У вас есть фундамент для работы с идентифицированными пользователями и возможность интеграции с другими системами, передавая внешние идентификаторы пользователей.
Создаем разные меню и роли
Теперь давайте приступим к следующей части работы. Создадим меню для разных ролей пользователей: сотрудников, администраторов и партнёров. Эти меню будут доступны пользователям после регистрации или авторизации, то есть, внутри системы чат-бота.
После авторизации и регистрации, когда вы установили роль пользователя, переведите его в скрипт соответствующего меню.
Для всех (сотрудников, партнеров и администраторов):
- Добавьте функцию вывода информации об аптеках. Воспользуйтесь эндпоинтом
get-shops
. Это публичная информация, которую можно показывать всем.
Для администраторов:
- Добавьте возможность просмотра товаров на складе и их остатков, выводя список товаров из соответствующей таблицы.
- Напишите скрипт, который будет обращаться к endpoint'у сервера для получения и вывода этих данных.
- При запросе к серверу, включите ID пользователя (внешний ID) в запрос, чтобы проверить, есть ли у него привилегии на просмотр товаров и остатков.
- На сервере:
- Проверяйте тип пользователя (администратор или нет), используя внешний ID, который был получен при авторизации или регистрации.
Поздравляем! Вы только, что применили важный принцип глубокой интеграции чат-ботов в бизнес — вы получили внешний ID пользователя из системы бизнеса, и затем с помощью него для администратора запросили закрытую информацию о товарах и остатках.
Обратная связь от систем
Теперь давайте научимся новому приёму. Когда во внешней системе происходят изменения в записи о пользователе или его действиях, мы хотим, чтобы чат-бот мог узнать об этом, чтобы инициировать диалог или просто поблагодарить пользователя.
Например, давайте представим ситуацию, когда пользователь совершает покупку в аптеке и получает бонусные баллы в системе лояльности.
Для этого обратимся к разработчикам системы лояльности и попросим их посылать нам уведомления об этих событиях.
На сервере:
- Добавьте новую таблицу или колонку в таблицу пользователей, где будет отражаться количество накопленных баллов пользователя.
В серверном чат-боте:
- Разработайте интерфейс администратора.
- Добавьте функцию "начислить баллы пользователю", которая может запрашивать ID пользователя или предоставлять список пользователей с возможностью выбора.
- Укажите, сколько баллов нужно начислить пользователю.
- Добавьте баллы в базу данных.
На стороне пользовательского чат-бота:
- Реализуйте API endpoint на стороне клиентского чат-бота для приема уведомлений об изменении баллов, например,
gamifaction/add-points
- Обработайте запрос и отправьте пользователю сообщение: "Спасибо за покупку! Вам начислено [количество] баллов."
В серверном чат-боте:
- После начисления баллов сообщите о начислении клиентскому чат-боту - вызовите
gamifaction/add-points
endpoint.
Проверки на стороне клиента:
- Удостоверьтесь, что пользователь существует в системе перед отправкой уведомления.
- Избегайте отправки информации несуществующим пользователям.
Поздравляем! Вы освоили новый прием, который позволит вам обрабатывать события, происходящие во внешних системах.
Интеграция в вебинарной системой
Теперь переходим к последней части нашего урока, ориентированной на партнёров, которые только что зарегистрировались.
Давайте добавим интеграцию с вебинарным сервисом МТС Link. В рамках этой интеграции, мы предоставляем пользователям список ближайших вебинаров и возможность зарегистрироваться на один из них. При регистрации мы передаём вебинарному сервису информацию о пользователе, которая уже имеется в чат-боте: e-mail, имя, фамилия.
После регистрации пользователя на вебинар, в чат-боте создаётся автоматическое напоминание о мероприятии. Мы планируем триггеры, которые будут информировать пользователя, и когда наступит время мероприятия, отправим ему ссылку.
После того как пользователь посетил вебинар, давайте ему проставим пометку, что он получил информацию и теперь это осведомленный партнер. Для этого можете завести в таблице пользователей новую колонку.
Детальную информацию по уроку по интеграции с MTC Link и шаблоны коды, смотрите в отдельной публикации.
Управление сложными проектами
Представим, что у вас есть сложный проект с множеством точек интеграции и обширным взаимодействием между чат-ботом и внешними системами, а также между внешними системами и чат-ботом.
В этом проекте возникает много коммуникаций внутри чат-бота, и управление ими становится ключевой задачей. Кроме того, у вас большая команда, включающая несколько подразделений: команду разработки внешних систем и команду разработки чат-бота, возможно, с участием нескольких разработчиков.
Для эффективного взаимодействия между разными командами мы предлагаем подготовить и согласовать карты коммуникаций и точек интеграции. Эти инструменты помогут вам организовать и упорядочить процессы внутри проекта, обеспечивая понятное и чёткое взаимодействие между различными участниками и системами.
Карты коммуникаций:
№ | Этапы процесса с описанием / Событие | Нужна ли коммуникация в чат-боте и какая / Коммуникация | Детальное описание коммуникации |
Точки интеграции:
№ |
Точка интеграции / Коммуникация
|
Параметры | Описание |
Для получения более детальной информации и примеров о том, как создаются такие карты, рекомендуем ознакомиться с соответствующей статьей в документации. В ней вы найдете ценные указания и подходы, которые помогут вам в управлении сложными проектами и эффективном взаимодействии между командами.
Резюме
Если вы уже ознакомились с этой теоретической базой, поздравляем! Теперь у вас есть общее представление о том, как осуществляется обмен данными между системами и интеграция чат-ботов в бизнес. Для тех, кто является техническим специалистом и выполнил практическую часть, теперь вы умеете создавать подобные решения. Однако это не конец, а лишь начало вашего пути.
В дальнейших уроках вы сможете освоить более продвинутые аспекты работы с чат-ботами. Те кто отвечают за коммуникационную часть, научатся "оживлять" чат-бота и узнаете о важности гуманитарной части, связанной с коммуникацией с пользователями, созданием контента и квизов, а также интеграцией технологий NLP и GPT.
Также, как вы узнаете, как работать с трафиком и строить различные виды коммуникаций в зависимости от пути клиента и имеющихся у бизнеса данных. Вам предстоит научиться создавать воронки и адаптировать чат-бот для персонализированной коммуникации, исходя из собранных данных из различных систем.
Для программистов и технарей в будущем могут быть полезны дополнительные уроки по глубокой интеграции, включающие различные кейсы, примеры уведомлений и обменов данными. Мы предоставим эти примеры в отдельных уроках.
Поздравляем с началом знакомства с одной из самых сложных и полезных разработок в мире чат-ботов. Это прочный фундамент, на котором вы сможете строить удивительные проекты, добавляя полезный функционал поверх уже существующего.
Вдохновения и успешных проектов!
Нет комментариев