Modèle de message
Pour utiliser des fonctions telles que le mode sans interface et le mode délégué, vous devez vous familiariser avec les messages de compétence et d'utilisateur. Tous les éléments reçus ou envoyés à partir du serveur de clavardage Oracle sont représentés sous forme de message, envoyé par l'utilisateur à la compétence ou inversement.
Action
Le nom | Description | Type | Obligatoire? |
---|---|---|---|
type |
Type d'action | chaîne | Oui |
label |
Texte de l'étiquette descriptive de l'action. | chaîne | Au moins une propriété label ou imageUrl doit être présente.
|
imageUrl |
Image de l'action | chaîne | Au moins une propriété label ou imageUrl doit être présente.
|
channelExtensions |
Propriétés d'extension propres au canal associées au message | JSONObject | Non |
PostbackAction
Nom | Description | Type | Obligatoire? |
---|---|---|---|
type |
Type d'action | "postback" |
Oui |
postback |
Republication retournée lorsque l'utilisateur sélectionne une action. | Une chaîne ou JSONObject | Oui |
{
"type": "postback",
"label": "Large Pizza",
"imageUrl": "https://example.com/images/gallery/locations/11.jpg",
"postback": {
"state": "askSize",
"action": "getCrust"
}
}
CallAction
Nom | Description | Type | Obligatoire? |
---|---|---|---|
type |
Type d'action | "call" | Oui |
phoneNumber |
Numéro de téléphone à appeler | chaîne | Oui |
{
"type": "call",
"label": "Call Support",
"imageUrl": "http://example.com.ar/files/2016/05/cuidado.jpg",
"phoneNumber": "18005555555"
}
urlAction
Demande au client d'ouvrir un site Web dans un nouvel onglet ou dans un navigateur intégré à l'application.
Nom | Description | Type | Obligatoire? |
---|---|---|---|
type |
Type d'action | "call" | Oui |
URL |
URL du site Web affiché. | chaîne | Oui |
{
"type": "url",
"label": "Open URL",
"imageUrl": "http://example.com.ar/files/2016/05/cuidado.jpg",
"url": "https://example.com/images/gallery/locations/11.jpg",
}
SubmitFormAction
Nom | Description | Type | Obligatoire? |
---|---|---|---|
type |
Type d'action | "submitForm" |
Oui |
postback |
Données utiles de republication, qui peuvent inclure une action pour déclencher la navigation. La valeur de cette propriété doit être définie dans FormSubmissionMessagePayload . <<XREF>>
|
JSONObject | Non |
{
"type": "submitForm",
"label": "Submit",
"postback": {
"system.botId": "6803DE12-DAA9-4182-BD54-3B4D431554F4",
"system.flow": "ExpenseFlow",
"system.state": "editFormMapVar"
}
}
Fichier joint
Le nom | Description | Type | Obligatoire? |
---|---|---|---|
type |
Type de fichier joint | chaîne ( valeurs valides : audio , file , image , video )
|
Oui |
url |
URL de téléchargement du fichier joint | chaîne | Oui |
title |
Nom du fichier chargé | chaîne | Non |
{
"type": "image",
"url": "https://www.oracle.com/us/assets/hp07-oow17-promo-02-3737849.jpg"
}
Carte
Le nom | Description | Type | Obligatoire? |
---|---|---|---|
title |
Titre de la carte, affiché sur la première ligne de celle-ci. | chaîne | Oui |
description |
Description de la carte | chaîne | Non |
imageUrl |
URL de l'image affichée. | chaîne | Non |
URL |
URL du site Web ouvert par toucher. | chaîne | Non |
actions |
Tableau d'actions liées au texte | tableau | Non |
channelExtensions |
Propriétés d'extension propres au canal associées au message | JSONObject | Non |
Emplacement
Le nom | Description | Type | Obligatoire? |
---|---|---|---|
title |
Titre de l'emplacement | chaîne | Non |
URL |
URL permettant d'afficher l'emplacement sur une carte | chaîne | Non |
latitude |
Valeur de longitude des coordonnées GPS | double | Oui |
longitude |
Valeur de latitude des coordonnées GPS | double | Oui |
channelExtensions |
Propriétés d'extension propres au canal associées au message | JSONObject | Non |
{
"title": "Oracle Headquarters",
"url": "https://www.google.com.au/maps/place/37°31'47.3%22N+122°15'57.6%22W",
"longitude": -122.265987,
"latitude": 37.529818
}
Titre
Table
ou Table-Form
.
Nom | Description | Type | Obligatoire? |
---|---|---|---|
label |
L'étiquette d'en-tête | Chaîne | Oui |
alignment |
Positionnement de l'étiquette dans la cellule | "left" , "right" , "center" |
Oui |
width |
Pourcentage suggéré de la largeur du tableau qui doit être fourni à l'en-tête. | Non | |
channelExtensions |
Propriétés d'extension propres au canal associées au message | JSONObject | Non |
Champ
Table
, Form
et Table-Form
, fournis en tant que paire clé-valeur.
Nom | Description | Type | Obligatoire? |
---|---|---|---|
displayType |
Type de champ | "text" , "link" |
Oui |
label |
La clé du champ | Chaîne | Oui |
value |
Valeur du champ | Chaîne | Non |
linkLabel |
Étiquette abrégée de la valeur du lien si displayType est link .
|
Chaîne | Non |
alignment |
Positionnement de l'étiquette dans sa cellule | "left" , "right" , "center" |
Non |
width |
Pourcentage suggéré de la largeur du tableau qui doit être fourni au champ | Non | |
channelExtensions |
Propriétés d'extension propres au canal associées au message | JSONObject | Non |
selectFieldOption
Le nom | Description | Type | Obligatoire? |
---|---|---|---|
label |
Le texte d'affichage | chaîne | Oui |
value |
Valeur de l'option | Types de données primitifs (chaîne, nombre, booléen, etc.) | Non |
channelExtensions |
Propriétés d'extension propres au canal associées à l'option de champ. | JSONObject | Non |
Champ en lecture seule
Le nom | Description | Type | Obligatoire? |
---|---|---|---|
value |
Valeur du champ | chaîne | Oui |
width |
Pourcentage suggéré de la largeur totale disponible que le champ doit occuper dans une disposition de tableau. | nombre | Non |
alignment |
Alignement de la valeur dans une colonne de table. L'alignement par défaut est right .
|
"left" , "center" et "right" |
Non |
Champ de texte
Le champ de texte hérite de toutes les propriétés de champ en lecture seule. La valeur displayType
pour ce champ est "text"
.
Champ de lien
Le nom | Description | Type | Obligatoire? |
---|---|---|---|
displayType |
Type de champ | "link" |
Oui |
linkLabel |
Étiquette utilisée pour le lien hypertexte | chaîne | Non |
imageUrl |
URL de l'image qui ouvre un lien lorsque l'utilisateur clique dessus. | chaîne | Non |
Champ de média
Le nom | Description | Type | Obligatoire? |
---|---|---|---|
displayType |
Type de champ | "média" | Oui |
mediaType |
Type de média du champ | "video" , "audio" , "image" |
Oui |
Champ d'action
Le nom | Description | Type | Obligatoire? |
---|---|---|---|
displayType |
Type de champ | "action" |
Oui |
action |
Action qui doit être effectuée lorsque l'utilisateur clique sur le bouton d'action. | Action | Oui |
Champ modifiable
Le nom | Description | Type | Obligatoire? |
---|---|---|---|
id |
ID champ | chaîne | Oui |
placeholder |
Description de l'entrée attendue de l'utilisateur. Ce texte s'affiche lorsque l'utilisateur n'a pas encore effectué de sélection ou entré de valeur. | chaîne | Non |
required |
Indique si cette entrée est requise pour soumettre le formulaire | booléen | Non |
clientErrorMessage |
Message d'erreur au niveau du champ affiché sous le champ lorsqu'une erreur de validation côté client se produit. Si elle n'est pas fournie, la trousse SDK prend par défaut la valeur editFieldErrorMessage .
|
chaîne | Non |
serverErrorMessage |
Message d'erreur au niveau du champ affiché sous le champ lorsqu'une erreur de validation côté serveur se produit. Ce message d'erreur doit être inclus dans les données utiles envoyées par la compétence. | chaîne | Non |
autoSubmit |
Lorsque cette option est réglée à true , le formulaire est soumis partiellement lorsque l'utilisateur a entré une valeur pour le champ.
|
Non |
Sélection unique
Le nom | Description | Type | Obligatoire? |
---|---|---|---|
displayType |
Type de champ | "singleSelect" |
Oui |
defaultValue |
La sélection par défaut | Types de données primitifs (chaîne, nombre, booléen, etc.) | Non |
options |
Tableau d'options présenté à l'utilisateur. | Un tableau selectFieldOption
|
Oui |
layoutStyle |
Style de disposition utilisé pour afficher les options de sélection unique. La disposition par défaut est list .
|
"list" , "radioGroup" |
Non |
Sélection multiple
Le nom | Description | Type | Obligatoire? |
---|---|---|---|
displayType |
Type de champ | "multiSelect" |
Oui |
defaultValue |
La sélection par défaut | Tableau<object> de types de données primitifs (chaîne, nombre, booléen, etc.) | Non |
options |
Tableau d'options présenté à l'utilisateur | Un tableau selectFieldOption
|
Oui |
layoutStyle |
Style de disposition utilisé pour afficher les options. | "list" , "checkboxes" |
Non |
DatePicker
Le nom | Description | Type | Obligatoire? |
---|---|---|---|
displayType |
Type de champ | "datePicker" |
Oui |
defaultValue |
Valeur initiale de ce champ. Le format doit être AAAA-MM-JJ. | chaîne | Non |
minDate |
Date minimale ou au plus tôt autorisée. Le format doit être AAAA-MM-JJ. | chaîne | Non |
maxDate |
Date maximale ou au plus tard autorisée. Le format doit être AAAA-MM-JJ. | chaîne | Non |
TimePicker
Le nom | Description | Type | Obligatoire? |
---|---|---|---|
displayType |
Type de champ | "timePicker" |
Oui |
defaultValue |
Valeur initiale de ce champ, entrée en tant que HH:mm au format 24 heures. | chaîne | Non |
minTime |
Heure minimale ou au plus tôt autorisée, entrée en tant que HH:mm au format 24 heures. Par exemple, 00 :00. | chaîne | Non |
maxTime |
Heure maximale ou la plus récente autorisée, entrée en tant que HH:mm, au format 24 heures. Par exemple, 13 :00. | chaîne | Non |
Activer/désactiver
Le nom | Description | Type | Obligatoire? |
---|---|---|---|
displayType |
Type de champ | "toggle" |
Oui |
defaultValue |
Valeur initiale sélectionnée. Si vous voulez que l'activation/désactivation soit activée initialement, réglez la valeur par défaut à la même valeur que valueOn .
|
chaîne | Non |
valueOff |
Valeur lorsque le basculement est désactivé | chaîne | Oui |
valueOn |
Valeur lorsque le basculement est activé | chaîne | Oui |
labelOff |
Étiquette de la valeur "Off" | chaîne | Non |
labelOn |
Étiquette de la valeur "on" | chaîne | Non |
TextInput
Le nom | Description | Type | Obligatoire? |
---|---|---|---|
displayType |
Type de champ | "textInput" |
Oui |
defaultValue |
La valeur initiale de ce champ | chaîne | non |
validationRegularExpression |
Expression rationnelle indiquant le format requis pour cette entrée de texte | chaîne | non |
multiline |
Indicateur qui détermine s'il faut afficher plusieurs lignes d'entrée | booléen | non |
minLength |
Longueur minimale d'entrée que l'utilisateur doit fournir | entier | non |
maxLength |
Nombre maximal de caractères autorisés dans le champ d'entrée de texte | entier | non |
inputStyle |
Style d'entrée utilisé par le client. Les valeurs autorisées sont : "text" , "tel" , "url" ,"email", et "password" .
|
chaîne | non |
NumberInput
Le nom | Description | Type | Obligatoire? |
---|---|---|---|
displayType |
Type de champ | "numberInput" |
Oui |
defaultValue |
La valeur initiale de ce champ | Entier | Non |
minValue |
Un plus petit nombre autorisé | Entier | Non |
maxValue |
Le plus grand nombre autorisé. | Entier | Non |
rangée
Le nom | Description | Type | Obligatoire? |
---|---|---|---|
fields |
Un tableau de champs | Tableau <champ> | Oui |
channelExtensions |
Propriétés d'extension propres au canal associées au message | JSONObject | Non |
Formulaire
Table-Form
pour les formulaires imbriqués d'une rangée de table.
Le nom | Description | Type | Obligatoire? |
---|---|---|---|
title |
Le titre du formulaire | Chaîne | Non |
field |
Un tableau de champs | Tableau <champ> | Oui |
actions |
Tableau d'actions | Tableau <BotsAction> | Non |
channelExtensions |
Propriétés d'extension propres au canal associées au message | JSONObject | Non |
PaginationInfo
Représente les informations de pagination pour les résultats dans les objets Table
, Form
et Table-Form
.
Nom | Description | Type | Obligatoire? |
---|---|---|---|
totalCount |
Nombre total de résultats | nombre | Oui |
rangeSize |
Taille de l'intervalle des résultats par page | nombre | Oui |
status |
Message de statut de pagination | chaîne | Oui |
currentRangeSize |
Taille de l'intervalle de résultats courant | nombre | Oui |
rangeStart |
Décalage de début de l'intervalle de résultats courant | nombre | Oui |
nextRangeSize |
Taille de l'intervalle de résultats suivant | nombre | Oui |
hasPrevious |
Indique s'il existe un jeu de résultats précédent | booléen | Oui |
hasNext |
Indique s'il existe un jeu de résultats suivant | booléen | Oui |
Message de conversation
Nom | Description | Type | Obligatoire? |
---|---|---|---|
messagePayload |
Données utiles du message | Message | Oui |
userId |
ID utilisateur | chaîne | Oui |
{
"messagePayload": {
"text": "show menu",
"type": "text"
},
"userId": "guest"
}
Message d'utilisateur
Représente un message envoyé par l'utilisateur à la compétence.
Message texte d'utilisateur
Nom | Description | Type | Obligatoire? |
---|---|---|---|
type |
Type de message | "text" |
Oui |
text |
Texte du message | chaîne | Oui |
{
"messagePayload": {
"text": "Order Pizza",
"type": "text"
},
"userId": "guest"
}
Message de republication d'utilisateur
Le nom | Description | Type | Obligatoire? |
---|---|---|---|
type |
Type de message | "postback" |
Oui |
text |
Texte de republication | chaîne | Non |
postback |
Republication de l'action sélectionnée | Une chaîne ou JSONObject | Oui |
{
"messagePayload": {
"postback": {
"variables": {
"pizza": "Small"
},
"system.botId": "69BBBBB-35BB-4BB-82BB-BBBB88B21",
"system.state": "orderPizza"
},
"text": "Small",
"type": "postback"
},
"userId": "guest"
}
Message joint d'utilisateur
Le nom | Description | Type | Obligatoire? |
---|---|---|---|
type |
Type de message | "attachment" |
Oui |
attachment |
Métadonnées du fichier joint | Fichier joint | Oui |
{
"messagePayload": {
"attachment": {
"type": "image",
"url": "http://oda-instance.com/attachment/v1/attachments/d43fd051-02cf-4c62-a422-313979eb9d55"
},
"type": "attachment"
},
"userId": "guest"
}
Message de soumission de formulaire d'utilisateur
Le nom | Description | Type | Obligatoire? |
---|---|---|---|
type |
Type de message. | "formSubmission" |
Oui |
submittedFields |
Paires clé-valeur des valeurs de champ soumises. La clé est le nom (ID) du champ. | JSONObject | Oui |
postback |
Données utiles de republication, qui peuvent inclure une propriété d'action pour déclencher la navigation. La valeur de cette propriété doit être extraite de SubmitFormAction. | JSONObject | Non |
partialSubmitField |
ID du champ qui déclenche la soumission d'un formulaire partiel. Les champs dont la propriété autoSubmit est réglée à Vrai peuvent déclencher une soumission partielle de formulaire. | Chaîne | Non |
{
"messagePayload": {
"submittedFields": {
"Attendees": [
"Toff van Alphen"
],
"Type": "Public transport",
"Description": "expense",
"Subject": "Expense",
"Date": "2023-06-07",
"Time": "18:58",
"Amount": 6,
"TipIncluded": "true"
},
"partialSubmitField": "Attendees",
"type": "formSubmission"
},
"userId": "guest"
}
Message d'emplacement d'utilisateur
Le nom | Description | Type | Obligatoire? |
---|---|---|---|
type |
Type de message | "location" |
Oui |
location |
Informations sur l'emplacement de l'utilisateur | Emplacement | Oui |
{
"messagePayload": {
"location": {
"latitude": 45.9285271,
"longitude": 132.6101925
},
"type": "location"
},
"userId": "guest"
}
Message de la compétence
Représente le message envoyé par la compétence à l'utilisateur.
Message texte d'aptitude
Le nom | Description | Type | Obligatoire? |
---|---|---|---|
type |
Type de message | "text" |
Oui |
text |
Texte du message | chaîne | Oui |
headerText |
Texte d'en-tête des cartes | chaîne | Non |
footerText |
Texte de pied de page des cartes | chaîne | Non |
actions |
Tableau d'actions liées au texte. | tableau | Non |
globalActions |
Tableau d'actions globales liées au texte. | tableau | Non |
channelExtensions |
Propriétés d'extension propres au canal associées au message | JSONObject | Non |
{
"messagePayload": {
"type": "text",
"text": "What do you want to do?",
"actions": [
{
"type": "postback",
"label": "Order Pizza",
"postback": {
"state": "askAction",
"action": "orderPizza"
}
},
{
"type": "postback",
"label": "Cancel A Previous Order",
"postback": {
"state": "askAction",
"action": "cancelOrder"
}
}
],
"channelExtensions": {
"displayType":"stars"
}
},
"userId": "guest",
"msgId": "message_id",
"source": "BOT"
}
Message d'emplacement
Le nom | Description | Type | Obligatoire? |
---|---|---|---|
type |
Type de message | "location" |
Oui |
location |
Emplacement | location |
Non |
headerText |
Texte d'en-tête du message | chaîne | Non |
footerText |
Texte de pied de page du message | chaîne | Non |
actions |
Tableau d'actions liées au texte | Tableau <Action> | Non |
globalActions |
Tableau d'actions globales liées au texte | Tableau <Action> | Non |
channelExtensions |
Propriétés d'extension propres au canal associées au message | JSONObject | Non |
Message de fichier joint à l'aptitude
Nom | Description | Type | Obligatoire? |
---|---|---|---|
type |
Type de message | "attachment" |
Oui |
attachment |
Fichier joint envoyé | Fichier joint | Oui |
headerText |
Texte d'en-tête de la carte | chaîne | Non |
footerText |
Texte de pied de page de la carte | chaîne | Non |
actions |
Tableau d'actions liées au texte. | tableau | Non |
globalActions |
Tableau d'actions globales liées au texte. | tableau | Non |
channelExtensions |
Propriétés d'extension propres au canal associées au message | JSONObject | Non |
Message de carte d'aptitude
Nom | Description | Type | Obligatoire? |
---|---|---|---|
type |
Type de message | "card" |
Oui |
layout |
Indique si les messages doivent être affichés horizontalement ou verticalement. | chaîne (values : horizontal , vertical )
|
Oui |
cards |
Tableau de cartes à afficher. | tableau | Oui |
headerText |
Texte d'en-tête des cartes | chaîne | Non |
actions |
Tableau d'actions liées au texte. | tableau | Non |
globalActions |
Tableau d'actions globales liées au texte. | tableau | Non |
channelExtensions |
Propriétés d'extension propres au canal associées au message | JSONObject | Non |
{
"messagePayload": {
"type": "card",
"layout": "horizontal",
"cards": [
{
"title": "Hawaiian Pizza",
"description": "Ham and pineapple on thin crust",
"actions": [
{
"type": "postback",
"label": "Order Small",
"postback": {
"state": "GetOrder",
"variables": {
"pizzaType": "hawaiian",
"pizzaCrust": "thin",
"pizzaSize": "small"
}
}
},
{
"type": "postback",
"label": "Order Large",
"postback": {
"state": "GetOrder",
"variables": {
"pizzaType": "hawaiian",
"pizzaCrust": "thin",
"pizzaSize": "large"
}
}
}
]
},
{
"title": "Cheese Pizza",
"description": "Cheese pizza (i.e. pizza with NO toppings) on thick crust",
"actions": [
{
"type": "postback",
"label": "Order Small",
"postback": {
"state": "GetOrder",
"variables": {
"pizzaType": "cheese",
"pizzaCrust": "thick",
"pizzaSize": "small"
}
}
},
{
"type": "postback",
"label": "Order Large",
"postback": {
"state": "GetOrder",
"variables": {
"pizzaType": "cheese",
"pizzaCrust": "thick",
"pizzaSize": "large"
}
}
}
]
}
],
"globalActions": [
{
"type": "call",
"label": "Call for Help",
"phoneNumber": "123456789"
}
]
},
"userId": "guest",
"msgId": "message_id",
"source": "BOT"
}
Message de la table d'aptitudes
fields
qui représente des cellules individuelles.
Ce type de message est utilisé pour les boîtes de dialogue SQL.
Le nom | Description | Type | Obligatoire? |
---|---|---|---|
type |
Type de message | "table" |
Oui |
headings |
Tableau d'en-têtes de table | Tableau<En-tête> | Oui |
rows |
Tableau de rangées de table. Chaque ligne contient un tableau fields qui représente les cellules de la table.
|
Tableau <Rangée> | Oui |
paginationInfo |
Informations de pagination pour les résultats du tableau | PaginationInfo | Non |
actions |
Tableau d'actions liées à la table | Tableau <Action> | Non |
globalActions |
Tableau d'actions globales | Tableau <Action> | Non |
channelExtensions |
Propriétés d'extension propres au canal associées au message | JSONObject | Non |
{
"type":"table",
"headerText":"A-Team",
"headings":[
{
"width":20,
"label":"First Name",
"alignment":"left"
},
{
"width":20,
"label":"Last Name",
"alignment":"left"
},
{
"width":35,
"label":"Title",
"alignment":"left"
},
{
"width":25,
"label":"Phone",
"alignment":"right"
}
],
"rows":[
{
"fields":[
{
"displayType":"text",
"width":20,
"label":"First Name",
"alignment":"left",
"value":"Aaron"
},
{
"displayType":"text",
"width":20,
"label":"Last Name",
"alignment":"left",
"value":"Adams"
},
{
"displayType":"text",
"width":35,
"label":"Title",
"alignment":"left",
"value":"Demo Builder"
},
{
"displayType":"text",
"width":25,
"label":"Phone",
"alignment":"right",
"value":"1234567890"
}
]
},
{
"fields":[
{
"displayType":"text",
"width":20,
"label":"First Name",
"alignment":"left",
"value":"Bob"
},
{
"displayType":"text",
"width":20,
"label":"Last Name",
"alignment":"left",
"value":"Brown"
},
{
"displayType":"text",
"width":35,
"label":"Title",
"alignment":"left",
"value":"Multi-lingual Expert"
},
{
"displayType":"text",
"width":25,
"label":"Phone",
"alignment":"right",
"value":"1234567890"
}
]
},
{
"fields":[
{
"displayType":"text",
"width":20,
"label":"First Name",
"alignment":"left",
"value":"Charlie"
},
{
"displayType":"text",
"width":20,
"label":"Last Name",
"alignment":"left",
"value":"Chase"
},
{
"displayType":"text",
"width":35,
"label":"Title",
"alignment":"left",
"value":"Flow Builder"
},
{
"displayType":"text",
"width":25,
"label":"Phone",
"alignment":"right",
"value":"1234567890"
}
]
},
{
"fields":[
{
"displayType":"text",
"width":20,
"label":"First Name",
"alignment":"left",
"value":"David"
},
{
"displayType":"text",
"width":20,
"label":"Last Name",
"alignment":"left",
"value":"Davidson"
},
{
"displayType":"text",
"width":35,
"label":"Title",
"alignment":"left",
"value":"Machine Learning Expert"
},
{
"displayType":"text",
"width":25,
"label":"Phone",
"alignment":"right",
"value":"1234567890"
}
]
},
{
"fields":[
{
"displayType":"text",
"width":20,
"label":"First Name",
"alignment":"left",
"value":"Eric"
},
{
"displayType":"text",
"width":20,
"label":"Last Name",
"alignment":"left",
"value":"Eastman Junior"
},
{
"displayType":"text",
"width":35,
"label":"Title",
"alignment":"left",
"value":"Docker Expert"
},
{
"displayType":"text",
"width":25,
"label":"Phone",
"alignment":"right",
"value":"1234567890"
}
]
}
],
"paginationInfo":{
"currentRangeSize":5,
"rangeStart":0,
"nextRangeSize":-3,
"hasPrevious":false,
"hasNext":false,
"totalCount":5,
"rangeSize":8,
"status":"Showing 1-5 of 5 items"
}
}
Message de formulaire d'aptitude
fields
avec des paires clé-valeur représentant un champ.
Ce type de message est utilisé pour les boîtes de dialogue SQL.
Le nom | Description | Type | Obligatoire? |
---|---|---|---|
type |
Type de message | "form" |
Oui |
forms |
Tableau de résultats de formulaire. Chaque résultat contient un tableau fields qui représente les champs de formulaire.
|
Tableau <Rangée> | Oui |
formColumns |
Nombre de colonnes dans lesquelles les champs du formulaire doivent être regroupés. | 1 2 | Oui |
paginationInfo |
Informations de pagination pour les résultats dans le formulaire | PaginationInfo | Non |
actions |
Tableau d'actions liées au formulaire | Tableau <Action> | Non |
globalActions |
Tableau d'actions globales | Tableau <Action> | Non |
channelExtensions |
Propriétés d'extension propres au canal associées au message | A JSONObject | Non |
{
"type":"form",
"headerText":"A-Team",
"forms":[
{
"fields":[
{
"displayType":"text",
"label":"First Name",
"alignment":"left",
"value":"Aaron"
},
{
"displayType":"text",
"label":"Last Name",
"alignment":"left",
"value":"Adams"
},
{
"displayType":"text",
"label":"Title",
"alignment":"left",
"value":"Demo Builder"
},
{
"displayType":"text",
"label":"Phone",
"alignment":"left",
"value":"1234567890"
},
{
"linkLabel":"Open Link",
"displayType":"link",
"label":"Contact",
"alignment":"left",
"value":"https://www.example.com/in/aaron-adams-4862752"
},
{
"displayType":"text",
"label":"Bio",
"alignment":"left"
}
]
},
{
"fields":[
{
"displayType":"text",
"label":"First Name",
"alignment":"left",
"value":"Bob"
},
{
"displayType":"text",
"label":"Last Name",
"alignment":"left",
"value":"Brown"
},
{
"displayType":"text",
"label":"Title",
"alignment":"left",
"value":"Multi-lingual Expert"
},
{
"displayType":"text",
"label":"Phone",
"alignment":"left",
"value":"1234567890"
},
{
"linkLabel":"Open Link",
"displayType":"link",
"label":"Contact",
"alignment":"left",
"value":"https://www.example.com/in/Bobbrown"
},
{
"displayType":"text",
"label":"Bio",
"alignment":"left",
"value":"Bob is a member of the cloud architects team which is specialized in enterprise mobility and cloud development. Bob has been directly involved with Oracle middleware since 2005 during which he held different roles in managing highly specialized teams."
}
]
},
{
"fields":[
{
"displayType":"text",
"label":"First Name",
"alignment":"left",
"value":"Charlie"
},
{
"displayType":"text",
"label":"Last Name",
"alignment":"left",
"value":"Chase"
},
{
"displayType":"text",
"label":"Title",
"alignment":"left",
"value":"Flow Builder"
},
{
"displayType":"text",
"label":"Phone",
"alignment":"left",
"value":"1234567890"
},
{
"linkLabel":"Open Link",
"displayType":"link",
"label":"Contact",
"alignment":"left",
"value":"https://www.example.com/in/Charlie-chase-97a418"
},
{
"displayType":"text",
"label":"Bio",
"alignment":"left",
"value":"Charlie is a member of the enterprise mobility team. Charlie has 20+ years experience with custom development. Charlie is an expert on mobile cloud services and development tools. He is the creator of productivity tools. His latest passion is building chatbots with a minimum amount of custom code."
}
]
}
],
"formColumns":2,
"paginationInfo":{
"currentRangeSize":3,
"rangeStart":0,
"nextRangeSize":2,
"hasPrevious":false,
"hasNext":true,
"totalCount":5,
"rangeSize":3,
"status":"Showing 1-3 of 5 items"
},
"globalActions":[
{
"postback":{
"variables":{},
"action":"system.showMore"
},
"label":"Show More",
"type":"postback"
}
]
}
Message de formulaire de table d'aptitudes
Table
et Form
. Il s'agit d'un message qui renvoie les résultats d'une requête sous la forme d'une table. Chaque ligne de la table comporte un formulaire en lecture seule en plus des informations sur la ligne.
Ce type de message est utilisé pour les boîtes de dialogue SQL.
Le nom | Description | Type | Obligatoire? |
---|---|---|---|
type |
Type de message | "tableForm" |
Oui |
headings |
Tableau d'en-têtes de table | Tableau<En-tête> | Oui |
rows |
Tableau de rangées de table. Chaque ligne contient un tableau de champs qui représentent les cellules de la table. | Tableau <Rangée> | Oui |
forms |
Tableau de résultats de formulaire correspondant à chaque ligne de table. Chaque formulaire contient un tableau fields qui représente les champs de formulaire.
|
Tableau <Formulaire> | Oui |
formColumns |
Nombre de colonnes dans lesquelles les champs du formulaire doivent être regroupés. | 1 2 | Oui |
paginationInfo |
Tableau d'actions globales liées au texte | Tableau <Action> | Non |
actions |
Tableau d'actions liées au formulaire de table | Tableau <Action> | Non |
globalActions |
Tableau d'actions globales | Tableau <Action> | Non |
channelExtensions |
Propriétés d'extension propres au canal associées au message | JSONObject | Non |
{
"type":"tableForm",
"headerText":"A-Team",
"headings":[
{
"width":47,
"label":"First Name",
"alignment":"left"
},
{
"width":47,
"label":"Last Name",
"alignment":"left"
}
],
"rows":[
{
"fields":[
{
"displayType":"text",
"label":"First Name",
"alignment":"left",
"value":"Aaron"
},
{
"displayType":"text",
"label":"Last Name",
"alignment":"left",
"value":"Adams"
}
]
},
{
"fields":[
{
"displayType":"text",
"label":"First Name",
"alignment":"left",
"value":"Bob"
},
{
"displayType":"text",
"label":"Last Name",
"alignment":"left",
"value":"Brown"
}
]
},
{
"fields":[
{
"displayType":"text",
"label":"First Name",
"alignment":"left",
"value":"Charlie"
},
{
"displayType":"text",
"label":"Last Name",
"alignment":"left",
"value":"Chase"
}
]
}
],
"forms":[
{
"title":"View details Aaron Adams",
"fields":[
{
"displayType":"text",
"label":"Title",
"alignment":"left",
"value":"Demo Builder"
},
{
"displayType":"text",
"label":"Phone",
"alignment":"left",
"value":"1234567890"
},
{
"linkLabel":"Open Link",
"displayType":"link",
"label":"Contact",
"alignment":"left",
"value":"https://www.example.com/in/Aaron-adams-4862572"
},
{
"displayType":"text",
"label":"Bio",
"alignment":"left"
}
]
},
{
"title":"View details Bob Brown",
"fields":[
{
"displayType":"text",
"label":"Title",
"alignment":"left",
"value":"Multi-lingual Expert"
},
{
"displayType":"text",
"label":"Phone",
"alignment":"left",
"value":"1234567890"
},
{
"linkLabel":"Open Link",
"displayType":"link",
"label":"Contact",
"alignment":"left",
"value":"https://www.example.com/in/Bobbrown"
},
{
"displayType":"text",
"label":"Bio",
"alignment":"left",
"value":"Bob is a member of the cloud architects team which is specialized in enterprise mobility and cloud development. Bob has been directly involved with Oracle middleware since 2005 during which he held different roles in managing highly specialized teams."
}
]
},
{
"title":"View details Charlie Chase",
"fields":[
{
"displayType":"text",
"label":"Title",
"alignment":"left",
"value":"Flow Builder Fanatic"
},
{
"displayType":"text",
"label":"Phone",
"alignment":"left",
"value":"1234567890"
},
{
"linkLabel":"Open Link",
"displayType":"link",
"label":"Contact",
"alignment":"left",
"value":"https://www.example.com/in/Charlie-chase-97a418"
},
{
"displayType":"text",
"label":"Bio",
"alignment":"left",
"value":"Charlie is a member of the enterprise mobility team. Charlie has 20+ years experience with custom development. Charlie is an expert on mobile cloud services and development tools. He is the creator of productivity tools. His latest passion is building chatbots with a minimum amount of custom code."
}
]
}
],
"formColumns":2,
"paginationInfo":{
"currentRangeSize":3,
"rangeStart":0,
"nextRangeSize":2,
"hasPrevious":false,
"hasNext":true,
"totalCount":5,
"rangeSize":3,
"status":"Showing 1-3 of 5 items"
},
"actions":[
{
"postback":{
"variables":{
},
"action":"system.showMore"
},
"label":"Show More",
"type":"postback"
}
],
"footerText":"Tap on a row to see personal details"
}
Message de formulaire de modification d'aptitude
Le nom | Description | Type | Obligatoire? |
---|---|---|---|
type |
Type de message. Dans ce cas, il s'agit de "editForm" .
|
"editForm" |
Oui |
fields |
Liste de champs pouvant inclure à la fois des champs modifiables et des champs en lecture seule. | Tableau <Champ> | Oui |
title |
Titre représentatif du formulaire de modification | Chaîne | Non |
formColumns |
Nombre de colonnes dans lesquelles les champs de formulaire doivent être regroupés. | Nombre entier (1)
La trousse SDK ne prend en charge qu'une seule colonne pour la version 23.06. |
Non |
errorMessage |
Message d'erreur au niveau du formulaire qui s'affiche lorsque l'utilisateur a soumis des données non valides, mais que l'erreur ne peut pas être liée à un champ individuel. | Chaîne | Non |
actions |
Tableau d'actions liées au formulaire de modification. Ce tableau doit inclure SubmitFormAction Une erreur s'affiche dans la console du navigateur lorsque SubmitFormAction n'est pas inclus dans le tableau actions .
|
Tableau <Action> | Non |
globalActions |
Tableau d'actions globales | Tableau <Action> | Non |
channelExtensions |
Ensemble de propriétés d'extension propres au canal
L'objet |
JSONObject | Non |
{
"messagePayload": {
"headerText": "Create Expense",
"type": "editForm",
"title": "Fill in the below form",
"fields": [
{
"displayType": "textInput",
"serverErrorMessage": "Invalid Text Input",
"defaultValue": "Expense",
"minLength": 5,
"id": "Subject",
"label": "Subject",
"placeholder": "Enter subject of the expense",
"clientErrorMessage": "Subject is required and must be between 5 and 15 characters",
"maxLength": 15,
"required": true
},
{
"displayType": "textInput",
"defaultValue": "expense",
"multiLine": true,
"id": "Description",
"label": "Description",
"placeholder": "What is expense justification",
"clientErrorMessage": "Description is required",
"required": true
},
{
"displayType": "datePicker",
"defaultValue": "2023-06-07",
"maxDate": "2023-06-22",
"id": "Date",
"label": "Expense Date",
"placeholder": "Pick a date in the past",
"clientErrorMessage": "Expense date is required and must be in the past.",
"required": true
},
{
"displayType": "timePicker",
"defaultValue": "18:58",
"id": "Time",
"label": "Expense Time",
"placeholder": "What time was the expense",
"clientErrorMessage": "Time is required. Please fill a value",
"required": true
},
{
"displayType": "numberInput",
"minValue": 5,
"defaultValue": 6,
"maxValue": 500,
"id": "Amount",
"label": "Amount",
"placeholder": "Enter expense amount",
"clientErrorMessage": "Amount is required and must be between 5 and 500.",
"required": true
},
{
"autoSubmit": true,
"displayType": "toggle",
"defaultValue": "true",
"labelOn": "Yes",
"id": "TipIncluded",
"label": "Tip Included?",
"valueOff": "false",
"labelOff": "No",
"valueOn": "true"
},
{
"displayType": "singleSelect",
"serverErrorMessage": "Invalid Selection",
"defaultValue": "Public transport",
"options": [
{
"label": "Public transport",
"value": "Public transport"
},
{
"label": "Flight",
"value": "Flight"
}
],
"layoutStyle": "list",
"id": "Type",
"label": "Expense Type",
"placeholder": "Select expense type",
"clientErrorMessage": "Expense type is required",
"required": true
},
{
"displayType": "multiSelect",
"defaultValue": [
"Toff van Alphen"
],
"options": [
{
"label": "Toff van Alphen",
"value": "Toff van Alphen"
},
{
"label": "Roger Federer",
"value": "Roger Federer"
}
],
"layoutStyle": "checkboxes",
"id": "Attendees",
"label": "Attendees",
"placeholder": "Select attendees",
"clientErrorMessage": "Please select atleast one attendee",
"required": true
}
],
"formColumns": 1,
"actions": [
{
"postback": {
"system.botId": "6803DE12-DAA9-4182-BD54-3B4D431554F4",
"system.flow": "ExpenseFlow",
"system.state": "editFormMapVar"
},
"label": "Submit",
"type": "submitForm"
}
],
"channelExtensions": {
"replaceMessage": "True"
}
},
"source": "BOT",
"userId": "guest"
}
Message brut d'aptitude
Nom | Description | Type | Obligatoire? |
---|---|---|---|
type |
Type de message | "raw" |
Oui |
payload |
Données utiles propres au canal | JSONObject | Oui |
channelExtensions |
Propriétés d'extension propres au canal associées au message | JSONObject | Non |