Difference between revisions of "WID/Current/SDK/Engagement-combined"
(Published) |
m (Text replacement - "Genesys Engage" to "Genesys Multicloud CX") |
||
(24 intermediate revisions by 4 users not shown) | |||
Line 2: | Line 2: | ||
|Standalone=No | |Standalone=No | ||
|DisplayName=Engage | |DisplayName=Engage | ||
− | |||
|TocName=Engage | |TocName=Engage | ||
+ | |Context=Learn how to use the Genesys Multicloud CX plugin to integrate any Engage solution with Genesys Widgets. | ||
|ComingSoon=No | |ComingSoon=No | ||
− | | | + | |Platform=GenesysEngage-cloud |
+ | |Role=Developer | ||
|Section={{Section | |Section={{Section | ||
|sectionHeading=Overview | |sectionHeading=Overview | ||
− | | | + | |anchor=overview |
|alignment=Vertical | |alignment=Vertical | ||
− | | | + | |structuredtext=[[File:Desktop_Engage_Offer_Overlay_View_with_Text_on_left_v1.png|center|frameless|alt=An example of an Engage Offer in overlay view and text on the left side]] |
− | | | + | The Genesys Multicloud CX plugin is generic and contains commands that automate customer engagement within Genesys Widgets. Starting with version {{#Widget:ExtLink|link=https://docs.genesys.com/Documentation/PSAAS/Public/RN/GW#Nov292019|displaytext=9.0.015.11}}, the Engage plugin includes Offers, which allows a customer to view a product or promotion on a page. It comes with many display modes and rendering options, such as overlay/toaster mode with text or image-only layouts, or both. |
− | | | + | [[File:Engage Invite Dark v2.png|center|frameless|525x525px|alt=An example of an Engage invite offering the customer agent help]] |
+ | ===Usage=== | ||
+ | Use the Engage plugin to show either an invite or an offer via the following methods: | ||
+ | |||
+ | *Calling the {{Link-SomewhereInThisVersion|manual=SDK|topic=Engagement-combined|anchor=invite|display text=Engage.invite}} command | ||
+ | *Calling the {{Link-SomewhereInThisVersion|manual=SDK|topic=Engagement-combined|anchor=offer|display text=Engage.offer}} command | ||
+ | |||
+ | ===Namespaces=== | ||
+ | The Engage plugin uses the following namespaces. | ||
+ | {{{!}} class="wikitable" | ||
+ | !Type | ||
+ | !Namespace | ||
+ | {{!}}- | ||
+ | {{!}}i18n - {{Link-SomewhereInThisVersion|manual=SDK|topic=Engagement-combined|anchor=localize|display text=Localization}} | ||
+ | {{!}}Engage | ||
+ | {{!}}- | ||
+ | {{!}}CXBus - {{Link-SomewhereInThisVersion|manual=SDK|topic=Engagement-combined|anchor=commands|display text=API commands}} & {{Link-SomewhereInThisVersion|manual=SDK|topic=Engagement-combined|anchor=events|display text=API events}} | ||
+ | {{!}}Engage | ||
+ | {{!}}- | ||
+ | {{!}}CSS | ||
+ | {{!}}.cx-engage | ||
+ | {{!}}} | ||
+ | |||
+ | ===Screenshots=== | ||
+ | '''Engage Invite''' | ||
+ | |||
+ | [[File:Engage_Invite_Mobile_Dark_theme_v1.png|150x150px|Mobile mode Engage Invite view with dark theme]] | ||
+ | [[File:Engage_Invite_Mobile_Light_theme_v1.png|150x150px|Mobile mode Engage Invite view with light theme]] | ||
+ | |||
+ | '''Engage Offer''' | ||
+ | |||
+ | [[File:Desktop_Engage_Offer_toaster_mode.png|150x150px|alt=Desktop Toast view with both image and text]] | ||
+ | [[File:Desktop_Engage_Offer_modal_overlay_view_with_text_on_top.png|150x150px|alt=Desktop Modal Overlay view with text on top]] | ||
+ | [[File:Desktop_Engage_Offer_overlay_view_with_text_at_bottom.png|150x150px|alt=Desktop Overlay view with text at bottom]] | ||
+ | [[File:Desktop_Engage_Offer_Toast_view_with_text_content_on_right.png|150x150px|alt=Desktop Toast view with text content on right side]] | ||
+ | [[File:Desktop_Engage_Offer_Toast_view_with_text_content_on_left.png|150x150px|alt=Desktop Toast view with text content on left side]] | ||
+ | [[File:Desktop_Engage_Offer_overlay_view_-_Right_text_v1.png|150x150px|alt=Desktop Overlay view with text on right side]] | ||
+ | [[File:Desktop_Engage_Offer_modal_Overlay_View_with_Text_on_left.png|150x150px|alt=Desktop Modal Overlay view with text on left side]] | ||
+ | [[File:Mobile_Engage_Offer_inserted_onto_the_top_of_a_webpage.png|150x150px|alt=Mobile Offer inserted onto the top of a web page]] | ||
+ | [[File:Mobile_mode_Engage_Offer_view_in_modal_overlay_with_background_greyed_out_v1.png|150x150px|alt=Mobile Offer view in modal overlay with background area grayed out]] | ||
+ | [[File:Mobile_mode_Engage_Offer_view_in_modal_overlay_v1.png|150x150px|alt=Mobile Offer view in modal overlay]] | ||
|Status=No | |Status=No | ||
}}{{Section | }}{{Section | ||
|sectionHeading=Configuration | |sectionHeading=Configuration | ||
− | | | + | |anchor=config |
|alignment=Vertical | |alignment=Vertical | ||
− | + | |structuredtext=The Genesys Multicloud CX plugin doesn't have any configuration options. | |
− | |structuredtext=The Genesys | ||
− | |||
|Status=No | |Status=No | ||
}}{{Section | }}{{Section | ||
|sectionHeading=Localization | |sectionHeading=Localization | ||
− | | | + | |anchor=localize |
|alignment=Vertical | |alignment=Vertical | ||
− | + | |structuredtext=The Genesys Multicloud CX plugin doesn't have any localization options. | |
− | |structuredtext=The Genesys | ||
− | |||
|Status=No | |Status=No | ||
}}{{Section | }}{{Section | ||
− | |sectionHeading=API | + | |sectionHeading=API commands |
− | | | + | |anchor=commands |
|alignment=Vertical | |alignment=Vertical | ||
− | |||
|structuredtext=Once you've registered your plugin on the bus, you can call commands on other registered plugins. Here's how to use the global bus object to register a new plugin on the bus. | |structuredtext=Once you've registered your plugin on the bus, you can call commands on other registered plugins. Here's how to use the global bus object to register a new plugin on the bus. | ||
− | {{NoteFormat|The global bus object is a debugging tool. When implementing Widgets on your own site, do not use the global bus object to register your custom plugins. Instead, see {{Link- | + | {{NoteFormat|The global bus object is a debugging tool. When implementing Widgets on your own site, do not use the global bus object to register your custom plugins. Instead, see {{Link-SomewhereInThisVersion|manual=SDK|topic=GWCBusExtensions|display text=Genesys Widgets extensions}} for more information about extending Genesys Widgets.|1}} |
<source lang="javascript">var oMyPlugin = window._genesys.widgets.bus.registerPlugin('MyPlugin'); | <source lang="javascript">var oMyPlugin = window._genesys.widgets.bus.registerPlugin('MyPlugin'); | ||
oMyPlugin.command('Engage.invite');</source> | oMyPlugin.command('Engage.invite');</source> | ||
+ | {{AnchorDiv|invite}} | ||
===invite=== | ===invite=== | ||
− | Opens the Engage Widget and renders the text based on the options provided. If no options are provided, | + | Opens the Engage Widget and renders the text based on the options provided. If no options are provided, the widget doesn't open. |
− | + | ||
− | <source lang="javascript"> | + | ===Example=== |
− | oMyPlugin.command('Engage.invite', { | + | <source lang="javascript">oMyPlugin.command('Engage.invite', { |
'type':'toast', | 'type':'toast', | ||
'timeout':3000, | 'timeout':3000, | ||
'title':'Engage Title', | 'title':'Engage Title', | ||
+ | 'ariaTitle':'Engage Invite', | ||
'body':'Engage invite body content', | 'body':'Engage invite body content', | ||
'accept':'Yes', | 'accept':'Yes', | ||
'decline':'No, thanks', | 'decline':'No, thanks', | ||
+ | 'ariaAccept':'Yes', | ||
+ | 'ariaDecline':'No, thanks', | ||
+ | 'ariaClose':'Close', | ||
'command': 'WebChat.open', | 'command': 'WebChat.open', | ||
− | 'options':{'proactive' | + | 'options':{'proactive': true, 'userData': {'category': 'shoes'}} |
}); | }); | ||
Line 60: | Line 101: | ||
'type':'toast', | 'type':'toast', | ||
'timeout':3000, | 'timeout':3000, | ||
+ | 'force': true, | ||
'title':'Engage Title', | 'title':'Engage Title', | ||
+ | 'ariaTitle':'Engage Invite', | ||
'body':'Engage invite body content', | 'body':'Engage invite body content', | ||
'accept':'Yes', | 'accept':'Yes', | ||
− | 'decline':'No, thanks' | + | 'decline':'No, thanks', |
+ | 'ariaAccept':'Yes', | ||
+ | 'ariaDecline':'No, thanks', | ||
+ | 'ariaClose':'Close' | ||
}).done(function(response){ | }).done(function(response){ | ||
Line 79: | Line 125: | ||
</source> | </source> | ||
− | + | ===Options=== | |
− | |||
{{{!}} class="wikitable" | {{{!}} class="wikitable" | ||
+ | !Option | ||
+ | !Type | ||
+ | !Description | ||
+ | !Accepted values | ||
+ | !Default | ||
+ | !Introduced/updated | ||
{{!}}- | {{!}}- | ||
− | !{{!}} | + | {{!}}type |
− | !{{!}} | + | {{!}}string |
− | !{{!}} | + | {{!}}Widget display type. |
+ | {{!}}toast | ||
+ | {{!}} | ||
+ | {{!}} | ||
{{!}}- | {{!}}- | ||
− | {{!}}{{!}} | + | {{!}}timeout |
− | {{!}}{{!}} | + | {{!}}number |
− | {{!}}{{!}} | + | {{!}}Timeout integer in milliseconds. |
+ | {{!}}n/a | ||
+ | {{!}} | ||
+ | {{!}} | ||
{{!}}- | {{!}}- | ||
− | {{!}}{{!}} | + | {{!}}title |
− | {{!}}{{!}} | + | {{!}}string |
− | {{!}}{{!}} | + | {{!}}String for widget title. |
+ | {{!}}n/a | ||
+ | {{!}} | ||
+ | {{!}} | ||
+ | {{!}}- | ||
+ | {{!}}ariaTitle | ||
+ | {{!}}string | ||
+ | {{!}}Aria label text for the Engage invite window. | ||
+ | {{!}}n/a | ||
+ | {{!}} | ||
+ | {{!}}9.0.015.04 | ||
+ | {{!}}- | ||
+ | {{!}}body | ||
+ | {{!}}string | ||
+ | {{!}}String for offer body text. | ||
+ | {{!}}n/a | ||
+ | {{!}} | ||
+ | {{!}} | ||
{{!}}- | {{!}}- | ||
− | {{!}}{{!}} | + | {{!}}accept |
− | {{!}}{{!}}string | + | {{!}}string |
− | {{!}}{{!}}String for | + | {{!}}String for Accept button text. |
+ | {{!}}n/a | ||
+ | {{!}} | ||
+ | {{!}} | ||
+ | {{!}}- | ||
+ | {{!}}ariaAccept | ||
+ | {{!}}string | ||
+ | {{!}}Aria label text for the Accept button. | ||
+ | {{!}}n/a | ||
+ | {{!}} | ||
+ | {{!}}9.0.016.10 | ||
+ | {{!}}- | ||
+ | {{!}}decline | ||
+ | {{!}}string | ||
+ | {{!}}String for Decline button text. | ||
+ | {{!}}n/a | ||
+ | {{!}} | ||
+ | {{!}} | ||
+ | {{!}}- | ||
+ | {{!}}ariaDecline | ||
+ | {{!}}string | ||
+ | {{!}}Aria label text for the Decline button. | ||
+ | {{!}}n/a | ||
+ | {{!}} | ||
+ | {{!}}9.0.016.10 | ||
+ | {{!}}- | ||
+ | {{!}}ariaClose | ||
+ | {{!}}string | ||
+ | {{!}}Aria label text for the Engage Close button. | ||
+ | {{!}}n/a | ||
+ | {{!}} | ||
+ | {{!}}9.0.016.10 | ||
{{!}}- | {{!}}- | ||
− | {{!}}{{!}} | + | {{!}}command |
− | {{!}}{{!}} | + | {{!}}string |
− | {{!}}{{!}} | + | {{!}}Command to execute. |
+ | {{!}}n/a | ||
+ | {{!}} | ||
+ | {{!}} | ||
{{!}}- | {{!}}- | ||
− | {{!}}{{!}} | + | {{!}}options |
− | {{!}}{{!}} | + | {{!}}object |
− | {{!}}{{!}} | + | {{!}}Options related to the command provided. |
+ | {{!}}n/a | ||
+ | {{!}} | ||
+ | {{!}} | ||
{{!}}- | {{!}}- | ||
− | {{!}}{{!}} | + | {{!}}priority |
− | {{!}}{{!}} | + | {{!}}number |
− | {{!}}{{!}} | + | {{!}}Replace the active lower priority Engage invite with the higher priority Engage invite. |
+ | {{!}}n/a | ||
+ | {{!}}0 | ||
+ | {{!}}9.0.015.11 | ||
{{!}}- | {{!}}- | ||
− | {{!}}{{!}} | + | {{!}}force |
− | {{!}}{{!}} | + | {{!}}boolean |
− | {{!}}{{!}} | + | {{!}}Replace the active Engage invite with the new Engage invite irrespective of priorities. |
+ | {{!}}n/a | ||
+ | {{!}}false | ||
+ | {{!}}9.0.015.11 | ||
{{!}}- | {{!}}- | ||
− | |||
− | |||
− | |||
{{!}}} | {{!}}} | ||
− | + | ===Resolutions=== | |
− | |||
− | |||
{{{!}} class="wikitable" | {{{!}} class="wikitable" | ||
+ | !Status | ||
+ | !When | ||
+ | !Returns | ||
{{!}}- | {{!}}- | ||
− | + | {{!}}resolved | |
− | + | {{!}}Engage invite is accepted by user. | |
− | + | {{!}}accepted | |
{{!}}- | {{!}}- | ||
− | + | {{!}}resolved | |
− | {{!}} | + | {{!}}Engage invite is declined by user. |
− | {{!}} | + | {{!}}declined |
{{!}}- | {{!}}- | ||
− | + | {{!}}resolved | |
− | {{!}} | + | {{!}}Engage invite widget is closed by user. |
− | {{!}} | + | {{!}}closed |
{{!}}- | {{!}}- | ||
− | + | {{!}}resolved | |
− | {{!}} | + | {{!}}Engage invite widget closes due to timeout. |
− | {{!}} | + | {{!}}timeout |
{{!}}- | {{!}}- | ||
− | |||
− | |||
− | |||
{{!}}} | {{!}}} | ||
− | + | {{AnchorDiv|offer}} | |
− | ==offer== | + | ===offer=== |
− | Opens | + | Opens a widget for a product offer using the data sent through the command options provided below. The widget can include both rendering options and the actual data that needs to be displayed in the Offer Widget. If no options are provided, the widget will not open. |
===Example=== | ===Example=== | ||
+ | <source lang="javascript"> | ||
oMyPlugin.command('Engage.offer', { | oMyPlugin.command('Engage.offer', { | ||
Line 156: | Line 269: | ||
layout:'leftText', | layout:'leftText', | ||
title: 'GRAB WHAT YOU NEED!!', | title: 'GRAB WHAT YOU NEED!!', | ||
+ | ariaTitle: 'Offers', | ||
headline:'We Got All!', | headline:'We Got All!', | ||
description:'Get free NextDay delivery on orders of $35 or more. Start shopping now!', | description:'Get free NextDay delivery on orders of $35 or more. Start shopping now!', | ||
Line 161: | Line 275: | ||
cta:{ | cta:{ | ||
text:'Join', | text:'Join', | ||
− | url:' | + | url:'https://www.genesys.com', |
target:'_blank' | target:'_blank' | ||
}, | }, | ||
image:{ | image:{ | ||
− | src:' | + | src:'https://picsum.photos/id/237/300/300', |
alt:'Alternate Text for Image' | alt:'Alternate Text for Image' | ||
}, | }, | ||
Line 174: | Line 288: | ||
'color':'red' | 'color':'red' | ||
} | } | ||
− | } | + | }, |
+ | ariaCTA:'Join', | ||
+ | ariaClose:'Close Offer' | ||
}); | }); | ||
− | + | </source> | |
===Options=== | ===Options=== | ||
{{{!}} class="wikitable" | {{{!}} class="wikitable" | ||
Line 182: | Line 298: | ||
!Type | !Type | ||
!Description | !Description | ||
− | !Accepted | + | !Accepted values |
!Default | !Default | ||
− | !Introduced / | + | !Introduced/updated |
{{!}}- | {{!}}- | ||
{{!}}mode | {{!}}mode | ||
{{!}}string | {{!}}string | ||
− | {{!}} | + | {{!}}The display type of the Offer widget. |
{{!}}overlay, toaster | {{!}}overlay, toaster | ||
{{!}}toaster | {{!}}toaster | ||
Line 202: | Line 318: | ||
{{!}}layout | {{!}}layout | ||
{{!}}string | {{!}}string | ||
− | {{!}}Additional layout options supported for all modes. | + | {{!}}Additional layout options are supported for all modes. |
{{!}}minimal, leftText, rightText, topText, bottomText | {{!}}minimal, leftText, rightText, topText, bottomText | ||
{{!}}leftText | {{!}}leftText | ||
Line 209: | Line 325: | ||
{{!}}headline | {{!}}headline | ||
{{!}}string | {{!}}string | ||
− | {{!}}Offer title header text. | + | {{!}}The Offer title header text. |
+ | {{!}}n/a | ||
+ | {{!}}n/a | ||
+ | {{!}}9.0.015.04 | ||
+ | {{!}}- | ||
+ | {{!}}ariaTitle | ||
+ | {{!}}string | ||
+ | {{!}}Aria label text for the Offer window. | ||
{{!}}n/a | {{!}}n/a | ||
{{!}}n/a | {{!}}n/a | ||
Line 216: | Line 339: | ||
{{!}}description | {{!}}description | ||
{{!}}string | {{!}}string | ||
− | {{!}}Offer body description text. | + | {{!}}The Offer body description text. |
{{!}}n/a | {{!}}n/a | ||
{{!}}n/a | {{!}}n/a | ||
Line 223: | Line 346: | ||
{{!}}cta | {{!}}cta | ||
{{!}}object | {{!}}object | ||
− | {{!}}An object containing | + | {{!}}An object containing HTML attributes and/or CXBus commands for the CTA (call to action) button. |
{{!}}n/a | {{!}}n/a | ||
{{!}}n/a | {{!}}n/a | ||
Line 230: | Line 353: | ||
{{!}}cta.text | {{!}}cta.text | ||
{{!}}string | {{!}}string | ||
− | {{!}}CTA button text. | + | {{!}}The CTA button text. |
{{!}}n/a | {{!}}n/a | ||
{{!}}n/a | {{!}}n/a | ||
Line 237: | Line 360: | ||
{{!}}cta.url | {{!}}cta.url | ||
{{!}}string | {{!}}string | ||
− | {{!}}URL string for the CTA button. | + | {{!}}The URL string for the CTA button. |
− | Note: The URL must be properly defined with the complete Protocol URL Address. For example, | + | Note: The URL must be properly defined with the complete Protocol URL Address. For example, https://www.genesys.com. |
{{!}}_blank, _parent, _self, _top, framename | {{!}}_blank, _parent, _self, _top, framename | ||
{{!}}n/a | {{!}}n/a | ||
Line 245: | Line 368: | ||
{{!}}cta.target | {{!}}cta.target | ||
{{!}}string | {{!}}string | ||
− | {{!}} | + | {{!}}Specifies where the URL is opened. |
{{!}}n/a | {{!}}n/a | ||
{{!}}n/a | {{!}}n/a | ||
Line 273: | Line 396: | ||
{{!}}image.src | {{!}}image.src | ||
{{!}}string | {{!}}string | ||
− | {{!}}URL of the image. | + | {{!}}The URL of the image. |
{{!}}n/a | {{!}}n/a | ||
{{!}}n/a | {{!}}n/a | ||
Line 284: | Line 407: | ||
{{!}}n/a | {{!}}n/a | ||
{{!}}9.0.015.04 | {{!}}9.0.015.04 | ||
+ | {{!}}- | ||
+ | {{!}}image.title | ||
+ | {{!}}string | ||
+ | {{!}}To indicate the screen reader user whether the image opens the URL in a new window. | ||
+ | {{!}}n/a | ||
+ | {{!}}n/a | ||
+ | {{!}}9.0.016.10 | ||
{{!}}- | {{!}}- | ||
{{!}}insertAfter | {{!}}insertAfter | ||
{{!}}string | {{!}}string | ||
− | {{!}}Applicable only in mobile mode. An | + | {{!}}Applicable only in mobile mode. An ID or class name of an HTML selector from the host page. The offer will be inserted after this element. Precede the value mentioned here with the standard Class ('.') and ID selector ('#') character. |
{{!}}n/a | {{!}}n/a | ||
{{!}}n/a | {{!}}n/a | ||
Line 294: | Line 424: | ||
{{!}}insertBefore | {{!}}insertBefore | ||
{{!}}string | {{!}}string | ||
− | {{!}}Applicable only in mobile mode. An | + | {{!}}Applicable only in mobile mode. An ID or class name of an HTML selector from the host page. The offer will be inserted before this element. Precede the value mentioned here with the standard Class ('.') and ID selector ('#') character. |
{{!}}n/a | {{!}}n/a | ||
{{!}}n/a | {{!}}n/a | ||
Line 301: | Line 431: | ||
{{!}}insertInto | {{!}}insertInto | ||
{{!}}string | {{!}}string | ||
− | {{!}}Applicable only in mobile mode. An | + | {{!}}Applicable only in mobile mode. An ID or class name of an HTML selector from the host page. The offer will be appended inside this element. Precede the value mentioned here with the standard Class ('.') and ID selector ('#') character. |
{{!}}n/a | {{!}}n/a | ||
{{!}}n/a | {{!}}n/a | ||
Line 308: | Line 438: | ||
{{!}}styles | {{!}}styles | ||
{{!}}object | {{!}}object | ||
− | {{!}}An | + | {{!}}An object containing styles for the offer content. |
{{!}}n/a | {{!}}n/a | ||
{{!}}n/a | {{!}}n/a | ||
Line 315: | Line 445: | ||
{{!}}styles.closeButton | {{!}}styles.closeButton | ||
{{!}}object | {{!}}object | ||
− | {{!}}An | + | {{!}}An object containing styles for the close button. |
{{!}}n/a | {{!}}n/a | ||
{{!}}n/a | {{!}}n/a | ||
Line 322: | Line 452: | ||
{{!}}styles.closeButton.color | {{!}}styles.closeButton.color | ||
{{!}}string | {{!}}string | ||
− | {{!}} | + | {{!}}The color of the close button. |
{{!}}n/a | {{!}}n/a | ||
{{!}}n/a | {{!}}n/a | ||
Line 329: | Line 459: | ||
{{!}}styles.closeButton.opacity | {{!}}styles.closeButton.opacity | ||
{{!}}number | {{!}}number | ||
− | {{!}}CSS 'opacity' property for the close button. | + | {{!}}The CSS 'opacity' property for the close button. |
{{!}}n/a | {{!}}n/a | ||
{{!}}n/a | {{!}}n/a | ||
Line 336: | Line 466: | ||
{{!}}styles.overlay | {{!}}styles.overlay | ||
{{!}}object | {{!}}object | ||
− | {{!}}An | + | {{!}}An object containing styles for the overlay container. |
{{!}}n/a | {{!}}n/a | ||
{{!}}n/a | {{!}}n/a | ||
Line 343: | Line 473: | ||
{{!}}styles.overlay.top | {{!}}styles.overlay.top | ||
{{!}}string | {{!}}string | ||
− | {{!}}CSS 'top' property for the overlay container. | + | {{!}}The CSS 'top' property for the overlay container. |
{{!}}n/a | {{!}}n/a | ||
{{!}}n/a | {{!}}n/a | ||
Line 350: | Line 480: | ||
{{!}}styles.overlay.right | {{!}}styles.overlay.right | ||
{{!}}string | {{!}}string | ||
− | {{!}}CSS 'right' property for the overlay container. | + | {{!}}The CSS 'right' property for the overlay container. |
{{!}}n/a | {{!}}n/a | ||
{{!}}n/a | {{!}}n/a | ||
Line 357: | Line 487: | ||
{{!}}styles.overlay.bottom | {{!}}styles.overlay.bottom | ||
{{!}}string | {{!}}string | ||
− | {{!}}CSS 'bottom' property for the overlay container. | + | {{!}}The CSS 'bottom' property for the overlay container. |
{{!}}n/a | {{!}}n/a | ||
{{!}}n/a | {{!}}n/a | ||
Line 364: | Line 494: | ||
{{!}}styles.overlay.left | {{!}}styles.overlay.left | ||
{{!}}string | {{!}}string | ||
− | {{!}}CSS 'left' property for the overlay container. | + | {{!}}The CSS 'left' property for the overlay container. |
− | Note: When all the position values are provided, the order of precedence will be | + | Note: When all the position values are provided, the order of precedence will be top, right, bottom, and left. |
{{!}}n/a | {{!}}n/a | ||
{{!}}n/a | {{!}}n/a | ||
Line 372: | Line 502: | ||
{{!}}styles.overlay.center | {{!}}styles.overlay.center | ||
{{!}}boolean | {{!}}boolean | ||
− | {{!}}Aligns overlay container to the center of the screen. | + | {{!}}Aligns the overlay container to the center of the screen. |
{{!}}n/a | {{!}}n/a | ||
{{!}}true | {{!}}true | ||
Line 379: | Line 509: | ||
{{!}}styles.offer | {{!}}styles.offer | ||
{{!}}object | {{!}}object | ||
− | {{!}}An | + | {{!}}An object containing styles for the Offer window. |
{{!}}n/a | {{!}}n/a | ||
{{!}}n/a | {{!}}n/a | ||
Line 386: | Line 516: | ||
{{!}}styles.offer.backgroundColor | {{!}}styles.offer.backgroundColor | ||
{{!}}string | {{!}}string | ||
− | {{!}} | + | {{!}}The background color of the offer. |
{{!}}n/a | {{!}}n/a | ||
{{!}}n/a | {{!}}n/a | ||
Line 393: | Line 523: | ||
{{!}}styles.offer.color | {{!}}styles.offer.color | ||
{{!}}string | {{!}}string | ||
− | {{!}} | + | {{!}}The text color of the offer. |
{{!}}n/a | {{!}}n/a | ||
{{!}}n/a | {{!}}n/a | ||
Line 400: | Line 530: | ||
{{!}}styles.offer.padding | {{!}}styles.offer.padding | ||
{{!}}string | {{!}}string | ||
− | {{!}} | + | {{!}}The padding for the offer container. |
{{!}}n/a | {{!}}n/a | ||
{{!}}0 | {{!}}0 | ||
Line 407: | Line 537: | ||
{{!}}styles.title | {{!}}styles.title | ||
{{!}}object | {{!}}object | ||
− | {{!}}An | + | {{!}}An object containing styles for the title. |
{{!}}n/a | {{!}}n/a | ||
{{!}}n/a | {{!}}n/a | ||
Line 414: | Line 544: | ||
{{!}}styles.title.font | {{!}}styles.title.font | ||
{{!}}string | {{!}}string | ||
− | {{!}}CSS 'font' property for the title. | + | {{!}}The CSS 'font' property for the title. |
{{!}}n/a | {{!}}n/a | ||
{{!}}n/a | {{!}}n/a | ||
Line 421: | Line 551: | ||
{{!}}styles.title.textAlign | {{!}}styles.title.textAlign | ||
{{!}}string | {{!}}string | ||
− | {{!}}CSS 'text-align' property for the title. | + | {{!}}The CSS 'text-align' property for the title. |
{{!}}n/a | {{!}}n/a | ||
{{!}}n/a | {{!}}n/a | ||
Line 428: | Line 558: | ||
{{!}}styles.headline | {{!}}styles.headline | ||
{{!}}object | {{!}}object | ||
− | {{!}}An | + | {{!}}An object containing styles for the header text. |
{{!}}n/a | {{!}}n/a | ||
{{!}}n/a | {{!}}n/a | ||
Line 435: | Line 565: | ||
{{!}}styles.headline.font | {{!}}styles.headline.font | ||
{{!}}string | {{!}}string | ||
− | {{!}}CSS 'font' property for the header text. | + | {{!}}The CSS 'font' property for the header text. |
{{!}}n/a | {{!}}n/a | ||
{{!}}n/a | {{!}}n/a | ||
Line 442: | Line 572: | ||
{{!}}styles.headline.textAlign | {{!}}styles.headline.textAlign | ||
{{!}}string | {{!}}string | ||
− | {{!}}CSS 'text-align' property for the header text. | + | {{!}}The CSS 'text-align' property for the header text. |
{{!}}n/a | {{!}}n/a | ||
{{!}}n/a | {{!}}n/a | ||
Line 449: | Line 579: | ||
{{!}}styles.description | {{!}}styles.description | ||
{{!}}object | {{!}}object | ||
− | {{!}}An | + | {{!}}An object containing styles for the offer description text. |
{{!}}n/a | {{!}}n/a | ||
{{!}}n/a | {{!}}n/a | ||
Line 456: | Line 586: | ||
{{!}}styles.description.font | {{!}}styles.description.font | ||
{{!}}string | {{!}}string | ||
− | {{!}}CSS 'font' property for the description text. | + | {{!}}The CSS 'font' property for the description text. |
{{!}}n/a | {{!}}n/a | ||
{{!}}n/a | {{!}}n/a | ||
Line 463: | Line 593: | ||
{{!}}styles.description.textAlign | {{!}}styles.description.textAlign | ||
{{!}}string | {{!}}string | ||
− | {{!}}CSS 'text-align' property for the description text. | + | {{!}}The CSS 'text-align' property for the description text. |
{{!}}n/a | {{!}}n/a | ||
{{!}}n/a | {{!}}n/a | ||
Line 470: | Line 600: | ||
{{!}}styles.ctaButton | {{!}}styles.ctaButton | ||
{{!}}object | {{!}}object | ||
− | {{!}}An | + | {{!}}An object containing styles for call to action button in the offer window. |
{{!}}n/a | {{!}}n/a | ||
{{!}}n/a | {{!}}n/a | ||
Line 477: | Line 607: | ||
{{!}}styles.ctaButton.font | {{!}}styles.ctaButton.font | ||
{{!}}string | {{!}}string | ||
− | {{!}}CSS 'font' property for the text in | + | {{!}}The CSS 'font' property for the text in CTA button. |
{{!}}n/a | {{!}}n/a | ||
{{!}}n/a | {{!}}n/a | ||
Line 484: | Line 614: | ||
{{!}}styles.ctaButton.textAlign | {{!}}styles.ctaButton.textAlign | ||
{{!}}string | {{!}}string | ||
− | {{!}}CSS 'text-align' property for the text in | + | {{!}}The CSS 'text-align' property for the text in CTA button. |
{{!}}n/a | {{!}}n/a | ||
{{!}}n/a | {{!}}n/a | ||
Line 491: | Line 621: | ||
{{!}}styles.ctaButton.background | {{!}}styles.ctaButton.background | ||
{{!}}string | {{!}}string | ||
− | {{!}}CSS 'background' property for the | + | {{!}}The CSS 'background' property for the CTA button. |
{{!}}n/a | {{!}}n/a | ||
{{!}}n/a | {{!}}n/a | ||
Line 498: | Line 628: | ||
{{!}}styles.ctaButton.color | {{!}}styles.ctaButton.color | ||
{{!}}string | {{!}}string | ||
− | {{!}}CSS 'color' property for the text in | + | {{!}}The CSS 'color' property for the text in CTA button. |
{{!}}n/a | {{!}}n/a | ||
{{!}}n/a | {{!}}n/a | ||
Line 505: | Line 635: | ||
{{!}}styles.ctaButton.fontSize | {{!}}styles.ctaButton.fontSize | ||
{{!}}string | {{!}}string | ||
− | {{!}}CSS 'font-size' property for the text in | + | {{!}}The CSS 'font-size' property for the text in CTA button. |
{{!}}n/a | {{!}}n/a | ||
{{!}}n/a | {{!}}n/a | ||
{{!}}9.0.015.04 | {{!}}9.0.015.04 | ||
+ | {{!}}- | ||
+ | {{!}}ariaCTA | ||
+ | {{!}}string | ||
+ | {{!}}Aria label text for the Offer CTA button. | ||
+ | {{!}}n/a | ||
+ | {{!}}n/a | ||
+ | {{!}}9.0.016.10 | ||
+ | {{!}}- | ||
+ | {{!}}ariaClose | ||
+ | {{!}}string | ||
+ | {{!}}Aria label text for the Offer Close button. | ||
+ | {{!}}n/a | ||
+ | {{!}}n/a | ||
+ | {{!}}9.0.016.10 | ||
+ | {{!}}- | ||
+ | {{!}}priority | ||
+ | {{!}}number | ||
+ | {{!}}Replace the active lower priority Engage Offer with the higher priority Engage Offer. | ||
+ | {{!}}n/a | ||
+ | {{!}}0 | ||
+ | {{!}}9.0.015.11 | ||
+ | {{!}}- | ||
+ | {{!}}force | ||
+ | {{!}}boolean | ||
+ | {{!}}Replace the active Engage Offer with the new Engage Offer irrespective of priorities. | ||
+ | {{!}}n/a | ||
+ | {{!}}false | ||
+ | {{!}}9.0.015.11 | ||
+ | {{!}}- | ||
{{!}}} | {{!}}} | ||
− | |||
|Status=No | |Status=No | ||
}}{{Section | }}{{Section | ||
− | |sectionHeading=API | + | |sectionHeading=API events |
− | | | + | |anchor=events |
|alignment=Vertical | |alignment=Vertical | ||
− | + | |structuredtext=Once you've {{Link-SomewhereInThisVersion|manual=SDK|topic=GWCBusAPIOverview|anchor=regplugin|display text=registered your plugin on the bus}}, you can subscribe to and listen for published events. Here's how to use the global bus object to register a new plugin on the bus. | |
− | |structuredtext=Once you've registered your plugin on the bus, you can subscribe to and listen for published events. Here's how to use the global bus object to register a new plugin on the bus. | ||
− | {{NoteFormat|The global bus object is a debugging tool. When implementing | + | {{NoteFormat|The global bus object is a debugging tool. When implementing widgets on your own site, do not use the global bus object to register your custom plugins. Instead, see {{Link-AnywhereElse|product=WID|version=Current|manual=SDK|topic=GWCBusExtensions}} for more information about extending Genesys Widgets.|1}} |
+ | <source lang="javascript"> | ||
var oMyPlugin = window._genesys.widgets.bus.registerPlugin('MyPlugin'); | var oMyPlugin = window._genesys.widgets.bus.registerPlugin('MyPlugin'); | ||
oMyPlugin.subscribe('Engage.ready', function(e){}); | oMyPlugin.subscribe('Engage.ready', function(e){}); | ||
+ | </source> | ||
{{{!}} class="wikitable" | {{{!}} class="wikitable" | ||
!Name | !Name | ||
!Description | !Description | ||
!Data | !Data | ||
− | !Introduced / | + | !Introduced/updated |
{{!}}- | {{!}}- | ||
{{!}}ready | {{!}}ready | ||
− | {{!}}The Engage | + | {{!}}The Engage widget is initialized and ready to accept commands on the bus. |
{{!}}n/a | {{!}}n/a | ||
{{!}} | {{!}} | ||
{{!}}- | {{!}}- | ||
{{!}}opened | {{!}}opened | ||
− | {{!}}The Engage | + | {{!}}The Engage widget opens. |
Note: Applicable only to Engage.offer command | Note: Applicable only to Engage.offer command | ||
− | {{!}} | + | {{!}}{{Link-SomewhereInThisVersion|manual=SDK|topic=Engagement-combined|anchor=metadata|display text=Metadata}} |
{{!}}9.0.015.04 | {{!}}9.0.015.04 | ||
{{!}}- | {{!}}- | ||
{{!}}CTA | {{!}}CTA | ||
− | {{!}}When the user clicks | + | {{!}}When the user clicks the CTA button in the Engage widget. |
Note: Applicable only to Engage.offer command | Note: Applicable only to Engage.offer command | ||
− | {{!}} | + | {{!}}{{Link-SomewhereInThisVersion|manual=SDK|topic=Engagement-combined|anchor=metadata|display text=Metadata}} |
{{!}}9.0.015.04 | {{!}}9.0.015.04 | ||
{{!}}- | {{!}}- | ||
{{!}}hover | {{!}}hover | ||
− | {{!}}When the user first hovers over the Engage | + | {{!}}When the user first hovers over the Engage widget. |
Note: Applicable only to Engage.offer command | Note: Applicable only to Engage.offer command | ||
− | {{!}} | + | {{!}}{{Link-SomewhereInThisVersion|manual=SDK|topic=Engagement-combined|anchor=metadata|display text=Metadata}} |
{{!}}9.0.015.04 | {{!}}9.0.015.04 | ||
{{!}}- | {{!}}- | ||
{{!}}dismissed | {{!}}dismissed | ||
− | {{!}}When the user closes the Engage | + | {{!}}When the user closes the Engage widget by clicking the Close button. |
Note: Applicable only to Engage.offer command | Note: Applicable only to Engage.offer command | ||
− | {{!}} | + | {{!}}{{Link-SomewhereInThisVersion|manual=SDK|topic=Engagement-combined|anchor=metadata|display text=Metadata}} |
{{!}}9.0.015.04 | {{!}}9.0.015.04 | ||
{{!}}- | {{!}}- | ||
{{!}}closed | {{!}}closed | ||
− | {{!}}The Engage | + | {{!}}The Engage widget closes. |
Note: Applicable only to Engage.offer command | Note: Applicable only to Engage.offer command | ||
− | {{!}} | + | {{!}}{{Link-SomewhereInThisVersion|manual=SDK|topic=Engagement-combined|anchor=metadata|display text=Metadata}} |
{{!}}9.0.015.04 | {{!}}9.0.015.04 | ||
{{!}}} | {{!}}} | ||
− | | | + | {{NoteFormat|Applicable only for Engage.offer command.|1}} |
+ | ===Interaction Lifecycle=== | ||
+ | Every offer interaction has a sequence of events we describe as the ''Interaction Lifecycle''. These events track progress and user choices from the beginning of an interaction (opening Offers), to the end (closing Offers), and every step in between. | ||
+ | |||
+ | The following events comprise the Interaction Lifecycle: | ||
+ | <source lang="javascript">ready | ||
+ | opened | ||
+ | CTA | ||
+ | hover | ||
+ | dismissed | ||
+ | closed</source> | ||
+ | ===Lifecycle scenarios=== | ||
+ | An Interaction Lifecycle can vary based on each user's intent and experience with the Offer widget. Here are several sequences of events in the lifecycle that correspond to different scenarios. | ||
+ | |||
+ | The user opened the Offer widget but changed their mind and closed it without seeing the offer details: | ||
+ | <source lang="LANGUAGE">ready -> opened -> dismissed -> closed | ||
+ | </source> | ||
+ | The user opened the Offer widget, hovered over the offer details, and then closed it: | ||
+ | <source lang="LANGUAGE">ready -> opened -> hover -> dismissed -> closed | ||
+ | </source> | ||
+ | The user opened the Offer widget and clicked on the button, which triggers CTA: | ||
+ | <source lang="LANGUAGE">ready -> opened -> CTA -> closed | ||
+ | </source> | ||
+ | {{NoteFormat|For a list of all Offer events, see {{Link-SomewhereInThisVersion|manual=SDK|topic=Engagement-combined|anchor=events|display text=API events}}.|2}} | ||
|Status=No | |Status=No | ||
}}{{Section | }}{{Section | ||
|sectionHeading=Metadata | |sectionHeading=Metadata | ||
− | | | + | |anchor=metadata |
− | | | + | |alignment=Vertical |
+ | |structuredtext=Each event in the Interaction Lifecycle includes the following block of metadata. By default, all values are set to false. As the user progresses through the lifecycle of an Offer Engage interaction, these values are updated. | ||
− | + | The metadata block contains Boolean state flags, timestamps, and elapsed times. These values can be used to track and identify trends or issues with interactions. During runtime, the metadata can help you offer a smart and dynamic experience to your users. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
===Reference=== | ===Reference=== | ||
{{{!}} class="wikitable" | {{{!}} class="wikitable" | ||
Line 609: | Line 760: | ||
!Type | !Type | ||
!Description | !Description | ||
− | !Introduced / | + | !Introduced/updated |
{{!}}- | {{!}}- | ||
{{!}}opened | {{!}}opened | ||
{{!}}integer (timestamp) | {{!}}integer (timestamp) | ||
− | {{!}}Timestamp indicating when the | + | {{!}}Timestamp indicating when the offer was opened. |
{{!}}9.0.015.04 | {{!}}9.0.015.04 | ||
{{!}}- | {{!}}- | ||
{{!}}closed | {{!}}closed | ||
{{!}}integer (timestamp) | {{!}}integer (timestamp) | ||
− | {{!}}Timestamp indicating when the | + | {{!}}Timestamp indicating when the offer was closed. |
{{!}}9.0.015.04 | {{!}}9.0.015.04 | ||
{{!}}- | {{!}}- | ||
{{!}}dismissed | {{!}}dismissed | ||
{{!}}integer (timestamp) | {{!}}integer (timestamp) | ||
− | {{!}}Timestamp indicating when the user dismissed the | + | {{!}}Timestamp indicating when the user dismissed the offer by clicking the close button. |
{{!}}9.0.015.04 | {{!}}9.0.015.04 | ||
{{!}}- | {{!}}- | ||
Line 633: | Line 784: | ||
{{!}}timeBeforeCTA | {{!}}timeBeforeCTA | ||
{{!}}integer (milliseconds) | {{!}}integer (milliseconds) | ||
− | {{!}}Total time in milliseconds from when the user opened the | + | {{!}}Total time in milliseconds from when the user opened the offer to when the CTA is triggered. |
{{!}}9.0.015.04 | {{!}}9.0.015.04 | ||
{{!}}- | {{!}}- | ||
{{!}}timeFirstHover | {{!}}timeFirstHover | ||
{{!}}integer (timestamp) | {{!}}integer (timestamp) | ||
− | {{!}}Timestamp indicating when the user first hovered over | + | {{!}}Timestamp indicating when the user first hovered over the offer. |
{{!}}9.0.015.04 | {{!}}9.0.015.04 | ||
{{!}}- | {{!}}- | ||
{{!}}timeBeforeHover | {{!}}timeBeforeHover | ||
{{!}}integer (milliseconds) | {{!}}integer (milliseconds) | ||
− | {{!}}Total time in milliseconds from when the user opened the | + | {{!}}Total time in milliseconds from when the user opened the offer to when the user first hovered over the offer. |
{{!}}9.0.015.04 | {{!}}9.0.015.04 | ||
{{!}}- | {{!}}- | ||
{{!}}timeElapsedHover | {{!}}timeElapsedHover | ||
{{!}}integer (milliseconds) | {{!}}integer (milliseconds) | ||
− | {{!}}Total time in milliseconds when the user hovered over | + | {{!}}Total time in milliseconds when the user hovered over the offer. |
{{!}}9.0.015.04 | {{!}}9.0.015.04 | ||
{{!}}- | {{!}}- | ||
{{!}}elementClicked | {{!}}elementClicked | ||
{{!}}string | {{!}}string | ||
− | {{!}}Name of CTA element that was clicked | + | {{!}}Name of CTA element that was clicked. |
{{!}}9.0.015.04 | {{!}}9.0.015.04 | ||
{{!}}} | {{!}}} | ||
− | |||
|Status=No | |Status=No | ||
}} | }} | ||
− | |||
}} | }} |
Latest revision as of 21:12, November 9, 2021
Contents
Learn how to use the Genesys Multicloud CX plugin to integrate any Engage solution with Genesys Widgets.
Overview
The Genesys Multicloud CX plugin is generic and contains commands that automate customer engagement within Genesys Widgets. Starting with version 9.0.015.11, the Engage plugin includes Offers, which allows a customer to view a product or promotion on a page. It comes with many display modes and rendering options, such as overlay/toaster mode with text or image-only layouts, or both.
Usage
Use the Engage plugin to show either an invite or an offer via the following methods:
- Calling the Engage.invite command
- Calling the Engage.offer command
Namespaces
The Engage plugin uses the following namespaces.
Type | Namespace |
---|---|
i18n - Localization | Engage |
CXBus - API commands & API events | Engage |
CSS | .cx-engage |
Screenshots
Engage Invite
Engage Offer
Configuration
The Genesys Multicloud CX plugin doesn't have any configuration options.
Localization
The Genesys Multicloud CX plugin doesn't have any localization options.
API commands
Once you've registered your plugin on the bus, you can call commands on other registered plugins. Here's how to use the global bus object to register a new plugin on the bus.
var oMyPlugin = window._genesys.widgets.bus.registerPlugin('MyPlugin');
oMyPlugin.command('Engage.invite');
invite
Opens the Engage Widget and renders the text based on the options provided. If no options are provided, the widget doesn't open.
Example
oMyPlugin.command('Engage.invite', {
'type':'toast',
'timeout':3000,
'title':'Engage Title',
'ariaTitle':'Engage Invite',
'body':'Engage invite body content',
'accept':'Yes',
'decline':'No, thanks',
'ariaAccept':'Yes',
'ariaDecline':'No, thanks',
'ariaClose':'Close',
'command': 'WebChat.open',
'options':{'proactive': true, 'userData': {'category': 'shoes'}}
});
oMyPlugin.command('Engage.invite',{
'type':'toast',
'timeout':3000,
'force': true,
'title':'Engage Title',
'ariaTitle':'Engage Invite',
'body':'Engage invite body content',
'accept':'Yes',
'decline':'No, thanks',
'ariaAccept':'Yes',
'ariaDecline':'No, thanks',
'ariaClose':'Close'
}).done(function(response){
// Act upon the received response code
switch(response){
case 'accepted':oMyPlugin.command('WebChat.open');
break;
case 'declined': break;
case 'closed': break;
case 'timeout': break;
}
});
Options
Option | Type | Description | Accepted values | Default | Introduced/updated |
---|---|---|---|---|---|
type | string | Widget display type. | toast | ||
timeout | number | Timeout integer in milliseconds. | n/a | ||
title | string | String for widget title. | n/a | ||
ariaTitle | string | Aria label text for the Engage invite window. | n/a | 9.0.015.04 | |
body | string | String for offer body text. | n/a | ||
accept | string | String for Accept button text. | n/a | ||
ariaAccept | string | Aria label text for the Accept button. | n/a | 9.0.016.10 | |
decline | string | String for Decline button text. | n/a | ||
ariaDecline | string | Aria label text for the Decline button. | n/a | 9.0.016.10 | |
ariaClose | string | Aria label text for the Engage Close button. | n/a | 9.0.016.10 | |
command | string | Command to execute. | n/a | ||
options | object | Options related to the command provided. | n/a | ||
priority | number | Replace the active lower priority Engage invite with the higher priority Engage invite. | n/a | 0 | 9.0.015.11 |
force | boolean | Replace the active Engage invite with the new Engage invite irrespective of priorities. | n/a | false | 9.0.015.11 |
Resolutions
Status | When | Returns |
---|---|---|
resolved | Engage invite is accepted by user. | accepted |
resolved | Engage invite is declined by user. | declined |
resolved | Engage invite widget is closed by user. | closed |
resolved | Engage invite widget closes due to timeout. | timeout |
offer
Opens a widget for a product offer using the data sent through the command options provided below. The widget can include both rendering options and the actual data that needs to be displayed in the Offer Widget. If no options are provided, the widget will not open.
Example
oMyPlugin.command('Engage.offer', {
mode:'overlay',
modal:true,
layout:'leftText',
title: 'GRAB WHAT YOU NEED!!',
ariaTitle: 'Offers',
headline:'We Got All!',
description:'Get free NextDay delivery on orders of $35 or more. Start shopping now!',
cta:{
text:'Join',
url:'https://www.genesys.com',
target:'_blank'
},
image:{
src:'https://picsum.photos/id/237/300/300',
alt:'Alternate Text for Image'
},
styles:{
closeButton:{
'color':'red'
}
},
ariaCTA:'Join',
ariaClose:'Close Offer'
});
Options
Option | Type | Description | Accepted values | Default | Introduced/updated |
---|---|---|---|---|---|
mode | string | The display type of the Offer widget. | overlay, toaster | toaster | 9.0.015.04 |
modal | boolean | Applicable only when mode is 'overlay'. A smokescreen will be shown in the background of overlay modal window. This window can be dismissed by clicking anywhere in the smokescreen area. | n/a | false | 9.0.015.04 |
layout | string | Additional layout options are supported for all modes. | minimal, leftText, rightText, topText, bottomText | leftText | 9.0.015.04 |
headline | string | The Offer title header text. | n/a | n/a | 9.0.015.04 |
ariaTitle | string | Aria label text for the Offer window. | n/a | n/a | 9.0.015.04 |
description | string | The Offer body description text. | n/a | n/a | 9.0.015.04 |
cta | object | An object containing HTML attributes and/or CXBus commands for the CTA (call to action) button. | n/a | n/a | 9.0.015.04 |
cta.text | string | The CTA button text. | n/a | n/a | 9.0.015.04 |
cta.url | string | The URL string for the CTA button.
Note: The URL must be properly defined with the complete Protocol URL Address. For example, https://www.genesys.com. |
_blank, _parent, _self, _top, framename | n/a | 9.0.015.04 |
cta.target | string | Specifies where the URL is opened. | n/a | n/a | 9.0.015.04 |
cta.command | string | A CXBus command to execute. | n/a | n/a | 9.0.015.04 |
cta.commandOptions | string | Options related to CXBUs command. | n/a | n/a | 9.0.015.04 |
image | object | An object containing image tag attributes. | n/a | n/a | 9.0.015.04 |
image.src | string | The URL of the image. | n/a | n/a | 9.0.015.04 |
image.alt | string | Alternate text for the image. | n/a | n/a | 9.0.015.04 |
image.title | string | To indicate the screen reader user whether the image opens the URL in a new window. | n/a | n/a | 9.0.016.10 |
insertAfter | string | Applicable only in mobile mode. An ID or class name of an HTML selector from the host page. The offer will be inserted after this element. Precede the value mentioned here with the standard Class ('.') and ID selector ('#') character. | n/a | n/a | 9.0.015.04 |
insertBefore | string | Applicable only in mobile mode. An ID or class name of an HTML selector from the host page. The offer will be inserted before this element. Precede the value mentioned here with the standard Class ('.') and ID selector ('#') character. | n/a | n/a | 9.0.015.04 |
insertInto | string | Applicable only in mobile mode. An ID or class name of an HTML selector from the host page. The offer will be appended inside this element. Precede the value mentioned here with the standard Class ('.') and ID selector ('#') character. | n/a | n/a | 9.0.015.04 |
styles | object | An object containing styles for the offer content. | n/a | n/a | 9.0.015.04 |
styles.closeButton | object | An object containing styles for the close button. | n/a | n/a | 9.0.015.04 |
styles.closeButton.color | string | The color of the close button. | n/a | n/a | 9.0.015.04 |
styles.closeButton.opacity | number | The CSS 'opacity' property for the close button. | n/a | n/a | 9.0.015.04 |
styles.overlay | object | An object containing styles for the overlay container. | n/a | n/a | 9.0.015.04 |
styles.overlay.top | string | The CSS 'top' property for the overlay container. | n/a | n/a | 9.0.015.04 |
styles.overlay.right | string | The CSS 'right' property for the overlay container. | n/a | n/a | 9.0.015.04 |
styles.overlay.bottom | string | The CSS 'bottom' property for the overlay container. | n/a | n/a | 9.0.015.04 |
styles.overlay.left | string | The CSS 'left' property for the overlay container.
Note: When all the position values are provided, the order of precedence will be top, right, bottom, and left. |
n/a | n/a | 9.0.015.04 |
styles.overlay.center | boolean | Aligns the overlay container to the center of the screen. | n/a | true | 9.0.015.04 |
styles.offer | object | An object containing styles for the Offer window. | n/a | n/a | 9.0.015.04 |
styles.offer.backgroundColor | string | The background color of the offer. | n/a | n/a | 9.0.015.04 |
styles.offer.color | string | The text color of the offer. | n/a | n/a | 9.0.015.04 |
styles.offer.padding | string | The padding for the offer container. | n/a | 0 | 9.0.015.04 |
styles.title | object | An object containing styles for the title. | n/a | n/a | 9.0.015.04 |
styles.title.font | string | The CSS 'font' property for the title. | n/a | n/a | 9.0.015.04 |
styles.title.textAlign | string | The CSS 'text-align' property for the title. | n/a | n/a | 9.0.015.04 |
styles.headline | object | An object containing styles for the header text. | n/a | n/a | 9.0.015.04 |
styles.headline.font | string | The CSS 'font' property for the header text. | n/a | n/a | 9.0.015.04 |
styles.headline.textAlign | string | The CSS 'text-align' property for the header text. | n/a | n/a | 9.0.015.04 |
styles.description | object | An object containing styles for the offer description text. | n/a | n/a | 9.0.015.04 |
styles.description.font | string | The CSS 'font' property for the description text. | n/a | n/a | 9.0.015.04 |
styles.description.textAlign | string | The CSS 'text-align' property for the description text. | n/a | n/a | 9.0.015.04 |
styles.ctaButton | object | An object containing styles for call to action button in the offer window. | n/a | n/a | 9.0.015.04 |
styles.ctaButton.font | string | The CSS 'font' property for the text in CTA button. | n/a | n/a | 9.0.015.04 |
styles.ctaButton.textAlign | string | The CSS 'text-align' property for the text in CTA button. | n/a | n/a | 9.0.015.04 |
styles.ctaButton.background | string | The CSS 'background' property for the CTA button. | n/a | n/a | 9.0.015.04 |
styles.ctaButton.color | string | The CSS 'color' property for the text in CTA button. | n/a | n/a | 9.0.015.04 |
styles.ctaButton.fontSize | string | The CSS 'font-size' property for the text in CTA button. | n/a | n/a | 9.0.015.04 |
ariaCTA | string | Aria label text for the Offer CTA button. | n/a | n/a | 9.0.016.10 |
ariaClose | string | Aria label text for the Offer Close button. | n/a | n/a | 9.0.016.10 |
priority | number | Replace the active lower priority Engage Offer with the higher priority Engage Offer. | n/a | 0 | 9.0.015.11 |
force | boolean | Replace the active Engage Offer with the new Engage Offer irrespective of priorities. | n/a | false | 9.0.015.11 |
API events
Once you've registered your plugin on the bus, you can subscribe to and listen for published events. Here's how to use the global bus object to register a new plugin on the bus.
var oMyPlugin = window._genesys.widgets.bus.registerPlugin('MyPlugin');
oMyPlugin.subscribe('Engage.ready', function(e){});
Name | Description | Data | Introduced/updated |
---|---|---|---|
ready | The Engage widget is initialized and ready to accept commands on the bus. | n/a | |
opened | The Engage widget opens.
Note: Applicable only to Engage.offer command |
Metadata | 9.0.015.04 |
CTA | When the user clicks the CTA button in the Engage widget.
Note: Applicable only to Engage.offer command |
Metadata | 9.0.015.04 |
hover | When the user first hovers over the Engage widget.
Note: Applicable only to Engage.offer command |
Metadata | 9.0.015.04 |
dismissed | When the user closes the Engage widget by clicking the Close button.
Note: Applicable only to Engage.offer command |
Metadata | 9.0.015.04 |
closed | The Engage widget closes.
Note: Applicable only to Engage.offer command |
Metadata | 9.0.015.04 |
Interaction Lifecycle
Every offer interaction has a sequence of events we describe as the Interaction Lifecycle. These events track progress and user choices from the beginning of an interaction (opening Offers), to the end (closing Offers), and every step in between.
The following events comprise the Interaction Lifecycle:
ready
opened
CTA
hover
dismissed
closed
Lifecycle scenarios
An Interaction Lifecycle can vary based on each user's intent and experience with the Offer widget. Here are several sequences of events in the lifecycle that correspond to different scenarios.
The user opened the Offer widget but changed their mind and closed it without seeing the offer details:
ready -> opened -> dismissed -> closed
The user opened the Offer widget, hovered over the offer details, and then closed it:
ready -> opened -> hover -> dismissed -> closed
The user opened the Offer widget and clicked on the button, which triggers CTA:
ready -> opened -> CTA -> closed
Metadata
Each event in the Interaction Lifecycle includes the following block of metadata. By default, all values are set to false. As the user progresses through the lifecycle of an Offer Engage interaction, these values are updated.
The metadata block contains Boolean state flags, timestamps, and elapsed times. These values can be used to track and identify trends or issues with interactions. During runtime, the metadata can help you offer a smart and dynamic experience to your users.
Reference
Name | Type | Description | Introduced/updated |
---|---|---|---|
opened | integer (timestamp) | Timestamp indicating when the offer was opened. | 9.0.015.04 |
closed | integer (timestamp) | Timestamp indicating when the offer was closed. | 9.0.015.04 |
dismissed | integer (timestamp) | Timestamp indicating when the user dismissed the offer by clicking the close button. | 9.0.015.04 |
triggeredCTA | integer (timestamp) | Timestamp indicating when the CTA was triggered. | 9.0.015.04 |
timeBeforeCTA | integer (milliseconds) | Total time in milliseconds from when the user opened the offer to when the CTA is triggered. | 9.0.015.04 |
timeFirstHover | integer (timestamp) | Timestamp indicating when the user first hovered over the offer. | 9.0.015.04 |
timeBeforeHover | integer (milliseconds) | Total time in milliseconds from when the user opened the offer to when the user first hovered over the offer. | 9.0.015.04 |
timeElapsedHover | integer (milliseconds) | Total time in milliseconds when the user hovered over the offer. | 9.0.015.04 |
elementClicked | string | Name of CTA element that was clicked. | 9.0.015.04 |