(Update with the copy of version: draft) |
|||
Line 10: | Line 10: | ||
userData: {}, | userData: {}, | ||
emojis: true, | emojis: true, | ||
+ | uploadsEnabled: false, | ||
confirmFormCloseEnabled: true, | confirmFormCloseEnabled: true, | ||
actionsMenu: true, | actionsMenu: true, | ||
Line 29: | Line 30: | ||
effectDuration: 300, | effectDuration: 300, | ||
hideDuringInvite: true | hideDuringInvite: true | ||
+ | }, | ||
+ | |||
+ | async: { | ||
+ | |||
+ | enabled: true, | ||
+ | newMessageRestoreState: 'minimized', | ||
+ | |||
+ | getSessionData: function(sessionData, Cookie, CookieOptions) { | ||
+ | |||
+ | // Note: You don't have to use Cookies. You can, instead, store in a secured location like a database. | ||
+ | |||
+ | Cookie.set('customer-defined-session-cookie', JSON.stringify(sessionData), CookieOptions); | ||
+ | }, | ||
+ | |||
+ | setSessionData: function(Open, Cookie, CookieOptions) { | ||
+ | |||
+ | // Retrieve from your secured location. | ||
+ | |||
+ | return Cookie.get('customer-defined-session-cookie'); | ||
+ | } | ||
} | } | ||
}; | }; | ||
Line 49: | Line 70: | ||
| form | | form | ||
| object | | object | ||
− | | A JSON object containing a custom registration form definition. The JSON definition placed here becomes the default registration form layout for WebChat. See [[ | + | | A JSON object containing a custom registration form definition. The JSON definition placed here becomes the default registration form layout for WebChat. See [[CustCRF|Customizable Chat Registration Form]]. |
| A basic registration form is defined internally by default | | 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 | | n/a | ||
|- | |- | ||
Line 73: | Line 100: | ||
| maxMessageLength | | maxMessageLength | ||
| number | | 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. | + | | 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. |
+ | | 500 | ||
| n/a | | n/a | ||
+ | |- | ||
+ | | charCountEnabled | ||
+ | | boolean | ||
+ | | Show/Hide the number of characters remaining in the input message area while the user is typing. | ||
+ | | false | ||
| n/a | | n/a | ||
|- | |- | ||
| autoInvite.enabled | | autoInvite.enabled | ||
| boolean | | boolean | ||
− | | Enable/disable auto-invite feature. Automatically invites user to chat after user idles on page for preset time. | + | | Enable/disable auto-invite feature. Automatically invites user to chat after user idles on page for preset time. |
+ | |||
+ | |||
+ | Note: In case of running Widgets in lazy load mode, this option requires WebChat plugin to be [[AppConfiguration#Options|pre-loaded]]. | ||
| false | | false | ||
| n/a | | n/a | ||
Line 97: | Line 133: | ||
| chatButton.enabled | | chatButton.enabled | ||
| boolean | | boolean | ||
− | | Enable/disable chat button on screen. | + | | Enable/disable chat button on screen. |
+ | |||
+ | |||
+ | Note: In case of running Widgets in lazy load mode, this option requires WebChat plugin to be [[AppConfiguration#Options|pre-loaded]]. | ||
| false | | false | ||
| n/a | | n/a | ||
Line 121: | Line 160: | ||
| chatButton.effectDuration | | chatButton.effectDuration | ||
| number | | number | ||
− | | Length of animation effect in milliseconds | + | | Length of animation effect in milliseconds. |
| 300 | | 300 | ||
| n/a | | n/a | ||
Line 130: | Line 169: | ||
| true | | true | ||
| n/a | | n/a | ||
+ | |- | ||
+ | | async | ||
+ | | object | ||
+ | | Object container for Async mode configuration options. | ||
+ | | {enabled: false, newMessageRestoreState: 'full'} | ||
+ | | Yes, if using Async mode | ||
+ | |- | ||
+ | | async.enabled | ||
+ | | boolean | ||
+ | | Enable Asynchronous Chat where a chat session can be active indefinitely. When you 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 displayed when a new message arrives if WebChat is closed. Accepted values are 'full' and 'minimized'. 'full' means WebChat appears on screen displaying new messages in the transcript area as a new message arrives. 'minimized' means WebChat opens in a minimized state along with a counter in the title bar area indicating how many new messages are present. | ||
+ | | 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 is 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 [[WebChatConfiguration#Example|example]] for usage. | ||
+ | | none | ||
+ | | Yes, when Async WebChat mode is enabled | ||
+ | |- | ||
+ | | async.setSessionData | ||
+ | | function | ||
+ | | A function that you can define to return the session data to WebChat plugin. During initialization, WebChatService plugin will call this function to check if any session data is returned. If found, WebChatService tries to restore the chat session using this session data and open WebChat Widget. WebChatService will also pass the following arguments into this function - 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 [[WebChatConfiguration#Example|example]] for usage. | ||
+ | | none | ||
+ | | Yes, when Async WebChat mode is enabled | ||
|- | |- | ||
|} | |} | ||
[[Category:V:PSAAS:Public]] | [[Category:V:PSAAS:Public]] |
Revision as of 17:12, July 27, 2018
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) { // Note: You don't have to use Cookies. You can, instead, store in a secured location like a database. Cookie.set('customer-defined-session-cookie', JSON.stringify(sessionData), CookieOptions); }, setSessionData: function(Open, Cookie, CookieOptions) { // Retrieve from your secured location. 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. | 500 | n/a |
charCountEnabled | boolean | Show/Hide the number of characters remaining in the input message area while the user is typing. | false | n/a |
autoInvite.enabled | boolean | Enable/disable auto-invite feature. Automatically invites user to chat after user idles on page for preset time.
Note: In case of running Widgets in lazy load mode, this option requires WebChat plugin to be pre-loaded. |
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.
Note: In case of running Widgets in lazy load mode, this option requires WebChat plugin to be pre-loaded. |
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 | object | Object container for Async mode configuration options. | {enabled: false, newMessageRestoreState: 'full'} | Yes, if using Async mode |
async.enabled | boolean | Enable Asynchronous Chat where a chat session can be active indefinitely. When you 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 displayed when a new message arrives if WebChat is closed. Accepted values are 'full' and 'minimized'. 'full' means WebChat appears on screen displaying new messages in the transcript area as a new message arrives. 'minimized' means WebChat opens in a minimized state along with a counter in the title bar area indicating how many new messages are present. | 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 is 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 to return the session data to WebChat plugin. During initialization, WebChatService plugin will call this function to check if any session data is returned. If found, WebChatService tries to restore the chat session using this session data and open WebChat Widget. WebChatService will also pass the following arguments into this function - 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!