Qiscus Omnichannel Widget

Website is an important part of a business presence. Therefore, it is very important to make it easy for customers to interact with your business through Live Chat. Qiscus provides an Omnichannel Widget feature where you can have more touch points by adding various channels as live chat options.

In addition to snippets to embed on a website, you can embed the widget in your Android app or even the iOS app. For more information on how to embed this widget in Android, please hop on to the Android Customization section, and for iOS, you can refer to iOS Customization.

Important notes:

  • To use Qiscus Omnichannel Widget, you must have a website.
  • You can add up to 6 channels. However, you can contact our team if you need to add more channels.
  • Channels added to Omnichannel Widget are not tightly related to the existing channel in Qiscus Omnichannel Chat.

Follow these steps to use Qiscus Omnichannel Widget:

  1. Go to the Integration page in the left sidebar menu,
  1. Select Qiscus Omnichannel Widget,
  1. Click Add Qiscus Omnichannel Widget,
  1. Fill in the channel name and then click Next,
  1. You can add channel auto responder in the next step, or you can skip this and select Set up later,
  1. In the Widget Builder section, scroll down and select Enable Channels,
  1. Click Add Channel button,
  1. A pop up to add Channel Widget will appear. Fill in the channel name and the channel link. In this example, we will add WhatsApp channel,

The example of channel and URL you can add to Qiscus Omnichannel Widget:

ChannelURLNote
WhatsApphttps://wa.me/your_phone_number_with_country_code?text=Hello+qiscus.com+team%2C+saya+ingin+berdiskusi+lebih+lanjut+mengenai+produk.%20From%20URL:%20https%3A%2F%2Fqiscus.com%2FYou can change the phone number and text as you desire
Facebookhttp://m.me/pageChange page with your page name
Instagramhttps://ig.me/m/usernameChange username with your own Instagram's username
LINE Non Businesshttps://line.me/ti/p/(LINE ID}Change LINE ID with your own LINE ID
Telegramhttps://t.me/{bot_name}Change bot_name with your Telegram bot name
Line Businesshttps://line.me/R/ti/p/@page_id?from=pageYou can change the page_id to your LINE bussines ID
Line Businesshttps://page.line.me/page_idYou can change the page_id to your LINE busines ID
  1. Upload Channel Badge Icon, and then click Add,
  1. Click Save button,
  1. You will see the added channel on the tab Channels,
  1. You can add another channel by click Add Channel button,
  1. Copy and paste the provided code script into your website.

Qiscus Omnichannel Widget Settings

You can disable, edit or delete channels that have been added to the Qiscus Omnichannel Widget.

To disable a channel, you can click the kebab button (three vertical dots) next to a channel and disable the status toggle.

You can disable Live Chat only if you have enabled at least one other channel in Qiscus Omnichannel Widget.

To edit a channel, you can follow these steps:

  1. Click the kebab button (three vertical dots) next to a channel and select Edit Channel,
  1. An Edit Channel Widget will appear. Edit the information and then click Save.

To delete a channel, you can click the kebab button (three vertical dots) next to a channel and select Delete Channel.

Make sure the toggle on your Qiscus Omnichannel Widget channel is enabled to ensure that your widget channel is active and usable.

If you want to deactivate this channel, you only need to disable the toggle on the selected channel. This will cause the channel to become inactive and prevent the channel from sending or receiving messages anymore.

Android in-app Widget

Requirements

  • Android Studio v4.1.3 or latest
  • Min SDK 16
  • Java 8
  • Kotlin v1.3.50

Installation

Add this URL reference in your project build.gradle

Bash
Copy

Then add this to your app build.gradle

Bash
Copy

How To Use

  1. Initialization

In order to use QiscusMultichannelWidget, you need to initialize it with your AppID (YOUR_APP_ID). Get more information to get AppID from here

Java
Copy

LOCALPREFKEY : local data identifier After the initialization, you can access all the widget's functions.

  1. Set The User

Set UserId before start the chat, this is mandatory.

Java
Copy

If you want to set user properties, you can set them using this function, for example:

Java
Copy
  1. Get Login Status

You can check whether the user has already logged in.

Java
Copy
  1. Start Chat

Use this function to start a chat.

Java
Copy
TitleDescription
showLoadingWhenInitiate(Boolean)set true if you want to show Qiscus Omnichannel Widget default loading page
initiateAndOpenChatRoom (Context)method to initiate chat and open Qiscus Omnichannel Widget Chat Room Activity

Customization

We provide several functions to customize the User Interface.

  1. Config

Use this method to configure the widget properties.

Channel Id is an identity for each widget channel. If you have a specific widget channel that you want to integrate into the mobile in-app widget, you can add your channel_id when you do initiateChat . You can get your list of channel id for the widget from:

  • Go to the Integration menu on the left bar
  • Look for Qiscus Widget
  • Select Qiscus Widget channel that you want to integrate
  • Spot the channel_id in array data
TitleDescription
setRoomTitleSet room name base on customer's name or static default.
setRoomSubTitle
setRoomSubTitle(RoomSubtitle.Enabled)Set enable room sub name by the system.
setRoomSubTitle(RoomSubtitle.Disabled)Set disable room sub name.
setRoomSubTitle(RoomSubtitle.Editable, "Custom subtitle")Set enable room sub name base on static default.
setHideUIEventShow/hide system event.
setAvatar
setAvatar(Avatar.Enable)Set enable avatar and name.
setAvatar(Avatar.Disabled)Set disable avatar and name.
setEnableNotificationSet enable app notification.
setChannelId(channelId: channel_id)Use this method to set your widget channel Id from Qiscus Omnichannel Chat.

Example to custom the config:

Java
Copy
  1. Color

Use this method to customize the widget color according to your application.

NoTitleDescription
1setNavigationColorSet navigation color.
2setSendContainerColorSet icon send border-color.
3setFieldChatBorderColorSet field chat border-color.
4setSendContainerBackgroundColorSet send container background-color.
5setNavigationTitleColorSet room title, room subtitle, and back button border color.
6setSystemEventTextColorSet system event text and border color.
7setLeftBubbleColorSet left bubble chat color (for: Admin, Supervisor, Agent).
8setRightBubbleColorSet right bubble chat color (Customer).
9setLeftBubbleTextColorSet left bubble text color (for: Admin, Supervisor, Agent).
10setRightBubbleTextColorSet right bubble text color (Customer).
11setTimeLabelTextColorSet time text color.
12setTimeBackgroundColorSet time background color.
13setBaseColorSet background color of the room chat.
14setEmptyTextColorSet empty state text color.
15setEmptyBackgroundColorSet empty state background color.

Push Notification

Follow these steps to set push notifications on your application

  1. Setup Firebase to Your Android App

If you already have setup Firebase in your Android app, you can skip this step and go to next step which is Generate FCM Server key. Otherwise, you can setup Firebase to your Android app by following these steps.

  1. Get FCM Server Key in Firebase Console

You can get FCM Server Key by following these steps:

  • Go to Firebase Console
  • Click your projects to see the overview your
  • On the top of left panel, click the gear icon on Project Overview menu. From the drop-down menu, click Project Settings.
  • Click the Cloud Messaging tab under Settings. On the Project Credentials, find and copy your Server Key.
  1. Setup FCM Server Key in The Qiscus Omnichannel Chat Dashboard

You can set FCM Secret Key by following these steps:

  • Go to Qiscus Omnichannel Chat page to register your email
  • Log in to Qiscus Omnichannel Chat with your email and password
  • Go to Setting menu on the left bar
  • Look for Notification
  • Click Android's Customer Widget Push Notification
  • In the Android (FCM Server Key) section, click +Add FCM Server Key to add your FCM Server Key,
  • Paste FCM Server Key value and click Save change

One App Id can only be associated with one FCM Project, make sure the FCM Server keys are from the same FCM Project, If you already put multiple FCM server keys but they are different FCM project, then our system deletes the related device token and the effect you will not receive FCM notification.

  1. Register Your FCM Token to Qiscus Omnichannel Widget

First you need to enable FCM for your app by calling configuration, for example:

Java
Copy

Set configuration before calling QiscusMultichannelWidget.setup() , for example:

Java
Copy

To enable FCM in ChatConfig, you need to register FCM token to notify Qiscus Omnichannel Widget, for example:

Java
Copy

You need to make sure every time open the app, the FCM token always needs to be registered in Qiscus Omnichannel Widget. To retrieve the current FCM token, you can see below code:

Java
Copy

Add the service.FirebaseServices in Manifest, for example:

Java
Copy

Make sure always to register FCM token when open the app

  1. Handle Incoming Message From Push Notification

After registering your FCM token, you will get data from FCM Qiscus Omnichannel Widget, you can handle by using isMultichannelMessage() function, for example:

Java
Copy

Troubleshoot

If you facing error like this

Java
Copy

Add this to your app build.gradle

Java
Copy

How to Run the Example

  1. Get your APPID
  • Go to Qiscus Omnichannel Chat page to register your email
  • Log in to Qiscus Omnichannel Chat with your email and password
  • Go to Setting menu on the left bar
  • Look for App Information
  • You can find APPID in the App Info
  1. Activate Qiscus Widget Integration
  • Go to Integration menu on the left bar
  • Look for Qiscus Widget
  • Slide the toggle to activate the Qiscus widget
  1. Set YOUR_APP_ ID in the Example
  • Open SampleApp.kt
  • Replace the appId with YOUR_APP_ID (step 1)
Java
Copy
  1. Start Chat

The example is ready to use. You can start to chat with your agent from the Qiscus Omnichannel Chat dashboard.

iOS in-app Widget

Requirements

  • iOS 10.0+
  • minimum XCode 11.4 (Support XCode 14)
  • Swift 5

Dependency

  • Alamofire
  • AlamofireImage
  • SwiftyJSON
  • QiscusCoreAPI
  • SDWebImage

Installation

CocoaPods

CocoaPods is a dependency manager for Cocoa projects. For usage and installation instructions, visit their website. To integrate QiscusMultichannelWidget into your Xcode project using CocoaPods, specify it in your Podfile:

Bash
Copy

How To Use

  1. Initialization

In order to use QiscusMultichannelWidget(), you need to initialize it with your AppID (YOUR_APP_ID). Get more information to get AppID from Qiscus Omnichannel Chat page

Swift
Copy

After the initialization, you can access all the widget's functions.

  1. Set The User

Set UserId before start the chat, this is mandatory.

Swift
Copy

If you want to set user properties, you can set them by using this function, for example:

Swift
Copy
  1. Get Login Status

User this function to check whether the user has already logged in.

Swift
Copy
  1. Start Chat

Use this function to start a chat.

Swift
Copy
  1. Clear User

Use this function to clear the logged-in users.

Swift
Copy
  1. Hide System Message

Configure system message visibility by calling setShowSystemMessage(isShowing: Bool) .

Swift
Copy

Customization

We provide several functions to customize the User Interface.

  1. Config

Use this method to configure the widget properties.

Channel Id is an identity for each widget channel. If you have a specific widget channel that you want to integrate into the mobile in-app widget, you can add your channel_id when you do initiateChat. You can get your list of channel id for the widget from:

  • Go to the Integration menu on the left bar
  • Look for Qiscus Widget
  • Select Qiscus Widget channel that you want to integrate
  • Spot the channel_id in array data
TitleDescription
setRoomTitleSet room name base on customer's name or static default.
setRoomSubTitle
setRoomSubTitle(RoomSubtitle.Enabled)Set enable room sub name by the system.
setRoomSubTitle(RoomSubtitle.Disabled)Set disable room sub name.
setRoomSubTitle(RoomSubtitle.Editable, "Custom subtitle")Set enable room sub name base on static default.
setHideUIEventShow/hide system event.
setAvatar
setAvatar(Avatar.Enable)Set enable avatar and name
setAvatar(Avatar.Disabled)Set disable avatar and name
setEnableNotificationSet enable app notification.
setChannelId(channelId: channel_id)Use this method to set your widget channel Id from Qiscus Omnichannel Chat.

Example to custom in config:

Java
Copy
  1. Color

Use this method to customize the widget color according to your application.

NoTitleDescription
1setNavigationColorSet navigation color.
2setSendContainerColorSet icon send border-color.
3setFieldChatBorderColorSet field chat border-color.
4setSendContainerBackgroundColorSet send container background-color.
5setNavigationTitleColorSet room title, room subtitle, and back button border color.
6setSystemEventTextColorSet system event text and border color.
7setLeftBubbleColorSet left bubble chat color (for: Admin, Supervisor, Agent).
8setRightBubbleColorSet right bubble chat color (Customer).
9setLeftBubbleTextColorSet left bubble text color (for: Admin, Supervisor, Agent).
10setRightBubbleTextColorSet right bubble text color (Customer).
11setTimeLabelTextColorSet time text color.
12setTimeBackgroundColorSet time background color.
13setBaseColorSet background color of the room chat.
14setEmptyTextColorSet empty state text color.
15setEmptyBackgroundColorSet empty state background color.

Push Notification

Follow these steps to set push notifications on your application

  1. Create the Certificate Signing Request (CSR)
  • Open Keychain Access on your Mac (Applications -> Utilities -> Keychain Access)
  • Select Request a Certificate From a Certificate Authority
  • Fill User Email Address, Common Name (Example: John Doe Dev Key), and select the Saved to disk on Request is group
  1. Create the Push Notification SSL certificate in Apple Developer site
  • Log in to the Apple Developer Member Center
  • Go to the Certificates, Identifiers & Profiles menu
  • Select Certificates , then click the Plus (+) button
  • Select Apple Push Notification service SSL (Sandbox & Production) and click continue.
  • Select AppID then click continue
  • Upload the CSR file (step 1) to complete this process
  • Download an SSL certificate
  • Double-click the file and register it to your login Keychain
  1. Upload the p12 file to Qiscus dashboard
  • Click the Certificates category from the left menu, under the Keychain Access
  • Select the Push SSL certificate that you registered before
  • Right-click the certificate
  • Select export to save the file to your disk
  • Go to Qiscus Help page to submit your request

  • Full fill the requirements below:

    • Email, Subject, and Description
    • Select Multichannel CS Chat in Product Associated
    • Select Multichannel Customer Service Chat in Category of Query
    • Fill YOUR_APP_ID in Application ID
  • Click Submit

This example is a production push notification certificate. You need to create a development push notification certificate and p12 file, then submit it as an attachment for Xcode users.

  1. Register the device token to Qiscus Omnichannel Widget.
  • Create a class to hold the Widget. In this example, we will use a Singleton Object class called ChatManager that will wrap the QiscusMultichannelWidget functionalities. In this step, we will highlight the deviceToken registration and notification tap handling.
Swift
Copy
  • In your app's AppDelegate , store your device token as a variable.
Swift
Copy
  1. Test the push notification from third party

Use the Easy APNs Provider tools

Follow steps 1 - 5 tools to test push notification. We use cert Apple Development IOS Push Service to test it

How to Run the Example

  1. Get your APPID
  • Go to Qiscus Omnichannel Chat page to register your email
  • Log in to Qiscus Omnichannel Chat with your email and password
  • Go to Setting menu on the left bar
  • Look for App Information
  • You can find APPID in the App Info
  1. Activate Qiscus Widget Integration
  • Go to Integration menu on the left bar
  • Look for Qiscus Widget
  • Slide the toggle to activate the Qiscus widget
  1. Run pod install

After cloning the example, you need to run this code to install all Cocoapods dependencies needed by the Example

Bash
Copy
  1. Set YOUR_APP_ID in the Example
  • Open Example/ChatManager.swift
  • Replace the appId at line 21 with YOUR_APP_ID (step 1)
Swift
Copy
  1. Start Chat

The Example is ready to use. You can start to chat with your agent from the Qiscus Multichannel Chat dashboard.

React Native in-app

Requirements

  • ReactNative: ^0.63.4

Dependency

  • @react-native-async-storage/async-storage: ^1.15.9
  • react-native-document-picker: ^7.1.0

Installation

Javascript
Copy

How To Use

  1. Initialization

In order to use MultichannelWidgetProvider, you need to initialize it with your AppID (YOUR_APP_ID). Get more information to get AppID from Qiscus Omnichannel Chat page

Javascript
Copy

After the initialization, you can access all the widget's functions.

  1. Set The User

Set UserId before start the chat, this is mandatory.

Javascript
Copy
  1. Get Login Status

Use this function to check whether the user has already logged in.

Javascript
Copy
  1. Start Chat

Use this function to start a chat.

Javascript
Copy
  1. Clear User

Use this function to clear the logged-in users.

Javascript
Copy
  1. Hide System Event

Use this function to configure system message visibility

Javascript
Copy

Customization

We provide several functions to customize the User Interface.

  1. Config

Use this method to configure the widget properties.

Channel Id is an identity for each widget channel. If you have a specific widget channel that you want to integrate into the mobile in-app widget, you can add your channel_id when you do initiateChat . You can get your list of channel id for the widget from:

  • Go to the Integration menu on the left bar
  • Look for Qiscus Widget
  • Select Qiscus Widget channel that you want to integrate
  • Spot the channel_id in array data
TitleDescription
setRoomTitleSet room name base on customer's name or static default
setRoomSubTitle
setRoomSubTitle(RoomSubtitle.Enabled)Set enable room sub name by system
setRoomSubTitle(RoomSubtitle.disabled)Set disable room sub name
setRoomSubTitle(RoomSubtitle.Editable, "Custom subtitle")Set enable room sub name base on static default.
setHideUIEventShow/hide system event.
setAvatar
setAvatar(Avatar.Enable)Set enable avatar and name
setAvatar(Avatar.Disabled)Set disable avatar and name
setEnableNotificationSet enable app notification
setChannel(channel_id)Use this method to set your widget channel Id from Qiscus Omnichannel Chat.

Example to custom the config:

Javascript
Copy
  1. Color

Use this method to customize the widget color according to your application.

NoTitleDescription
1setNavigationColorSet navigation color.
2setSendContainerColorSet icon send border-color.
3setFieldChatBorderColorSet field chat border-color.
4setSendContainerBackgroundColorSet send container background-color.
5setNavigationTitleColorSet room title, room subtitle, and back button border color.
6setSystemEventTextColorSet system event text and border color.
7setLeftBubbleColorSet left bubble chat color (for: Admin, Supervisor, Agent).
8setRightBubbleColorSet right bubble chat color (Customer).
9setLeftBubbleTextColorSet left bubble text color (for: Admin, Supervisor, Agent).
10setRightBubbleTextColorSet right bubble text color (Customer).
11setTimeLabelTextColorSet time text color.
12setTimeBackgroundColorSet time background color.
13setBaseColorSet background color of the room chat.
14setEmptyTextColorSet empty state text color.
15setEmptyBackgroundColorSet empty state background color.

Push Notification

In order to activate your push notification, you could ask us to set it up by creating a ticket at Qiscus Support and providing your FCM or iOS certificate within the ticket.

How To Run The Example

  1. Get your APPID
  • Go to Qiscus Omnichannel Chat page to register your email
  • Log in to Qiscus Omnichannel Chat with your email and password
  • Go to ‘Setting’ menu on the left bar
  • Select ‘App Information’ menu
  • You can find APPID in the App Info
  1. Activate Qiscus Widget Integration
  • Go to ‘Integration’ menu on the left bar
  • Select ‘Qiscus Widget’
  • Slide the toggle to activate the Qiscus widget
  1. Run npm install
Javascript
Copy
  1. Set YOUR__APP__ID in the Example
  • Open example/src/App.tsx
  • Replace the APP_ID at line 12 with your appId
Javascript
Copy
  1. Start Chat

The example is ready to use. You can start to chat with your agent from the Qiscus Omnichannel Chat dashboard.

Flutter in-app

Requirements

  • Dart SDK version >=2.16.0 <3.0.0
  • Flutter SDK version >=1.17.0

Installation

Javascript
Copy

How to Use

  1. Initialization

In order to use QMultichannelWidget, you need to initialize it with your AppId (YOUR_APP_ID). Get more information to get AppId from Qiscus Omnichannel Chat Page.

Javascript
Copy

After the initialization, you can access all the widget’s functions.

  1. Set The User

Set userId before start the chat, this is mandatory.

Javascript
Copy
  1. Get Login Status

Use this getter to check whether the user has logged in or not.

Javascript
Copy
  1. Start Chat

Use this function to start a chat

Javascript
Copy
  1. Clear User

Use this function to clear the loged-in users.

Javascript
Copy
  1. Hide system message

Configure system message visibility by providing parameter when initiating multichannel widget

Javascript
Copy

Customization

We provide several functions to customize the User Interface.

  1. Config

Use this method to configure the widget properties.

Channel Id is an identity for each widget channel. If you have a specific widget channel that you want to integrate into the mobile in-app widget, you can add your channel_id when you do initiateChat . You can get your list of channel id for the widget from:

  • Go to the Integration menu on the left bar
  • Look for Qiscus Widget
  • Select Qiscus Widget channel that you want to integrate
  • Spot the channel_id in array data
TitleDescription
titleSet room name base on customer's name or static default
subtitleSet enable room sub name by system
hideSystemUIShow/hide system event.
avatarSet enable avatar and name
channelIdUse this method to set your widget channel Id from Qiscus Omnichannel Chat.
themeChange some basic colorization on the widget (more info on the table below)

Example to custom the config:

Javascript
Copy
  1. Color

Use this method to customize the widget color according to your application.

NoTitleDescription
1navigationColorSet navigation color.
2sendContainerColorSet icon send border-color.
3fieldChatBorderColorSet field chat border-color.
4sendContainerBackgroundColorSet send container background-color.
5navigationTitleColorSet room title, room subtitle, and back button border color.
6systemEventTextColorSet system event text and border color.
7leftBubbleColorSet left bubble chat color (for: Admin, Supervisor, Agent).
8rightBubbleColorSet right bubble chat color (Customer).
9leftBubbleTextColorSet left bubble text color (for: Admin, Supervisor, Agent).
10rightBubbleTextColorSet right bubble text color (Customer).
11timeLabelTextColorSet time text color.
12timeBackgroundColorSet time background color.
13baseColorSet background color of the room chat.
14emptyTextColorSet empty state text color.
15emptyBackgroundColorSet empty state background color.

Push Notification

You can follow these steps to set push notifications using Flutter:

  1. Register Your FCM Token to Qiscus Omnichannel dashboard,
  2. Install/setup Firebase messaging on flutter project by following this guide,
  3. Register device token using setDeviceId(your_device_token) method from Qiscus Omnichannel widget for flutter before calling initiateChat()
Javascript
Copy

How to run the example

  1. Get your APPID
  • Go to Qiscus Omnichannel Chat page to register your email
  • Log in to Qiscus Omnichannel Chat with yout email and password
  • Go to ‘Setting’ menu on the left bar
  • Look for ‘App Information’
  • You can find APPID in the App Info
  1. Activate Qiscus Widget Integration
  • Go to ‘Integration’ menu on the left bar
  • Look for ‘Qiscus Widget’
  • Slide the toggle to activate the Qiscus widget
  1. Run flutter pub get

After cloning the example, you need to run this code to install all C_ocoapods_ dependencies needed by the Example

Javascript
Copy
  1. Set YOUR_APP_ID in the Example

Open example/lib/main.dart . Replace the YOUR_APP_ID at line 19 with your appId.

Javascript
Copy
  1. Start Chat

The Example is ready to use. You can start to chat with your agent from the Qiscus Omnichannel Chat dashboard.

Security in Qiscus widget

Maintaining the security of sensitive information exchanged between businesses and customers is of utmost importance. The Enhance Conversation Security feature from Qiscus aims to increase the security of conversations that initiate from the Widget channel.

Enabling this feature triggers the automatic creation of a new chat room whenever a customer uses a different device or browser to send messages to your Widget channel. As a result, customers using distinct devices or browsers will be unable to access the conversation history. However, you must understand that enabling this feature could potentially lead to an increase in your total count of Monthly Active Users (MAU).

This feature becomes accessible starting from Qiscus Omnichannel iOS Widget v2.3.0, and Qiscus Omnichannel Android Widget v2.2.0.

You can enable this feature via the Settings menu on each Widget channel.

Once you enabled this feature, there will be a Secure icon on the Chat & Customer Info page.

When you add a new Qiscus Widget channel, you are required to agree to the Terms of Conditions that have been provided and the Enhance Conversation Security feature will be automatically enabled. But you can disable this feature afterwards via the Settings menu.

Type to search, ESC to discard
Type to search, ESC to discard
Type to search, ESC to discard
  Last updated