Глобус чат. Постоянная коммуникация с клиентами
Сеть гипермаркетов «Глобус» наш постоянный партнер. За 10 лет мы успели поработать над главным сайтом, праздничными лендингами, онлайн-заказом, ЭТП, UI-кит. Новая задача — пользовательский чат, который соединит Контакт-центр, интернет-магазин и приложение.
Зачем нужен чат?
Контакт-центр «Глобус» использует много каналов коммуникации с клиентами. Звонок, форма обратной связи на сайте и в приложении, бумажная книга жалоб, обращения из групп в социальных сетях, почта, геосервисы. Список источников постоянно пополняется. Люди интересуются разными вопросами: как работает магазин, как начисляются бонусы, есть ли товар в наличии, входит ли адрес в зону доставки интернет-магазина, также вносят предложения по улучшению сервиса.
Клиенты могли получить информацию оперативно только через звонок в Контакт-центр. Специалисты «Глобус» хотели дать пользователям дополнительный современный, удобный канал коммуникации и оптимизировать работу внутри Контакт-центра.
Сейчас всё больше компаний предлагают чат как привычный способ взаимодействия — клиенты используют их для общения с близкими и друзьями. Тренд часто перенимает продуктовый ритейл.
В «Глобус» есть сообщество лояльных клиентов, с которыми компания обсуждает в том числе нововведения. Они подтвердили и поддержали необходимость чатов.
Решение задачи
До нашего прихода в проект команда «Глобус» уже внедрила чат в Telegram и WhatsApp. Второй шаг — собственный чат для авторизованных клиентов магазина и мобильного приложения «Глобус».
Поговорив с бизнесом, мы выявили основные требования к продукту:
- операторы продолжают общаться с клиентами в едином окне внедренной ранее тикетной системы, чаты должны поступать туда же и быть вписаны в имеющиеся процессы;
- чат в приложении и на сайте должен быть синхронизирован;
- клиент и оператор могут обмениваться изображениями, аудио, видео;
- чат выдерживает высокие нагрузки.
Из требований видно, что одним красивым окном чата не обойтись.
Программа действий:
- разработать серверное приложение — оно соединит информационные системы;
- собрать само веб-приложение, через которое происходит коммуникация.
Серверное приложение
Серверное приложение интегрирует работу четырех информационных систем:
- Интернет-магазин online.globus.ru, где авторизованные пользователи задают вопросы.
- Мобильное приложение, где авторизованные пользователи задают вопросы.
- Тикетная система, в которой работают операторы «Глобус».
- Омниканальный онлайн-консультант, который подключает к тикетной системе мессенджеры и чаты.
Разработать архитектуру системы — начальный и важный этап проекта. В ней мы отразили связи между элементами и методы передачи данных. Разветвленная архитектура закрывает все требования бизнеса.
Механика веб-приложения
Клиент открыл интернет-магазин и не может понять — цена указана за 100 грамм авокадо или за штуку. Он видит чат и начинает общение.
Первая задача — определить тематику обращения клиента и передать оператору как можно больше вводных. С ней справляется бот. Он приветствует пользователя, предлагает выбрать тематику, при необходимости задает уточняющие вопросы. Запрос клиента сразу отправляется нужному оператору в привычную систему коммуникации. Сотрудники не тратят время на ручную маршрутизацию обращений или обучение новому инструменту.
Вторую задачу, распознать пользователя, решили данные единой системы авторизации. У каждого зарегистрированного клиента есть уникальный UUID, чат умеет распознавать или формировать его. Приложение идентифицирует пользователя в глобальной системе и вся история сообщений, прикрепленных файлов привязывается к постоянному UUID клиента «Глобус».
Использование уникального идентификатора сделало историю сообщений доступной с любого устройства. Например, переписка началась в приложении, а потом клиент открыл чат в интернет-магазине дома на компьютере и попал в то же самый диалог.
Третья задача — обмен файлами. Для неё мы разработали собственный файловый сервис. Оператор и клиент обмениваются изображениями, аудио, видео, получают предупреждения о превышении лимита.
«Глобус» всегда ведет тщательную работу с обращениями клиентов. Если через какое-то время клиент вернулся для уточнения информации, оператору важно оперативно поднять переписку и вложенные файлы. Поэтому весь контент хранится в базе с быстрым поиском и логированием всех действий.
Четвертая задача — способность чата выдержать нагрузку пользователей. Параметры нагрузочного тестирования исходили из потенциальных реалий. Специалисты Контакт-центра оценили штат операторов, возможную нагрузку и заложили нагрузку «на вырост».
Нагрузочное тестирование помог провести сервис Яндекс.Танк. Он эмулирует нагрузку на приложение в отдельности по каждому показателю или единовременно. «Глобус» чаты прошли тестирование.
Технологии
В качестве технологий для реализации выбрали:
- Frontend: Javascript, Svelte.
- Backend: Микросервисная архитектура, TypeScript, PostgreSQL, RabbitMQ, Redis, WebSockets, Kong.
- Доставка приложения: Docker, Docker Compose, K8S, Azure DevOps.
Svelte обеспечивает минимальный объем бандла модуля чата. То есть пользователь выкачивает небольшое количество кода для использования чата. Веб-приложение работает быстро, потому что со стороны браузера выполняется минимум работы. На бэке TypeScript. Он снижает эффект неопределенности JS и строит более привычную архитектуру приложения. Redis и RabbitMQ необходимы для реализации общения между сервисами. WebSockets добавляют больше интерактивности и отзывчивости приложению. PostgreSQL — хорошая база данных, популярная, к тому же предложена клиентом.
В проекте мы серьезно прокачали ребят программистов, и получили бесценный опыт за пределами стандартного стека компании.
Итог
Пока рано делать выводы, но уже сейчас понятно, что чаты займут серьезную долю в общем количество обращений. Спустя три месяца после запуска их доля уже составляет 10%. Миграция пользователей незначительная — в мобильном приложении часть клиентов из формы обратной связи ушла в чат. А значит задача решена: пользователи чатов — новая аудитория.
Если вам понравился проект или у вас появились вопросы, то напишите через hello@arealidea.ru, и наш специалист проведет короткую онлайн-консультацию.
или на почту