Introduction

The Avaya Infinity™ platform provides the Omni SDK, which enables you to add the chat capabilities of the Avaya Infinity™ platform to your client applications. The Omni SDK is a set of libraries that provides APIs and UI components designed to facilitate the seamless integration of Avaya Infinity Omni channel functionalities into your client applications.

Next Steps

  1. Review the key components and integration flow involved to achieve Omni SDK integration in the Integration Steps section.
  2. Reach out to your Avaya Infinity™ account administrator to obtain appropriate access information for a Web Chat integration.
  3. Refer to these supporting artifacts:
  4. Integrate your client applications with Avaya Omni SDK to enable web chat capabilities.

Integration Steps

Integration with Avaya Infinity™ Omni SDK requires the following steps at a high level:

  1. Provision a Web Chat Integration
  2. Understand how to enable your Backend Web App Service to authorize each end user using your Client Application to access Avaya Infinity™ capabilities.
  3. Integrate your Client Application with Omni SDK to use Avaya Infinity™ capabilities.

The below image gives an overview of a high level flow of how these all the components work together to form the solution.

Omni SDK Overview

Provision a Web Chat Integration

Your Account Administrator must first create a Web Chat integration for the Omni SDK using the Avaya Infinity™ admin console. An Integration represents the entry point for conversations initiated through your client applications meant for a business function. Multiple Integrations can be created in an Avaya Infinity™ Account to represent various business functions. Various configurations can be set on each Integration to control the behavior of the conversations initiated through it, like:

  • Routing details for the conversation (workflows and queues).
  • Attachment types and size limits allowed for the customer to send.
  • Look and feel of the chat widget including the colors and window title text.
  • Canned messages that the SDK can display to the customer before the customer sends any message.
  • Enable or disable various buttons that appear on the chat widget.

Details Required for Web Chat Integration

To integrate your client application with Avaya Infinity™ Omni SDK for web chat capabilities, you need to gather some essential details and credentials. Reach out to your Avaya Infinity™ account administrator to obtain the following information:

  • For your Backend Web App (To generate JWT):

    • Avaya Infinity™ hostname
    • Account Id
    • Web Chat Integration Id
    • Client Id
    • Client Secret
  • For using the Omni SDK:

    • Avaya Infinity™ hostname
    • Web Chat Integration Id
    • URL of your Backend Web App Service (to fetch JWT)

Each Web Chat Integration is identified by a unique integrationId. Your Account Administrator should be able to provide you with the integrationId of the Web Chat Integration created for your client application.

When the Omni SDK is loaded and initialized by your client application, it will load the configuration of the Web Chat Integration configured by your Account Administrator and behave accordingly. Hence it is important that the integrationId is correct and the Web Chat Integration is configured properly to meet your business requirements.

Authorization

The Omni SDK requires a JSON Web Token (JWT) to connect to Avaya Infinity™ services. A unique token must be generated for each end user (your customers). Since your backend web application is aware of the user using your services, it should securely fetch the token from Avaya Infinity™ for the user whenever your application requires it.

Omni SDK Authorization

In order to fetch the JWT from Avaya Infinity™, your backend web application server needs to call the Generate JWT API with the required parameters. The API will return a new JWT that your client application must provide it to the Omni SDK while loading, initializing and whenever the JWT expires.


📘

Important

Ensure your backend web application does not expose the clientId and secret required to call the Generate JWT API to your client applications, which is the main reason why the JWT is fetched by your backend web application server. If the clientId and secret are exposed to the end user's device, they could be misused.


Sample Backend Web Application Server

To help you add the JWT fetching mechanism into your backend web application server, you can refer the code of sample backend web application. You can also run this Node.js application (after providing some basic configuration) to quickly test fetching JWTs for your Client Application. Note that this is just a sample application and not meant to be directly used in production.

Using the Omni SDK

Once your backend web application is ready, you can add the Omni SDK to your client application. The Omni SDK is modular and consists of three main modules:

  • Omni SDK Core - Prerequisite module, which provides the basic functionality to establish session with Avaya Infinity™ platform.
  • Omni SDK Messaging - Dependent on the core module and provides ability to send messages and listen to events occurring on a conversation.
  • Omni SDK Messaging UI - Dependent on the core module and provides customizable built-in Messaging UI component to view the messages exchanged on the conversation and send messages or attachments.

Combining the Modules

The Omni SDK modules can be used independently or together based on your requirements. Each module is packaged as a separate library. You can select the modules that are necessary to meet your business requirements and include them exclusively into your client application.

Use Cases

  • Use the Avaya Infinity™ Built-in Messaging UI

    If you need to simply add the Avaya Infinity™ Web Chat capabilities to your client application, the easiest way is to use the built-in Messaging UI provided by our Omni SDK. In this case, you need to include the Messaging UI module. It will automatically include the Core and Messaging modules as dependencies.

  • Integrate Avaya Infinity™ Omni SDK with your own chat UI

    If you want to integrate your own Chat UI with Avaya Infinity™, you need to include the Messaging module, which will automatically include the Core module as a dependency.