Modello di messaggio
Per utilizzare funzioni come la modalità headless e il delegato, è necessario comprendere sia i messaggi utente che quelli relativi alle competenze. Tutto ciò che viene ricevuto o inviato da Oracle Chat Server viene rappresentato come un messaggio, uno inviato dall'utente alla skill o dallo skill all'utente.
Collegamento
Nome | descrizione; | Digita | Richiesto? |
---|---|---|---|
type |
Tipo di allegato | stringa (valori validi: audio , file , image , video )
|
Sì |
url |
URL di download per l'allegato | stringa | Sì |
title |
Il nome del file caricato | stringa | No |
{
"type": "image",
"url": "https://www.oracle.com/us/assets/hp07-oow17-promo-02-3737849.jpg"
}
Posizione
Nome | descrizione; | Digita | Richiesto? |
---|---|---|---|
title |
Il titolo della posizione | stringa | No |
URL |
URL per la visualizzazione della posizione su una mappa | stringa | No |
latitude |
Valore longitudine della coordinata GPS | doppio | Sì |
longitude |
Valore di latitudine della coordinata GPS | doppio | Sì |
{
"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
}
Azione
Nome | descrizione; | Digita | Richiesto? |
---|---|---|---|
type |
Il tipo di azione | stringa | Sì |
label |
Testo dell'etichetta descrittiva per l'azione. | stringa | Deve essere presente almeno un valore label o imageUrl .
|
imageUrl |
L'immagine per l'azione | stringa | Deve essere presente almeno un valore label o imageUrl .
|
PostbackAction
Nome | descrizione; | Digita | Richiesto? |
---|---|---|---|
type |
Il tipo di azione | "postback" |
Sì |
postback |
Postback restituito quando l'utente seleziona un'azione. | Una stringa o JSONObject | Sì |
{
"type": "postback",
"label": "Large Pizza",
"imageUrl": "https://example.com/images/gallery/locations/11.jpg",
"postback": {
"state": "askSize",
"action": "getCrust"
}
}
CallAction
Nome | descrizione; | Digita | Richiesto? |
---|---|---|---|
type |
Il tipo di azione | "call" |
Sì |
phoneNumber |
Il numero di telefono da chiamare | stringa | Sì |
{
"type": "call",
"label": "Call Support",
"imageUrl": "http://example.com.ar/files/2016/05/cuidado.jpg",
"phoneNumber": "18005555555"
}
urlAction
Richiede al cliente di aprire un sito web in una nuova scheda o in un browser in-app.
Nome | descrizione; | Digita | Richiesto? |
---|---|---|---|
type |
Il tipo di azione | "call" | Sì |
URL |
L'URL del sito Web visualizzato. | stringa | Sì |
{
"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
Nome | descrizione; | Digita | Richiesto? |
---|---|---|---|
type |
Il tipo di azione | "submitForm" |
Sì |
postback |
Il payload di postback, che potrebbe includere una proprietà di azione per attivare la navigazione. Il valore di questa proprietà deve essere impostato in formSubmissionPayload .
|
JSONObject | No |
{
"type": "submitForm",
"label": "Submit",
"postback": {
"system.botId": "6803DE12-DAA9-4182-BD54-3B4D431554F4",
"system.flow": "ExpenseFlow",
"system.state": "editFormMapVar"
}
}
Cardinalità
Nome | descrizione; | Digita | Richiesto? |
---|---|---|---|
title |
Il titolo della carta, visualizzato come prima riga sulla carta. | stringa | Sì |
description |
La descrizione della scheda | stringa | No |
imageUrl |
L'URL dell'immagine visualizzata. | stringa | No |
URL |
L'URL del sito Web aperto con un tocco. | stringa | No |
actions |
Array di azioni correlate al testo | array | No |
channelExtensions |
Le proprietà di estensione specifiche del canale associate al messaggio | JSONObject | No |
Intestazione
Table
o Table-Form
.
Nome | descrizione; | Digita | Richiesto? |
---|---|---|---|
label |
L'etichetta dell'intestazione | Stringa | Sì |
alignment |
Il posizionamento dell'etichetta all'interno della cella | "left" , "right" , "center" |
Sì |
width |
Percentuale consigliata della larghezza della tabella da fornire all'intestazione. | No | |
channelExtensions |
Le proprietà di estensione specifiche del canale associate al messaggio | JSONObject | No |
Campo
Table
, Form
e Table-Form
, forniti come coppia chiave-valore.
Nome | descrizione; | Digita | Richiesto? |
---|---|---|---|
displayType |
Il tipo di campo | "text" , "link" |
Sì |
label |
La chiave del campo | Stringa | Sì |
value |
Il valore del campo | Stringa | No |
linkLabel |
Una breve etichetta per il valore del collegamento se displayType è link .
|
Stringa | No |
alignment |
Il posizionamento dell'etichetta all'interno della sua cella | "left" , "right" , "center" |
No |
width |
Percentuale consigliata della larghezza della tabella da fornire al campo | No | |
channelExtensions |
Le proprietà di estensione specifiche del canale associate al messaggio | JSONObject | No |
selectFieldOption
Nome | descrizione; | Digita | Richiesto? |
---|---|---|---|
label |
Testo visualizzato | stringa | Sì |
value |
Valore per l'opzione | Tipi di dati primitivi (stringa, numero, booleano e così via) | No |
channelExtensions |
Le proprietà di estensione specifiche del canale associate all'opzione di campo. | JSONObject | No |
Campo Sola lettura
Nome | descrizione; | Digita | Richiesto? |
---|---|---|---|
value |
Il valore del campo | stringa | Sì |
width |
Percentuale consigliata della larghezza totale disponibile che il campo deve occupare in un layout di tabella. | numerica | No |
alignment |
L'allineamento del valore all'interno di una colonna di tabella. L'allineamento predefinito è right .
|
"left" , "center" e "right" |
No |
Nella release 23.06 di Oracle Digital Assistant, i campi di sola lettura non vengono visualizzati all'interno dei form di input, anche se ricevuti nel payload dei messaggi.
Campo Testo
Il campo di testo eredita tutte le proprietà del campo di sola lettura. Il valore displayType
per questo campo è "text"
.
Collega campo
Nome | descrizione; | Digita | Richiesto? |
---|---|---|---|
displayType |
Il tipo di campo | "link" |
Sì |
linkLabel |
Etichetta utilizzata per il collegamento ipertestuale | stringa | No |
imageUrl |
L'URL dell'immagine che apre un collegamento quando viene fatto clic. | stringa | No |
Campo supporti
Nome | descrizione; | Digita | Richiesto? |
---|---|---|---|
displayType |
Il tipo di campo | "supporti" | Sì |
mediaType |
Il tipo di supporto del campo | "video" , "audio" , "image" |
Sì |
Campo Azione
Nome | descrizione; | Digita | Richiesto? |
---|---|---|---|
displayType |
Il tipo di campo | "action" |
Sì |
action |
Azione da eseguire quando l'utente fa clic sul pulsante di azione. | Azione | Sì |
Campo modificabile
Nome | descrizione; | Digita | Richiesto? |
---|---|---|---|
id |
ID campo | stringa | Sì |
placeholder |
Descrizione dell'input previsto dall'utente. Questo testo viene visualizzato quando l'utente non ha ancora effettuato una selezione o immesso un valore. | stringa | No |
required |
Indica se questo input è necessario per sottomettere il form | boolean | No |
clientErrorMessage |
Messaggio di errore a livello di campo visualizzato sotto il campo quando si verifica un errore di convalida lato client. Se non viene fornito, l'SDK viene impostato automaticamente su editFieldErrorMessage .
|
stringa | No |
serverErrorMessage |
Messaggio di errore a livello di campo visualizzato sotto il campo quando si verifica un errore di convalida lato server. Questo messaggio di errore deve essere incluso nel payload inviato dallo skill. | stringa | No |
autoSubmit |
Se impostato su true , il form viene inviato parzialmente quando l'utente ha immesso un valore per il campo.
|
No |
Selezione singola
Nome | descrizione; | Digita | Richiesto? |
---|---|---|---|
displayType |
Il tipo di campo | "singleSelect" |
Sì |
defaultValue |
L'impostazione predefinita | Tipi di dati primitivi (stringa, numero, booleano e così via) | No |
options |
Array di opzioni presentato all'utente. | Un Array<SelectFieldOption> |
Sì |
layoutStyle |
Lo stile di layout utilizzato per visualizzare le opzioni di selezione singola. Il layout predefinito è list .
|
"list" , "radioGroup" |
No |
Selezione multipla
Nome | descrizione; | Digita | Richiesto? |
---|---|---|---|
displayType |
Il tipo di campo | "multiSelect" |
Sì |
defaultValue |
L'impostazione predefinita | Array<object> di tipi di dati primitivi (stringa, numero, booleano e così via) | No |
options |
Una serie di opzioni presentate all'utente | Array<SelectFieldOption> |
Sì |
layoutStyle |
Lo stile di layout utilizzato per eseguire il rendering delle opzioni. | "list" , "checkboxes"
|
No |
DatePicker
Nome | descrizione; | Digita | Richiesto? |
---|---|---|---|
displayType |
Il tipo di campo | "datePicker" |
Sì |
defaultValue |
Il valore iniziale per questo campo. Il formato deve essere YYYY-MM-DD. | stringa | No |
minDate |
La data minima o meno recente consentita. Il formato deve essere YYYY-MM-DD. | stringa | No |
maxDate |
Data massima o più recente consentita. Il formato deve essere YYYY-MM-DD. | stringa | No |
TimePicker
Nome | descrizione; | Digita | Richiesto? |
---|---|---|---|
displayType |
Il tipo di campo | "timePicker" |
Sì |
defaultValue |
Il valore iniziale per questo campo, immesso come HH:mm nel formato a 24 ore. | stringa | No |
minTime |
Ora minima o meno recente consentita immessa come HH:mm nel formato 24 ore. ad esempio 00:00. | stringa | No |
maxTime |
Ora massima o più recente consentita immessa come HH:mm nel formato 24 ore. ad esempio 13:00. | stringa | No |
Cambia
Nome | descrizione; | Digita | Richiesto? |
---|---|---|---|
displayType |
Il tipo di campo | "toggle" |
Sì |
defaultValue |
Il valore selezionato iniziale. Se si desidera che l'attivazione sia inizialmente attiva, impostare il valore predefinito sullo stesso valore di valueOn .
|
stringa | No |
valueOff |
Il valore di attivazione/disattivazione è disattivato | stringa | Sì |
valueOn |
Il valore di attivazione/disattivazione è attivo | stringa | Sì |
labelOff |
L'etichetta per il valore "off" | stringa | No |
labelOn |
L'etichetta per il valore "on" | stringa | No |
TextInput
Nome | descrizione; | Digita | Richiesto? |
---|---|---|---|
displayType |
Il tipo di campo | "textInput" |
Sì |
defaultValue |
Il valore iniziale per questo campo | stringa | no |
validationRegularExpression |
Espressione regolare che indica il formato richiesto per questo input di testo | stringa | no |
multiline |
Flag che determina se visualizzare più righe di input | boolean | no |
minLength |
La lunghezza minima dell'input che l'utente deve fornire | Intero | no |
maxLength |
Numero massimo di caratteri consentiti nel campo di input di testo | Intero | no |
inputStyle |
Lo stile di input utilizzato dal client. I valori consentiti sono: "text" , "tel" , "url" ,"email", e "password" .
|
stringa | no |
NumberInput
Nome | descrizione; | Digita | Richiesto? |
---|---|---|---|
displayType |
Il tipo di campo | "numberInput" |
Sì |
defaultValue |
Il valore iniziale per questo campo | Valore intero | No |
minValue |
Il più piccolo numero consentito | Valore intero | No |
maxValue |
Il numero più grande consentito. | Valore intero | No |
Righe
Nome | descrizione; | Digita | Richiesto? |
---|---|---|---|
fields |
Una serie di campi | <campo> array | Sì |
channelExtensions |
Le proprietà di estensione specifiche del canale associate al messaggio | JSONObject | No |
Form
Table-Form
per i form nidificati di una riga di tabella.
Nome | descrizione; | Digita | Richiesto? |
---|---|---|---|
title |
Il titolo del modulo | Stringa | No |
field |
Una serie di campi | <campo> array | Sì |
actions |
Una serie di azioni | Array <BotsAction> | No |
channelExtensions |
Le proprietà di estensione specifiche del canale associate al messaggio | JSONObject | No |
PaginationInfo
Rappresenta le informazioni di paging per i risultati negli oggetti Table
, Form
e Table-Form
.
Nome | descrizione; | Digita | Richiesto? |
---|---|---|---|
totalCount |
Il conteggio totale dei risultati | numerica | Sì |
rangeSize |
La dimensione dell'intervallo dei risultati per pagina | numerica | Sì |
status |
Messaggio di stato paging | stringa | Sì |
currentRangeSize |
Dimensione della gamma di risultati corrente | numerica | Sì |
rangeStart |
Offset iniziale dell'intervallo corrente di risultati | numerica | Sì |
nextRangeSize |
La dimensione del successivo intervallo di risultati | numerica | Sì |
hasPrevious |
Indica se esiste un set di risultati precedente | boolean | Sì |
hasNext |
Indica se esiste una serie successiva di risultati | boolean | Sì |
Messaggio della conversazione
Nome | descrizione; | Digita | Richiesto? |
---|---|---|---|
messagePayload |
Il payload del messaggio | Messaggio | Sì |
userId |
L'ID utente | stringa | Sì |
{
"messagePayload": {
"text": "show menu",
"type": "text"
},
"userId": "guest"
}
Messaggio utente
Rappresenta un messaggio inviato dall'utente allo skill.
Messaggio di testo utente
Nome | descrizione; | Digita | Richiesto? |
---|---|---|---|
type |
Il tipo di messaggio | "text" |
Sì |
text |
Il testo del messaggio | stringa | Sì |
{
"messagePayload": {
"text": "Order Pizza",
"type": "text"
},
"userId": "guest"
}
Messaggio postback utente
Nome | descrizione; | Digita | Richiesto? |
---|---|---|---|
type |
Il tipo di messaggio | "postback" |
Sì |
text |
Il testo del postback | stringa | No |
postback |
Il postback dell'azione selezionata | Una stringa o JSONObject | Sì |
{
"messagePayload": {
"postback": {
"variables": {
"pizza": "Small"
},
"system.botId": "69BBBBB-35BB-4BB-82BB-BBBB88B21",
"system.state": "orderPizza"
},
"text": "Small",
"type": "postback"
},
"userId": "guest"
}
Messaggio allegato utente
Nome | descrizione; | Digita | Richiesto? |
---|---|---|---|
type |
Il tipo di messaggio | "attachment" |
Sì |
attachment |
I metadati dell'allegato | allegato | Sì |
{
"messagePayload": {
"attachment": {
"type": "image",
"url": "http://oda-instance.com/attachment/v1/attachments/d43fd051-02cf-4c62-a422-313979eb9d55"
},
"type": "attachment"
},
"userId": "guest"
}
Messaggio ubicazione utente
Nome | descrizione; | Digita | Richiesto? |
---|---|---|---|
type |
Il tipo di messaggio | "location" |
Sì |
location |
Informazioni posizione utente | Posizione | Sì |
{
"messagePayload": {
"location": {
"latitude": 45.9285271,
"longitude": 132.6101925
},
"type": "location"
},
"userId": "guest"
}
Messaggio di sottomissione modulo utente
Nome | descrizione; | Digita | Richiesto? |
---|---|---|---|
type |
Il tipo di messaggio. | "formSubmission" |
Sì |
submittedFields |
Coppie chiave-valore dei valori di campo sottomessi. La chiave è il nome (ID) del campo. | JSONObject | Sì |
postback |
Il payload di postback, che potrebbe includere una proprietà azione per attivare la navigazione. Il valore di questa proprietà deve essere preso da SubmitFormAction. | JSONObject | No |
partialSubmitField |
ID del campo che attiva l'invio parziale del modulo. I campi con la proprietà autoSubmit impostata su true possono attivare l'invio parziale del modulo.
|
Stringa | No |
{
"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"
}
Messaggio abilità
Rappresenta il messaggio inviato dallo skill all'utente.
Nome | descrizione; | Digita | Richiesto? |
---|---|---|---|
type |
Il tipo di messaggio | stringa | Sì |
Messaggio raw competenze
Nome | descrizione; | Digita | Richiesto? |
---|---|---|---|
type |
Il tipo di messaggio | "raw" |
Sì |
payload |
Il payload specifico del canale | JSONObject | Sì |
channelExtensions |
Le proprietà di estensione specifiche del canale associate al messaggio | JSONObject | No |
Messaggio di testo competenza
Nome | descrizione; | Digita | Richiesto |
---|---|---|---|
type |
Il tipo di messaggio | "text" |
Sì |
text |
Il testo del messaggio | stringa | Sì |
headerText |
Testo dell'intestazione per le schede | stringa | No |
footerText |
Testo piè di pagina per le schede | stringa | No |
actions |
Array di azioni correlate al testo. | array | No |
globalActions |
Array di azioni globali correlate al testo. | array | No |
channelExtensions |
Le proprietà di estensione specifiche del canale associate al messaggio. "displayType" : "stars" identifica il componente di feedback.
|
JSONObject | No |
{
"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"
"userId": "guest",
"msgId": "message_id",
"source": "BOT"
}
Messaggio allegato skill
Nome | descrizione; | Digita | Richiesto |
---|---|---|---|
type |
Il tipo di messaggio | "attachment" |
Sì |
attachment |
L'allegato inviato | allegato | Sì |
headerText |
Testo dell'intestazione della scheda | stringa | No |
footerText |
il testo del piè di pagina della scheda | stringa | No |
actions |
Array di azioni correlate al testo. | array | No |
globalActions |
Array di azioni globali correlate al testo. | array | No |
channelExtensions |
Le proprietà di estensione specifiche del canale associate al messaggio | JSONObject | No |
Messaggio scheda competenze
Nome | descrizione; | Digita | Richiesto |
---|---|---|---|
type |
Il tipo di messaggio | "card" |
Sì |
layout |
Indica se visualizzare i messaggi in senso orizzontale o verticale. | stringa (valori: horizontal , vertical )
|
Sì |
cards |
Array di schede da visualizzare. | array | Sì |
headerText |
Testo dell'intestazione delle schede | stringa | No |
actions |
Array di azioni correlate al testo. | array | No |
globalActions |
Array di azioni globali correlate al testo. | array | No |
channelExtensions |
Le proprietà di estensione specifiche del canale associate al messaggio | JSONObject | No |
{
"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"
}
Messaggio tabella skill
fields
che rappresenta le singole celle.
Questo tipo di messaggio viene utilizzato per le finestre di dialogo SQL.
Nome | descrizione; | Digita | Richiesto? |
---|---|---|---|
type |
Il tipo di messaggio | "table" |
Sì |
headings |
Una serie di intestazioni di tabella | Array<Intestazione> | Sì |
rows |
Array di righe di tabella. Ogni riga contiene un array fields che rappresenta le celle della tabella.
|
Array<Riga> | Sì |
paginationInfo |
Informazioni di paging per i risultati nella tabella | PaginationInfo | No |
actions |
Array di azioni correlate alla tabella | Array<Action> | No |
globalActions |
Una serie di azioni globali | Array<Action> | No |
channelExtensions |
Le proprietà di estensione specifiche del canale associate al messaggio | JSONObject | No |
{
"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"
}
}
Messaggio form competenze
fields
con coppie chiave-valore che rappresentano un campo.
Questo tipo di messaggio viene utilizzato per le finestre di dialogo SQL.
Nome | descrizione; | Digita | Richiesto? |
---|---|---|---|
type |
Il tipo di messaggio | "form" |
Sì |
forms |
Array di risultati del modulo. Ogni risultato contiene un array fields che rappresenta i campi del modulo.
|
Array<Riga> | Sì |
formColumns |
Il numero di colonne in cui devono essere raggruppati i campi del modulo. | 1 2 | Sì |
paginationInfo |
Informazioni di paging per i risultati nel form | PaginationInfo | No |
actions |
Array di azioni correlate al form | Array<Action> | No |
globalActions |
Una serie di azioni globali | Array<Action> | No |
channelExtensions |
Le proprietà di estensione specifiche del canale associate al messaggio | JSONbject | No |
{
"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"
}
]
}
Messaggio modulo tabella skill
Table
e Form
. Rappresenta un messaggio che restituisce i risultati di una query sotto forma di tabella. Ogni riga della tabella dispone di un form di sola lettura oltre alle informazioni sulla riga.
Questo tipo di messaggio viene utilizzato per le finestre di dialogo SQL.
Nome | descrizione; | Digita | Richiesto? |
---|---|---|---|
type |
Il tipo di messaggio | "tableForm" |
Sì |
headings |
Una serie di intestazioni di tabella | Array<Intestazione> | Sì |
rows |
Array di righe di tabella. Ogni riga contiene un array di campi che rappresentano le celle della tabella. | Array<Riga> | Sì |
forms |
Array di risultati del modulo che corrispondono a ogni riga della tabella. Ogni modulo contiene un array fields che rappresenta i campi del modulo.
|
Array<Form> | Sì |
formColumns |
Il numero di colonne in cui devono essere raggruppati i campi del modulo. | 1 2 | Sì |
paginationInfo |
Array di azioni globali correlate al testo | Array<Action> | No |
actions |
Array di azioni correlate al form tabella | Array<Action> | No |
globalActions |
Una serie di azioni globali | Array<Action> | No |
channelExtensions |
Le proprietà di estensione specifiche del canale associate al messaggio | JSONObject | No |
{
"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"
}
Messaggio modulo modifica abilità
Nome | descrizione; | Digita | Richiesto? |
---|---|---|---|
type |
Il tipo di messaggio. In questo caso, è "editForm" .
|
"editForm" |
Sì |
fields |
Elenco di campi che possono includere campi modificabili e di sola lettura. | Array<Field> | Sì |
title |
Un titolo di rappresentante per il modulo di modifica | Stringa | No |
formColumns |
Il numero di colonne in cui devono essere raggruppati i campi modulo. | Numero intero (1)
L'SDK supporta una sola colonna per la Release 23.06. |
No |
errorMessage |
Messaggio di errore a livello di modulo che viene visualizzato quando l'utente ha sottomesso dati non validi ma l'errore non può essere collegato a un singolo campo. | Stringa | No |
actions |
Array di azioni correlate al form di modifica. Questo array deve includere un valore SubmitFormAction . Viene visualizzato un errore nella console del browser quando SubmitFormAction non è incluso nell'array actions .
|
Array<Action> | No |
globalActions |
Una serie di azioni globali | Array<Action> | No |
channelExtensions |
Un set di proprietà di estensione specifiche del canale
L'oggetto |
JSONObject | No |
{
"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"
}