Configuration
Description
WebChat and WebChatService share the configuration namespace '_genesys.widgets.webchat'. WebChat has UI options while WebChatService has connection options.
Example
window._genesys.widgets.webchat = {
apikey: 'n3eNkgLLgLKXREBMYjGm6lygOHHOK8VA',
dataURL: 'https://api.genesyscloud.com/gms-chat/2/chat',
userData: {},
emojis: true,
uploadsEnabled: false,
confirmFormCloseEnabled: true,
actionsMenu: true,
maxMessageLength: 140,
autoInvite: {
enabled: false,
timeToInviteSeconds: 10,
inviteTimeoutSeconds: 30
},
chatButton: {
enabled: true,
template: <div class='cx-icon' data-icon='chat'></div>,
effect: 'fade',
openDelay: 1000,
effectDuration: 300,
hideDuringInvite: true
},
async: {
enabled: true,
newMessageRestoreState: 'minimized',
getSessionData: function(sessionData, Cookie, CookieOptions) {
Cookie.set('customer-defined-session-cookie', JSON.stringify(sessionData), CookieOptions);
},
setSessionData: function(Open, Cookie, CookieOptions) {
return Cookie.get('customer-defined-session-cookie');
}
}
};
Options
| Name | Type | Description | Default | Required |
|---|---|---|---|---|
| emojis | boolean | Enable/disable Emoji menu inside chat message input. | true | n/a |
| form | object | A JSON object containing a custom registration form definition. The JSON definition placed here becomes the default registration form layout for WebChat. See Customizable Chat Registration Form | A basic registration form is defined internally by default | n/a |
| uploadsEnabled | boolean | Show/Hide the Send File button. The button will be shown if the value is set to true. | false | n/a |
| confirmFormCloseEnabled | boolean | Enable or disable displaying a confirmation message before closing WebChat if information has been entered into the registration form. | true | n/a |
| timeFormat | number/string | This sets the time format for the timestamps in this widget. It can be 12 or 24. | 12 | false |
| actionsMenu | boolean | Enable/disable actions menu next to chat message input. | true | n/a |
| maxMessageLength | number | Set a character limit that the user can input into the message area during a chat. When max is reached, user cannot type any more. By default, no limit is imposed by the client. | n/a | n/a |
| autoInvite.enabled | boolean | Enable/disable auto-invite feature. Automatically invites user to chat after user idles on page for preset time. | false | n/a |
| autoInvite.timeToInviteSeconds | number | Number of seconds of idle time before inviting customer to chat. | 5 | n/a |
| autoInvite.inviteTimeoutSeconds | number | Number of seconds to wait, after showing invite, before closing chat invite. | 30 | n/a |
| chatButton.enabled | boolean | Enable/disable chat button on screen. | false | n/a |
| chatButton.template | string | Custom HTML string template for chat button. | <div class='cx-widget cx-webchat-chat-button' data-message='ChatButton' data-gcb-service-node='true'><div class='cx-icon' data-icon='chat'></div><span class='i18n' data-message='ChatButton'></span></div> |
n/a |
| chatButton.effect | string | Type of animation effect when revealing chat button. 'slide' or 'fade'. | fade | n/a |
| chatButton.openDelay | number | Number of milliseconds before displaying chat button on screen. | 1000 | n/a |
| chatButton.effectDuration | number | Length of animation effect in milliseconds | 300 | n/a |
| chatButton.hideDuringInvite | boolean | When auto-invite feature is activated, hide the chat button. When invite is dismissed, reveal the chat button again. | true | n/a |
| async.enabled | boolean | Enable Asynchronous Chat where a chat session can be active indefinitely. You can simply close WebChat without ending the chat session, the session will simply go dormant. When you open WebChat again, the session will restore and continue chatting where left off. Currently, Async Chat is supported only in cometD mode and it should be enabled. | false | n/a |
| async.newMessageRestoreState | string | Determines how WebChat should be shown when a new message comes in while WebChat is closed. Accepted values are 'full' and 'minimized' where, 'full' means WebChat will appear on screen showing the new messages in the transcript when a new message comes in and 'minimized' means WebChat will open in a minimized state along with a counter in the title bar area indicating how many new messages are there. | full | n/a |
| async.getSessionData | function | A function that you can define to retrieve updated session data from WebChatService plugin over the course of an active chat session. This function takes the following arguments - sessionData (current active session data), Cookie (Widgets Internal cookie reference) and CookieOptions (a parameter that will be needed when using Widgets Cookie). The purpose of this function is to provide you the active session data so that it can be stored somewhere safe and secure. Later this needs to be provided in the below setSessionData function to restore the chat session. Refer to the example for usage. | none | Yes, when Async WebChat mode is enabled. |
| async.setSessionData | function | A function that you can define in order to return the session data provided in the above getSessionData function. During initialization, WebChatService plugin will call this function to check if any session data is returned. If found, WebChatService will try to restore the chat session using this session data and open WebChat Widget. WebChatService will also pass the following arguments into this function, i.e. Open (WebChat current open state value), Cookie (Widgets Internal cookie reference) and CookieOptions (a parameter that will be needed when using Widgets Cookie). Refer to the example for usage. | none | Yes, when Async WebChat mode is enabled. |
Comments or questions about this documentation? Contact us for support!
