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:
Menu (also referenced as Gallery)
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
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.
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.
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.
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.
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.
Satisfaction survey component which can be presented to user as a call to action to fill out a survey (via deeplink in the button).
Subtitle text component. Subtitle is usually provided with large aggregating components.
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.
Title text component. Title is usually provided with large aggregating components.