PluginElement

sealed class PluginElement

Elements provided with Messages with a Plugin. Plugins are enclosed and highly variable, though SDK redefines them in a few aggregating structures. These structures are:

All of these are parsed ahead of time for integrator's convenience. Whenever none of these use-cases fits your needs, use Custom type from which you can extract properties defined by your company or representative.

See also

Inheritors

Types

Link copied to clipboard
abstract class Button : PluginElement

Button component. Buttons should report postbacks when clicking the button. Postback might contain a deepLink which is extracted for convenience.

Link copied to clipboard
abstract class Countdown : PluginElement

Countdown component. Countdowns should affect whether are interactive components active. Interactive components might be Custom or Button.

Link copied to clipboard
abstract class Custom : PluginElement

Custom component defined by the integrator. All variables supplied to the custom action is deserialized as Map. If the variables are invalid, from integrator's point of view, then they should use fallbackText.

Link copied to clipboard
abstract class File : PluginElement

File of any type defined by mimeType. This class doesn't carry any guarantees of the file existing on the remote server, if you need to know whether it exists use HEAD request on the url.

Link copied to clipboard
abstract class Gallery : PluginElement

Gallery component which bundles together other components, which should be displayed together in one context. Gallery is the only component which can contain a collection of all other PluginElements.

Link copied to clipboard

Inactivity popups are presented to the user when agent or system on behalf of agent detects inactivity of the user. They are supported by a countdown which might be shown to the user and buttons to take action to stop the countdown or something else.

Link copied to clipboard
abstract class Menu : PluginElement

Menu plugin also references as Gallery in some reference documents. These elements are highly variable and there's no guarantee that all of the elements will be present at any given time. Though at least one element should be present at any given time.

Link copied to clipboard
abstract class QuickReplies : PluginElement

Quick replies component. Might be presented with optional text. This component might be provided in cases where users are prompted with a satisfaction prompt or similar.

Link copied to clipboard

Satisfaction survey component which can be presented to user as a call to action to fill out a survey (via deeplink in the button).

Link copied to clipboard
abstract class Subtitle : PluginElement

Subtitle text component. Subtitle is usually provided with large aggregating components.

Link copied to clipboard
abstract class Text : PluginElement

Regular text component. Contextually can be of a different form, such as html or markdown. It's up to the integrator to format or strip the text's format if they do not wish to use formatted text.

Link copied to clipboard
abstract class TextAndButtons : PluginElement

Component containing Text and Button elements. You should always expect at least one button, but more often might encounter multiple buttons as choices for the user.

Link copied to clipboard
abstract class Title : PluginElement

Title text component. Title is usually provided with large aggregating components.