Table of Contents | ||
---|---|---|
|
Введение
iQChannels - омниканальная бизнес-платформа для обслуживания клиентов в режиме чата в популярных цифровых каналах (сайтах, мобильных и веб приложениях, мессенджерах и социальных сетях) с возможностью автоматизации процессов обслуживания при помощи умных ботов. iQChannels встраивается в любую экосистему организации, интегрируясь с внутренними информационными системами такими как CRM, ДБО, АБС, MQ и др.
Основные возможности платформы
- Обслуживание клиентов и агентов (физических и юридических лиц) в формате чата.
- Ведение переписки как с анонимными клиентами, так и с идентифицированными.
- Управление очередью и маршрутизация обращений от клиентов.
- Реализация персонального клиентского обслуживания
1.0 Введение
IQChannels — это прикладной программный продукт, реализующий функции чата сотрудников банка с клиентами, содержащий готовые SDK для мобильных приложений, виджет для сайта, и интеграцию с различными внутренними системами банка (iSimpleBank 2.0 и другими системами дистанционного банковского обслуживания, АБС, CRM, Websphere MQ и др.).
1.1 Основные возможности
- Обслуживание клиентов (физические и юридические лица) в привычном им формате чата:
- через мобильное приложение компании (встроенный чат) на базе iOS/Android,
- через виджет в браузере.
- через популярные мессенджеры Telegram/Facebook Messenger/Вконтакте.
- Ведение переписки с анонимными клиентами и идентифицированными клиентами банка.
- Управление очередью входящих сообщений.
- Обмен различным контентом (текст, эмодзи, ссылки, фотоизображения, документы и др.).
- Управление качеством сервиса с помощью встроенных механизмов.
- Управление пользователями и их полномочиями (ролевая модель). По- умолчанию, три роли (администратор, супервизор, оператор), с возможностью создания новых ролей.
- Аналитика, мониторинг и отчетность.
- Локальная установка продукта.
- Возможность интеграции с ДБО, АБС, CRM, внешними системами (системами идентификации/авторизации клиентов/сотрудников и сотрудников и иными сторонними решениями).
- Обмен сообщениями внутри организации (корпоративный чат).
- Массовые рассылки и управление публичными каналами.
- Автоматизация процессов обслуживания с использованием технологий искусственного интеллекта.
Интеграция с цифровыми каналами
Платформа работает с различными цифровыми каналами благодаря наличию готовых:
- Mobile SDK для встраивания чата в мобильное приложение на iOS/Android.
- Готовая интеграция с интернет-банком и мобильными приложениями iSimpleBank 2.0.
...
- - для нативных мобильных приложений на базе платформ iOS и Android
- Web Widget - для сайтов, веб и мобильных приложений
- Open API - открытому API для любых цифровых каналов и приложений
- Soc&Mess adapters - адаптерам для работы с мессенджерами и социальными сетями (Telegram, Whatsapp, Viber, Facebook, ВКонтакте)
- Email - адаптер для работы с почтовым каналом в режиме чата
Требования для установки
Также см. требования к серверам.
- Операционная система: Linux x64, Windows x64, macOS x64.
- База данных: PostgreSQL 9.0+, Oracle 11gMSSQL 2008+ .
- iOS SDK: iOS 89.0+.
- Android SDK: Android 45.40+.
- Панель управления, рабочее место оператора: Chrome 49+, Firefox 47+, Safari 10+.
- Виджет для сайта: IE (web single-page-application): IE 11+, Edge, Chrome Chrome 49+, Firefox 47+, Safari 10+.
...
Описание поставки
IQChannels iQChannels поставляется в виде коробочного решения, готового для установки на серверы организации.
...
- Серверное приложение в виде скомпилированных бинарных файлов для всех поддерживаемых операционных систем.
- Скрипты миграций для баз данных. - какие данные будем мигрировать?
- Панель управления и рабочее место оператора (web single-page-application) в виде сжатых JavaScript, CSS и HTML файлов.
- iOS SDK: Objective-C SwiftUI фреймворк для интеграции в мобильное приложение с поддержкой основных менеджеров зависимостей для iOS (Cocoapods/Carthage).
- Android SDK: Java Kotlin maven artifact, готовый для использования с Gradle/Maven.
- Web widget: сжатые JavaScript и CSS файлы для интеграции с сайтом/интернет-банком.
- Документация.
...
Общая архитектура решения
- iQChannels Application Daemon — центральное монолитное приложение-демон, которое непосредственно взаимодействует с базой данных, интегрируется с внешними системами для авторизации клиентов/получения данных о клиентах (iSimpleiSimpleBank, CRM, сервисы на шине данных) и предоставляет два API для клиентских-приложений.
- Public API — единое публичное API, доступное из Интернета, которое используют все клиентские приложения для взаимодействия с сервером. Данное API сильно ограничено по функциональности и не дает возможности совершать административные или любые другие не клиентские функции. API едино для всех внешних клиентов, включая мобильные приложения и виджет на сайте.
- InternalPrivate API — внутреннее API, на базе которого построена панель управления и рабочее место оператора. Это API предоставляет полный доступ к системе, включая возможность создавать своих ботов. Внутреннее API является над множеством публичного API, т.е. оно также позволяет строить клиенты, которые работают по протоколу мессенджера в реальном времени.
- Reverse proxy Nginx — nginx Nginx или любой другой web-сервер, который проксирует запросы и постоянные соединения к приложению.
- iSimple/Websphere MQ/CRM ДБО, CRM — возможные точки интеграции с внешними системами, которые IQChannels iQChannels может использовать для авторизации клиентов и получения информации о клиентах.
- Push-notifications APNS, Firebase, Huawei — исходящие подключения к APNS-серверам (iOS) и GCM/Firebase-серверам/Huawei (Android) для отправки пуш-уведомлений на мобильные телефоны.
- Dashboard Панель управления, рабочее место оператора — панель управления и рабочее место оператора, написанное написанные поверх внутреннего API, как web single-page application.
- Bots — возможные боты, построенные поверх внутреннего API, которые iQBotEngine — возможность подключения бот-платформы (iQBot, либо другой сторонней платформы). API для работы с бот-платформой построен поверх внутреннего API. В рамках данного API, боты могут автоматически отвечать на сообщения пользователей.
3.0 Протокол мессенджера
Протокол для обмена сообщениями между клиентами и сервером построен на основе анализа протоколов существующих мессенджеров, включая Whatsapp, Telegram, VK, Facebook.
3.1 Технические характеристики
- HTTP 1.1 или HTTP 2.0 для отправки сообщений и для установки постоянных соединений.
- TLS 1.2 для обеспечения безопасности соединения.
- HTML5 Server-Sent Events поверх постоянного HTTP-соединения для получения новых сообщений в реальном времени.
- Если HTML5 SSE недоступны, тогда используется Websocket-соединение для получения новых сообщений в реальном времени.
- По умолчанию, API доступно на порте 3001.
3.2 Структура
Протокол делится на две части:
- REST-интерфейс для отправки сообщений, запроса данных.
- HTML5 SSE/Websocket-соединения для получения сообщений и событий в реальном времени.
3.3 Обзор алгоритма работы
После авторизации клиента (если клиент не анонимный) клиентское приложение (SDK для мобильных или виджет на сайте) получает последнее состояние с сервера и устанавливает постоянное подключение к серверу для получения событий о новых сообщениях, прочитанных сообщениях и т.д.
3.4 Авторизация клиентов
Для авторизации клиента используется существующие системы в мобильных приложениях/интернет-банках. Мобильное приложение может передать в SDK IQChannels любые данные для авторизации клиента (например, текущий токен авторизации в мобильном приложении или идентификатор сессии). Далее SDK передает эти данные по защищенному каналу на сервер iqchanneld, а последний использует внешнюю систему для авторизации клиента (например, iSimple или сервис на шине).
3.5 Синхронизация истории и получение обновлений
Вся история сообщений представляет собой последовательность событий, с постоянно увеличивающимися номером. Клиент, который частично синхронизировал данные, присылает номер последнего события и получает в реальном времени поток событий, начиная с этого номера.
Подобный подход использует Telegram и другие мессенджеры. Он позволяет с минимальными накладными расходами на трафик синхронизировать и получать консистентное состояние на клиенте.
...
Серверное приложение
Application Daemon — это монолитное серверное приложение, которое является центральной частью системы и реализует бизнес-логику приложения, но не пользовательский интерфейс. Для пользовательских интерфейсов серверное приложение предоставляет API:
...
2) внутреннее расширенное API, которое предоставляет доступ ко всей функциональности системы.
...
Технические характеристики
- Скомпилированные бинарные файлы для всех поддерживаемых операционных систем.
- Язык программирования: Go 1.79.
- Поддерживаемые базы данных: PostgreSQL, Oracle.
- Поддерживаемые операционные системы: Windows x86/x64, Linux x64, macOS x64.
...
Интеграция с внешними системами
Для авторизации клиентов и запроса достоверных клиентских данных клиентов для с целью отображения в интерфейсе оператора IQChannels должен , iQChannels может быть интегрирован с внешними системами банка.
Возможна интеграция с любыми внешними системами с использованием готового API.
Интеграция с iSimpleBank 2.0 поставляется из коробки и позволяет авторизовывать существующих клиентов банка через мобильные приложения и интернет-банк.
Интеграция с другими системами, в т.ч. с Websphere MQ или CRM возможна, но требует дополнительной заказной разработки.
...
SDK для iOS и Android
...
См. SDK.
Статистика и аналитика
iQChannels
SDK для обеих мобильных платформ разделены на две части:
- Публичный класс-синглтон, который реализует бизнес-логику и сетевое взаимодействие.
- Пользовательский интерфейс, построенный поверх бизнес-логики.
Подобное разделение позволяет, в случае необходимости, реализовать специфический пользовательский интерфейс для мессенджера без переписывания кода логики приложения.
5.1 iOS SDK
SDK для iOS представляет фреймворк, написанный на Objective-C.
- Язык программирования: Objective-C
- Поддерживаемые операционные системы: 8.0+.
- Поддерживаемые системы зависимостей: Xcode framework, Cocoapods, Carthage.
5.2 Android SDK
SDK для Android представляет собой Maven/Gradle артефакт, написанный на Java.
- Язык программирования: Java
- Поддерживаемые операционные системы: Android 4.4+.
5.3 Push-уведомления
Нативные пуш-уведомления используются для отправки новых сообщений на мобильные телефоны, когда отсутствует постоянное подключение клиента к серверу.
Для iOS используются APNS-серверы Apple. Для Android используются GCM/Firebase серверы Google. В панели управления IQChannels задаются сертификаты и ключи, которые серверное приложение будет использовать для отправки пуш-уведомлений.
6.0 Статистика и аналитика
IQChannels построено исходя из современных требований для сбора и последующего анализа данных. Панель управления предоставляет визуализацию базового среза текущей активности в системе, включая количество активных клиентов, операторов и т.д. Для более глубокого анализа данных система хранит в базе данных логи всей активности пользователей и сотрудников банка.
...
Логи и другие данные могут быть выгружены во внешнюю систему, например, в DWH, для дальнейшего анализа, построения OLAP-куба или для использования в рамках машинного обучения.
...
Установка в LAN или в DMZ
Серверное приложение может быть установлено как в во внутреннюю сеть банка, так и в DMZ.
Особенности установки в LAN:
- IQChannels iQChannels устанавливается в LAN.
- Для reverse proxy (nginx) в DMZ открывается доступ к серверу IQChannels iQChannels на порте 3001 (по умолчанию).
- На этом порте расположен сервер с публичным ограниченным API IQChannelsiQChannels. Публичное API не имеет доступа ни к какой административной или внутренней функциональности IQChannelsiQChannels.
- Для IQChannels iQChannels открывается доступ к необходимым внутренним системам, включая базу данных и систему авторизации клиентов.
Особенности установки в DMZ:
- IQChannels iQChannels устанавливается в DMZ.
- Reverse proxy (nginx) подключается к серверу IQChannels iQChannels по порту 3001 (по умолчанию).
- Для IQChannels iQChannels открывается доступ к базе данных.
- Для IQChannels iQChannels открывается доступ к системt системе авторизации клиентов, например, к сервису на шине или к iSimpleBank 2.0.
...
Поддержка внешних мессенджеров
На текущий момент IQChannels iQChannels поддерживает следующие мессенджеры:
- Telegram
- VK
- Viber
Отказоустойчивость и масштабируемость
iQChannels поддерживает работу в режиме кластера для обеспечения отказоустойчивости и горизонтальной масштабируемости сервера приложений.