Jump to: navigation, search
(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 [[Documentation:GWC:WidgetsAPI:CustCRF|Customizable Chat Registration Form]]
+
| 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. By default, no limit is imposed by the client.
+
| 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!