What are the configuration settings for the ASAP SalesIQ Flutter SDK? 

What are the configuration settings for the ASAP SalesIQ Flutter SDK?

To display details of anonymous users in the chat module to your agents:

When an anonymous user contacts the customer support agent via the SalesIQ Chat, their details usually do not appear on the agent's screen. However, you can configure the ASAP help widget to display these details after receiving them from the concerned user.
 
To configure this setting, use the following method:
  1. import 'package:zohodesk_portal_siq/zohodesk_portal_siq.dart';
  2.  
  3. void setGuestUserDetails() {
  4.   ZohodeskPortalSiq.setGuestUserDetails("John Doe", "johndoe@example.com", "+1234567890");
  5. }
InfoAdditionally, agents can convert chat conversations into tickets if additional user interactions are required later. The email address is a mandatory parameter for such a conversion.
To use SalesIQ configurations, import the ZohoDeskPortalSalesIQ module: 
  1. import 'package:zohodesk_portal_siq/zohodesk_portal_siq.dart';
AlertThis SalesIQ configuration is provided in the ASAP SDK starting from version 2.1.0. In versions below 2.1.0, the preChatForm was disabled by default. From version 2.1.0 onwards, it is enabled by default. Please set your configuration preferences accordingly.
Info
After successfully initializing SalesIQ, you can proceed with the additional configurations.
Info
For a smooth user experience, ensure that all necessary configurations are applied after initialization.

setSalesIQInitCallback

For SalesIQ configuration,  you need to set up all the required configurations in SalesIQInitCallback.onInitialized block of the Init Callback.
Idea
Ensure that SalesIQ Init callback is set before calling ZohodeskPortalApikit.initializeSDK(orgId, appId, datacenterValue)
Parameters:
onInitialized - This is called when the SalesIQ SDK is successfully initialized.
onException - This is called when the SDK initialization fails. 

Example
Here is the example SalesIQ configurations set within the callback:
  1. import 'package:zohodesk_portal_siq/common/SalesIQInitCallback.dart';
  2. import 'package:zohodesk_portal_siq/zohodesk_portal_siq.dart';

  3. class InitCallback implements SalesIQInitCallback{
  4.   @override
  5.   void onException( String? errorMessage) {
  6.     //SalesIQ Init Failure
  7.   }

  8.   @override
  9.   void onInitialized() {
  10.     //SalesIQ Init Success
  11.   }
  12. }

  13. void setInitCallback() {
  14.   ZohodeskPortalSiq.setSalesIQInitCallback(InitCallback());
  15. }

setLauncherVisibility

The ZohodeskPortalSiq.setLauncherVisibility(LauncherMode) API allows you to manage the visibility of the SalesIQ launcher based on the specified launcher mode.

Parameters of LauncherMode:
ALWAYS_VISIBLE - The launcher will always be visible.
NEVER_VISIBLE - The launcher will always be hidden.
VISIBLE_WHEN_ACTIVE_CHAT - The launcher will be visible only when there is an active chat.
  1. import 'package:zohodesk_portal_siq/common/LauncherMode.dart';
  2. import 'package:zohodesk_portal_siq/zohodesk_portal_siq.dart';
  3.  
  4. void setLauncherVisibility() {
  5.   ZohodeskPortalSiq.setLauncherVisibility(LauncherMode.NEVER_VISIBLE);
  6. }

enableDragToDismiss

The ZohodeskPortalSiq.enableDragToDismiss(Boolean) allows closing the SalesIQ launcher by dragging and dropping it on the close button.
  1. ZohodeskPortalSiq.enableDragToDismiss(true);

setConversationTitle

This ZohoDeskPortalSalesIQ.setConversationTitle(String) API allows you to set the title for the conversations list screen in SalesIQ.
  1. ZohodeskPortalSiq.setConversationTitle("Set conversation title here");

setConversationVisibility

This ZohoDeskPortalSalesIQ.setConversationVisibility(Boolean) API can be used to enable or disable the visitor conversation history in the salesIQ UI.

Parameters:
true - Displays the conversation screen (default).
false - Hides the conversation screen.
Notes
This API cannot be used to enable the conversation history on the UI if it is disabled in the portal settings.
  1. ZohodeskPortalSiq.setConversationVisibility(true);

showFeedbackAfterSkip

The ZohoDeskPortalSalesIQ.showFeedbackAfterSkip(Boolean) API allows you to manage the duration of the feedback card for 24 hours after the chat ends.

Parameters:
enable:
true - The feedback card will be displayed permanently (default).
false - The feedback card will be displayed for 24 hours until feedback is given.
Notes
The feedback card will always have the Skip option. When enable is "false" and upon clicking on Skip, the card will not be displayed again until the next chat. 
  1. ZohodeskPortalSiq.showFeedbackAfterSkip(false);

hideQueueTime

The ZohoDeskPortalSalesIQ.hideQueueTime(Boolean) API controls the visibility of the chat queue time in the chat window when connecting to an operator.

Parameter:
true - This hides chat queue time (default).
false - This displays the chat queue time.
  1. ZohodeskPortalSiq.hideQueueTime(true);

setLoggerEnabled

This setLoggerEnabled( Boolean ) lets you request your application debug logs from the visitor. By setting the boolean value, you can choose to enable or disable the request app log feature for your operators in the SalesIQ dashboard.

Parameter:
true - Enables the logs.
false - Disables the logs (default).
  1. ZohodeskPortalSiq.setLoggerEnabled(true);

showOfflineMessage

This showOfflineMessage( Boolean ) API will set an offline banner in the chat window during non-business hours and when agents are busy to help visitors leave a message even when agents are unavailable.

Parameters:
true - Displays the offline message card (default).
false - Hides the offline message card.
  1. ZohodeskPortalSiq.showOfflineMessage(true);

setKnowledgeBaseVisibility

The ZohodeskPortalSiq.setKnowledgeBaseVisibility(Boolean) API allows you to manage the resource's visibility in the Mobilisten knowledge base section.


Parameters:

true - This will display the resource type (default).
false - This will hide the resource.
NotesThe API will work when "Articles" is enabled under brand settings. To check, navigate to Settings > Brands > Personalisation > Knowledge Base > Article from your SalesIQ dashboard. 

  1. ZohodeskPortalSiq.setKnowledgeBaseVisibility(true);

setChatVisibility

This ZohodeskPortalSiq.setChatVisibility(chatComponents, true) API lets you toggle the function of various components in SalesIQ.
Info
The components' settings are considered only if their function is enabled in portal settings. 
Parameter of ChatComponent:

Chat component

Function description

Default setting

PRECHAT_FORM

Enable/disable the pre-chat form before initiating a chat.

Enabled

OPERATOR_IMAGE
Enable/disable the attendee's profile image in the chat window.
Enabled
VISITOR_NAME
This option is used to configure the visibility of the visitor's name for all outgoing messages.
Disabled
SCREENSHOT
Enable/disable the ability to take screenshots from the adding attachments menu.
Enabled
RATING
Enable/disable the option to rate a chat after it has ended.
Enabled
FEEDBACK
Enable/disable the option to give feedback after a chat has ended.
Enabled
EMAIL_TRANSCRIPT
Enable/disable the option to request an email transcript for a chat.
Enabled
FILE_SHARE
Enable/disable the access to send files from the files application in chat.
Enabled
END
Controls the visibility of the end action option in the chat window.
Enabled

END_WHEN_BOT_CONNECTED

Show/hide the end chat option only for the bot-connected chats.

Enabled

END_WHEN_OPERATOR_CONNECTED

Controls the visibility of the end action option in the chat window when a human operator is connected.Enabled

END_WHEN_IN_QUEUE

Controls the visibility of the end action option in the chat window when the user is in the queue.Enabled

QUEUE_POSITION

Controls the visibility of the queue position in the chat window. Enabled
REOPEN
Show/hide the reopen chat button in the chat window.
Enabled
  1. import 'package:zohodesk_portal_siq/common/ChatComponent.dart';
  2. import 'package:zohodesk_portal_siq/zohodesk_portal_siq.dart';
  3.  
  4. void setChatVisibility() {
  5.   ZohodeskPortalSiq.setChatVisibility(ChatComponent.PRECHAT_FORM, true);// Add other configurations as needed...
  6. }