|
|
(One intermediate revision by one other user not shown) |
Line 1: |
Line 1: |
| = API Commands = | | = API Commands = |
− | __NOTOC__
| |
− | Once you've registered your own plugin on the bus, you can call commands on other registered plugins. Below we'll quickly register a new plugin on the bus using the global bus object.
| |
| | | |
− | {{NoteFormat|The global bus object is a debug tool. When implementing Widgets on your own site, do not use the global bus object to register your custom plugins. Instead, see [[GWCBusExtensions|Widgets Extensions]] for more information about extending Genesys Widgets.|1}} | + | {{Template:PEC_Migrated}} |
| | | |
| | | |
− | <source lang='javascript'>var oMyPlugin = window._genesys.widgets.bus.registerPlugin('MyPlugin');
| + | {{NoteFormat|Documentation for this software has moved to a new home. Please update links and bookmarks to content hosted at https://all.docs.genesys.com/WID/Current/SDK/WebChat-combined#API_Commands.}} |
− | | |
− | oMyPlugin.command('WebChat.open');</source>
| |
− | | |
− | == configure ==
| |
− | Internal use only. The main App plugin shares configuration settings to widgets using each widget’s configure command. The configure command can only be called once at startup. Calling configure again after startup may result in unpredictable behavior.
| |
− | | |
− | == open ==
| |
− | Opens the WebChat UI.
| |
− | <br /><br />
| |
− | === Example ===
| |
− | <source lang='javascript'>
| |
− | oMyPlugin.command('WebChat.open', {
| |
− | | |
− | userData: {},
| |
− | form: {
| |
− | | |
− | autoSubmit: false,
| |
− | firstname: 'John',
| |
− | lastname: 'Smith',
| |
− | email: 'John@mail.com',
| |
− | subject: 'Customer Satisfaction'
| |
− | }
| |
− | formJSON: {...}
| |
− | markdown: false
| |
− | | |
− | }).done(function(e){
| |
− | | |
− | // WebChat opened successfully
| |
− | | |
− | }).fail(function(e){
| |
− | | |
− | // WebChat isn't open or no active chat session
| |
− | });
| |
− | </source>
| |
− | | |
− | <br />
| |
− | === Options ===
| |
− | {| | |
− | |-
| |
− | ! Option
| |
− | ! Type
| |
− | ! Description
| |
− | |-
| |
− | | form
| |
− | | object
| |
− | | Object containing form data to prefill in the chat entry form and optionally auto-submit the form.
| |
− | |-
| |
− | | form.autoSubmit
| |
− | | boolean
| |
− | | Automatically submit the form. Useful for bypassing the entry form step.
| |
− | |-
| |
− | | form.firstname
| |
− | | string
| |
− | | Value for the first name entry field.
| |
− | |-
| |
− | | form.lastname
| |
− | | string
| |
− | | Value for the last name entry field.
| |
− | |-
| |
− | | form.email
| |
− | | string
| |
− | | Value for the email entry field.
| |
− | |-
| |
− | | form.subject
| |
− | | string
| |
− | | Value for the subject entry field.
| |
− | |-
| |
− | | formJSON
| |
− | | object
| |
− | | An object containing a custom registration form definition. See [[CustCRF|Customizable Chat Registration Form]].
| |
− | |-
| |
− | | userData
| |
− | | object
| |
− | | Object containing arbitrary data that gets sent to the server. Overrides userData set in the webchat configuration object.
| |
− | |-
| |
− | | async
| |
− | | boolean
| |
− | | Starts a new chat either in asynchronous or normal mode based on the boolean value. Note that unless [[WebChatConfiguration#Example|async static configuration]] is defined, a chat in normal mode will start automatically.
| |
− | |-
| |
− | | markdown
| |
− | | boolean
| |
− | | The markdown feature for chat messages.
| |
− | |}
| |
− | <br />
| |
− | === Resolutions ===
| |
− | {|
| |
− | |-
| |
− | ! Status
| |
− | ! When
| |
− | ! Returns
| |
− | |-
| |
− | | resolved
| |
− | | When WebChat is successfully opened
| |
− | | n/a
| |
− | |-
| |
− | | rejected
| |
− | | When WebChat is already open
| |
− | | 'already opened'
| |
− | |-
| |
− | |}
| |
− | | |
− | == close ==
| |
− | Closes the WebChat UI.
| |
− | <br /><br />
| |
− | === Example ===
| |
− | <source lang='javascript'>
| |
− | oMyPlugin.command('WebChat.close').done(function(e){
| |
− | | |
− | // WebChat closed successfully
| |
− | | |
− | }).fail(function(e){
| |
− | | |
− | // WebChat is already closed or no active chat session
| |
− | });
| |
− | </source>
| |
− | | |
− | <br />
| |
− | === Resolutions ===
| |
− | {|
| |
− | |-
| |
− | ! Status
| |
− | ! When
| |
− | ! Returns
| |
− | |-
| |
− | | resolved
| |
− | | When WebChat is successfully closed
| |
− | | n/a
| |
− | |-
| |
− | | rejected
| |
− | | When WebChat is already closed
| |
− | | 'already closed'
| |
− | |-
| |
− | |}
| |
− | == minimize ==
| |
− | Minimize or unminimize WebChat UI.
| |
− | <br /><br />
| |
− | === Example ===
| |
− | <source lang='javascript'>
| |
− | oMyPlugin.command('WebChat.minimize').done(function(e){
| |
− | | |
− | // WebChat minimized successfully
| |
− | | |
− | }).fail(function(e){
| |
− | | |
− | // WebChat ignores command
| |
− | });
| |
− | </source>
| |
− | | |
− | <br />
| |
− | === Options ===
| |
− | {|
| |
− | |-
| |
− | ! Option
| |
− | ! Type
| |
− | ! Description
| |
− | |-
| |
− | | minimized
| |
− | | boolean
| |
− | | Rather than toggling the current minimized state you can specify the minified state directly: true = minimized, false = uniminimized.
| |
− | |-
| |
− | |}
| |
− | <br />
| |
− | === Resolutions ===
| |
− | {|
| |
− | |-
| |
− | ! Status
| |
− | ! When
| |
− | ! Returns
| |
− | |-
| |
− | | resolved
| |
− | | Always
| |
− | | n/a
| |
− | |-
| |
− | | rejected
| |
− | | Never
| |
− | | 'Invalid configuration'
| |
− | |-
| |
− | |}
| |
− | == endChat ==
| |
− | Starts the 'end chat' procedure. User may be prompted to confirm.
| |
− | <br /><br />
| |
− | === Example ===
| |
− | <source lang='javascript'>
| |
− | oMyPlugin.command('WebChat.endChat').done(function(e){
| |
− | | |
− | // WebChat ended a chat successfully
| |
− | | |
− | }).fail(function(e){
| |
− | | |
− | // WebChat has no active chat session
| |
− | });
| |
− | </source>
| |
− | | |
− | <br />
| |
− | === Resolutions ===
| |
− | {|
| |
− | |-
| |
− | ! Status
| |
− | ! When
| |
− | ! Returns
| |
− | |-
| |
− | | resolved
| |
− | | When there is an active chat session to end
| |
− | | n/a
| |
− | |-
| |
− | | rejected
| |
− | | When there is no active chat session to end
| |
− | | 'there is no active chat session to end'
| |
− | |-
| |
− | |}
| |
− | == invite ==
| |
− | Show an invitation to chat using the Toaster popup element. Text shown in invitation can be edited in the localization file.
| |
− | <br /><br />
| |
− | === Example ===
| |
− | <source lang='javascript'>
| |
− | oMyPlugin.command('WebChat.invite').done(function(e){
| |
− | | |
− | // WebChat invited successfully
| |
− | | |
− | }).fail(function(e){
| |
− | | |
− | // WebChat is already open and will be ignored
| |
− | });
| |
− | </source>
| |
− | | |
− | <br />
| |
− | === Resolutions ===
| |
− | {|
| |
− | |-
| |
− | ! Status
| |
− | ! When
| |
− | ! Returns
| |
− | |-
| |
− | | resolved
| |
− | | When WebChat is closed and the toast element is created successfully
| |
− | | n/a
| |
− | |-
| |
− | | rejected
| |
− | | When WebChat is already open (prevents inviting a user that is already in a chat).
| |
− | | 'Chat is already open. Ignoring invite command.'
| |
− | |-
| |
− | |}
| |
− | == reInvite ==
| |
− | When an active chat session is unable to restore, this invitation will offer the user to start a new chat. Text shown in invitation can be edited in the localization file.
| |
− | <br /><br />
| |
− | === Example ===
| |
− | <source lang='javascript'>
| |
− | oMyPlugin.command('WebChat.reInvite').done(function(e){
| |
− | | |
− | // WebChat reinvited successfully
| |
− | | |
− | }).fail(function(e){
| |
− | | |
− | // WebChat is already open and will be ignored
| |
− | });
| |
− | </source>
| |
− | | |
− | <br />
| |
− | === Resolutions ===
| |
− | {|
| |
− | |-
| |
− | ! Status
| |
− | ! When
| |
− | ! Returns
| |
− | |-
| |
− | | resolved
| |
− | | When WebChat is closed, the config item 'webchat.inviteOnRestoreTimeout' is set, and the toast element is created successfully
| |
− | | n/a
| |
− | |-
| |
− | | rejected
| |
− | | When WebChat is already open. Prevents inviting a user that is already in a chat
| |
− | | 'Chat is already open. Ignoring invite command.'
| |
− | |-
| |
− | |}
| |
− | == injectMessage ==
| |
− | Inject a custom message into the chat transcript. Useful for extending WebChat functionality with other Genesys products.
| |
− | <br /><br />
| |
− | === Example ===
| |
− | <source lang='javascript'>
| |
− | oMyPlugin.command('WebChat.injectMessage', {
| |
− | | |
− | type: 'text',
| |
− | name: 'person',
| |
− | text: 'hello',
| |
− | custom: false,
| |
− | bubble:{
| |
− | | |
− | fill: '#00FF00',
| |
− | radius: '4px',
| |
− | time: false,
| |
− | name: false,
| |
− | direction: 'right',
| |
− | avatar:{
| |
− | | |
− | custom: '<div>word</div>',
| |
− | icon: 'email'
| |
− | }
| |
− | }
| |
− | | |
− | }).done(function(e){
| |
− | | |
− | // WebChat injected a message successfully
| |
− | // e.data == The message HTML reference (jQuery wrapped set)
| |
− | | |
− | }).fail(function(e){
| |
− | | |
− | // WebChat isn't open or no active chat
| |
− | });
| |
− | </source>
| |
− | | |
− | <br />
| |
− | === Options ===
| |
− | {|
| |
− | |-
| |
− | ! Option
| |
− | ! Type
| |
− | ! Description
| |
− | |-
| |
− | | type
| |
− | | string
| |
− | | Switch the rendering type of the injected message between text and html.
| |
− | |-
| |
− | | name
| |
− | | string
| |
− | | Specify a name label for the message to identify what service or widget has injected the message.
| |
− | |-
| |
− | | text
| |
− | | string
| |
− | | The content of the message. Either plain text or HTML.
| |
− | |-
| |
− | | custom
| |
− | | boolean
| |
− | | If set to true, the default message template will not be used, allowing you to inject a highly customized HTML block unconstrained by the normal message template.
| |
− | |-
| |
− | | bubble.fill
| |
− | | string of valid CSS color value
| |
− | | The content of the message. Either plain text or HTML.
| |
− | |-
| |
− | | bubble.radius
| |
− | | string of valid CSS border radius vale
| |
− | | The border radius you'd like for the bubble.
| |
− | |-
| |
− | | bubble.time
| |
− | | boolean
| |
− | | If you'd like to show the timestamp for the bubble.
| |
− | |-
| |
− | | bubble.name
| |
− | | boolean
| |
− | | If you'd like to show the name for the bubble.
| |
− | |-
| |
− | | bubble.direction
| |
− | | string
| |
− | | Which direction you want the message bubble to come from.
| |
− | |-
| |
− | | bubble.avatar.custom
| |
− | | string or HTML reference
| |
− | | Change the content of the html that would be the avatar for the chat bubble.
| |
− | |-
| |
− | | bubble.avatar.icon
| |
− | | class name
| |
− | | Generated common library provided for icon name.
| |
− | |-
| |
− | |}
| |
− | <br />
| |
− | === Resolutions ===
| |
− | {|
| |
− | |-
| |
− | ! Status
| |
− | ! When
| |
− | ! Returns
| |
− | |-
| |
− | | resolved
| |
− | | When WebChat is open and there is an active chat session
| |
− | | An HTML reference (jQuery wrapped set) to the new injected message.
| |
− | |-
| |
− | | rejected
| |
− | | When WebChat is not open and/or there was no active chat session
| |
− | | 'No chat session to inject into'
| |
− | |-
| |
− | |}
| |
− | == showChatButton ==
| |
− | Makes the standalone chat button visible on the screen using either the default template and CSS or customer-defined ones.
| |
− | <br /><br />
| |
− | === Example ===
| |
− | <source lang='javascript'>
| |
− | oMyPlugin.command('WebChat.showChatButton', {
| |
− | | |
− | openDelay: 1000,
| |
− | duration: 1500
| |
− | | |
− | }).done(function(e){
| |
− | | |
− | // WebChat shows chat button successfully
| |
− | | |
− | }).fail(function(e){
| |
− | | |
− | // WebChat button is already visible, side bar is active and overrides the chat button, or chat button is disabled in configuration
| |
− | });
| |
− | </source>
| |
− | | |
− | <br />
| |
− | === Options ===
| |
− | {|
| |
− | |-
| |
− | ! Option
| |
− | ! Type
| |
− | ! Description
| |
− | |-
| |
− | | openDelay
| |
− | | number
| |
− | | Duration in milliseconds to delay showing the chat button on the page.
| |
− | |-
| |
− | | duration
| |
− | | number
| |
− | | Duration in milliseconds for the show and hide animation.
| |
− | |-
| |
− | |}
| |
− | <br />
| |
− | === Resolutions ===
| |
− | {|
| |
− | |-
| |
− | ! Status
| |
− | ! When
| |
− | ! Returns
| |
− | |-
| |
− | | resolved
| |
− | | When the chat button is enabled in the configuration, is currently not visible, and the SideBar plugin is not initialized
| |
− | | n/a
| |
− | |-
| |
− | | rejected
| |
− | | When the chat button is not enabled in the configuration, or it's already visible, or the SideBar plugin is initialized
| |
− | | 'Chat button is already visible. Ignoring command.'
| |
− | |-
| |
− | | rejected
| |
− | | When the sidebar plugin is active the standalone chat button will be disabled automatically
| |
− | | 'SideBar is active and overrides the default chat button'
| |
− | |-
| |
− | |}
| |
− | == hideChatButton ==
| |
− | Hides the standalone chat button.
| |
− | <br /><br />
| |
− | === Example ===
| |
− | <source lang='javascript'>
| |
− | oMyPlugin.command('WebChat.hideChatButton', {duration: 1500}).done(function(e){
| |
− | | |
− | // WebChat hid chat button successfully
| |
− | | |
− | }).fail(function(e){
| |
− | | |
− | // WebChat button is already hidden
| |
− | });
| |
− | </source>
| |
− | | |
− | <br />
| |
− | === Options ===
| |
− | {|
| |
− | |-
| |
− | ! Option
| |
− | ! Type
| |
− | ! Description
| |
− | |-
| |
− | | duration
| |
− | | number
| |
− | | Duration in milliseconds for the show and hide animation.
| |
− | |-
| |
− | |}
| |
− | <br />
| |
− | === Resolutions ===
| |
− | {|
| |
− | |-
| |
− | ! Status
| |
− | ! When
| |
− | ! Returns
| |
− | |-
| |
− | | resolved
| |
− | | When the chat button is currently visible
| |
− | | n/a
| |
− | |-
| |
− | | rejected
| |
− | | When the chat button is already hidden
| |
− | | 'Chat button is already hidden. Ignoring command.'
| |
− | |-
| |
− | |}
| |
− | == showOverlay ==
| |
− | A slide-down overlay the opens over WebChat's content. You can fill this overlay with content such as disclaimers, articles, and other information.
| |
− | <br /><br />
| |
− | === Example ===
| |
− | <source lang='javascript'>
| |
− | oMyPlugin.command('WebChat.showOverlay', {
| |
− | | |
− | html: '<div>Example text</div>',
| |
− | hideFooter: false
| |
− | | |
− | }).done(function(e){
| |
− | | |
− | // WebChat successfully shows overlay
| |
− | | |
− | }).fail(function(e){
| |
− | | |
− | // WebChat isn't open
| |
− | });
| |
− | </source>
| |
− | | |
− | <br />
| |
− | === Options ===
| |
− | {|
| |
− | |-
| |
− | ! Option
| |
− | ! Type
| |
− | ! Description
| |
− | |-
| |
− | | html
| |
− | | string or HTML reference
| |
− | | The HTML content you want to display in the overlay.
| |
− | |-
| |
− | | hideFooter
| |
− | | boolean
| |
− | | Normally the overlay appears between the titlebar and footer bar. Set this to true to have the overlay overlap the footer to gain a bit more vertical space. This should only be used in special cases. For general use, don't set this value.
| |
− | |-
| |
− | |}
| |
− | <br />
| |
− | === Resolutions ===
| |
− | {|
| |
− | |-
| |
− | ! Status
| |
− | ! When
| |
− | ! Returns
| |
− | |-
| |
− | | resolved
| |
− | | When WebChat is open and the overlay opens.
| |
− | |
| |
− | |-
| |
− | | rejected
| |
− | | When WebChat is not currently open.
| |
− | | WebChat is not currently open. Ignoring command.
| |
− | |-
| |
− | |}
| |
− | == hideOverlay ==
| |
− | Hides the slide-down overlay.
| |
− | <br /><br />
| |
− | === Example ===
| |
− | <source lang='javascript'>
| |
− | oMyPlugin.command('WebChat.hideOverlay').done(function(e){
| |
− | | |
− | // WebChat hid overlay successfully
| |
− | | |
− | }).fail(function(e){
| |
− | | |
− | // WebChat isn't open
| |
− | }); | |
− | </source>
| |
− | | |
− | <br />
| |
− | === Resolutions ===
| |
− | {|
| |
− | |-
| |
− | ! Status
| |
− | ! When
| |
− | ! Returns
| |
− | |-
| |
− | | resolved
| |
− | | When WebChat is open and the overlay closes.
| |
− | |
| |
− | |-
| |
− | | rejected
| |
− | | When WebChat is not currently open.
| |
− | | WebChat is not currently open. Ignoring command.
| |
− | |-
| |
− | |}
| |
− | | |
| [[Category:V:PSAAS:Public]] | | [[Category:V:PSAAS:Public]] |