Guide and Digital Chat Architecture
Instead of a single solution for chat, CXone Mpower uses a snippet that runs multiple modules. These modules can be downloaded and activated depending on your needs. By default, the snippet includes:
-
Web Module Loader
-
Web Analytics module
-
Session Storage module
The following modules are then downloaded depending on your desired setup:
-
Guide (including rules engine)
-
Chat
Only downloading the necessary modules keeps the required download size to a minimum. The chat window uses lazy loading to download only specific parts of the solution when necessary.
| Module | Asset | Size | Compressed |
|---|---|---|---|
| Loader |
|
|
|
|
Guide |
|
|
|
|
|
|
|
|
| Chat |
|
|
|
|
|
|
|
Guide Frontend
The Guide frontend module contains a JavaScript application built using the Svelte framework. It is designed to minimize size and enhance the developer experience. It uses state stores to control displayed content.
On initialization, it fetches tenant
High-level organizational grouping used to manage technical support, billing, and global settings for your CXone Mpower system.-specific configuration, processes rules with a bundled engine, and may make back-end API
Application Programming Interface. Allows you to automate certain functionality by connecting your CXone Mpower system with other software. calls for additional information or offers.
The Guide frontend module leverages the Session Storage and Web Analytics modules to:
-
Persist session data.
-
Dispatch events for analytics, including page views and offer responses.
Chat Frontend
The chat window and widget are built within a React framework and use WebSocket for secure communication. SSL/TLS
Transport Layer Security. A protocol that provides end-to-end security for data sent between applications. encryption ensures secure communication, with end-to-end encryption applied for both WebSocket and REST
An interface between two computer systems that allows the secure exchange of data over the internet. API data transfers.
Local storage is used to maintain chat sessions, allowing continuity even after a page reloads, a PC restarts, or the user switches between tabs. The cache in local storage is used for better performance.
For secured sessions, customer identification is not stored in local storage. Instead, it's stored within secure cookies or a third-party authorization server. This page provides more information on data security in Digital Experience.
Chat is loaded asynchronously, ensuring it doesn't delay the loading of other website elements.
Backend Integration
Web Analytics Module
The Web Analytics module communicates with the Digital Experience backend using RESTful POST and PUT API calls over HTTPS. If the module cannot communicate with the backend, it will disable itself and record its disablement in the Session Storage module. This prevents unnecessary errors in the console. To run it again, open a new browser window. This resets the Session Storage module.
Guide Module
The Guide module requests configuration data from configuration endpoints. This data includes rules, templates, and entry point definitions. It uses a content delivery network (CDN) for better performance. The Web Analytics module does all writing to the backend, including interacting with the Chat module.
The Guide module maintains data about the current visitor and visit. It stores this in local storage using the Session Storage module. The Session Storage module divides the data by tenant ID.
|
Data maintained in session storage |
Data maintained in local storage |
|---|---|
|
|
Chat Module
The chat client communicates with the backend through a secured WebSocket. It sends data changes such as messages and field updates to the backend through a WebSocket server. Digital Experience exposes changes through real-time webhook events, allowing third-party integrations and other consumers to access updated data. When an agent updates a chat interaction, async events are sent to the chat client.
Messages are encrypted and stored in Elastic Search. In Digital Experience, you can automate processes to remove sensitive data, such as financial information and personal IDs, from messages. Attachments are stored in Cloud Storage. Only those with proper authentication can access them.