Nachrichtenmodell
Um Features wie den Headless-Modus und Delegaten zu verwenden, müssen Sie sich mit Benutzer- und Skillnachrichten vertraut machen. Alle vom Oracle-Chatserver empfangenen oder gesendeten Inhalte werden als Nachricht dargestellt, die vom Benutzer an den Skill oder vom Skill an den Benutzer gesendet wurde.
Aktion
Name | Beschreibung | Typ | Erforderlich? |
---|---|---|---|
type |
Aktionstyp | Zeichenfolge | Ja |
label |
Der beschreibende Labeltext für die Aktion. | Zeichenfolge | Mindestens ein label - oder imageUrl -Wert muss angegeben werden.
|
imageUrl |
Das Bild für die Aktion | Zeichenfolge | Mindestens eine einzelne label - oder imageUrl -Eigenschaft muss enthalten sein.
|
style |
Der Rendering-Stil der Schaltfläche | "primary" , "danger" , "default" |
Nein |
displayType |
Das Rendering für den Typ des Aktionselements (Schaltfläche, Link oder Symbol) | "button" , "link" , "icon" |
Nein |
channelExtensions |
Die der Aktion zugeordneten kanalspezifischen Erweiterungseigenschaften | JSONObject | Nein |
PostbackAction
Name | Beschreibung | Typ | Erforderlich? |
---|---|---|---|
type |
Aktionstyp | "postback" | Ja |
postback |
Der Postback, der zurückgegeben wird, wenn der Benutzer eine Aktion auswählt. | Zeichenfolge oder JSON-Objekt | Ja |
{
"type": "postback",
"label": "Large Pizza",
"imageUrl": "https://example.com/images/gallery/locations/11.jpg",
"postback": {
"state": "askSize",
"action": "getCrust"
}
}
CallAction
Name | Beschreibung | Typ | Erforderlich? |
---|---|---|---|
type |
Aktionstyp | "call" | Ja |
phoneNumber |
Die Telefonnummer, die angerufen werden soll | Zeichenfolge | Ja |
{
"type": "call",
"label": "Call Support",
"imageUrl": "http://example.com.ar/files/2016/05/cuidado.jpg",
"phoneNumber": "18005555555"
}
urlAction
Fordert den Client an, eine Website in einer neuen Registerkarte oder in einem app-internen Browser zu öffnen.
Name | Beschreibung | Typ | Erforderlich? |
---|---|---|---|
type |
Aktionstyp | "call" | Ja |
url |
Die URL der angezeigten Website. | Zeichenfolge | Ja |
ShareAction
Name | Beschreibung | Typ | Erforderlich? |
---|---|---|---|
type |
Aktionstyp | "share" | Ja |
LocationAction
Name | Beschreibung | Typ | Erforderlich? |
---|---|---|---|
type |
Aktionstyp | "location" | Ja |
{
"type": "location",
"label": "Share location",
"imageUrl": "http://images.example.com/location-clipart-location-pin-clipart-1.jpg"
}
PopupAction
PopupAction
verwendet die Eigenschaften Action
zusammen mit ihren eigenen:
Name | Beschreibung | Typ | Erforderlich? |
---|---|---|---|
type |
Aktionstyp | "popup" |
Ja |
popupContent |
Der Inhalt, der im Popup-Fenster angezeigt wird. | Die Nachrichten-Payload (siehe folgendes JSON-Beispiel) | Ja |
{
"type": "popup",
"label": "Give Feedback",
"popupContent": {
"formRows": [
{
"columns": [
{
"width": "stretch",
"fields": [
{
"displayType": "text",
"label": "What was the issue with this response?"
},
{
"displayType": "multiSelect",
"options": [
{
"label": "Inaccurate",
"value": "inaccurate"
},
{
"label": "Inappropriate",
"value": "inappropriate"
}
],
"id": "system_feedback_reasons",
"required": true
},
{
"displayType": "textInput",
"id": "system_feedback_comments",
"placeholder": "Additional feedback"
}
]
}
]
},
{
"columns": [
{
"fields": [
{
"displayType": "action",
"action": {
"postback": {
"rating": "negative",
"action": "cancel",
},
"label": "Cancel",
"type": "postback"
},
}
]
},
{
"fields": [
{
"displayType": "action",
"action": {
"postback": {
"rating": "negative",
"system.state": "invokeLLM"
},
"label": "Submit Feedback",
"type": "submitForm"
},
}
]
}
]
}
],
"type": "editForm",
"title": "Give your feedback",
"formColumns": 1,
}
}
SubmitFormAction
Name | Beschreibung | Typ | Erforderlich? |
---|---|---|---|
type |
Aktionstyp | "submitForm" |
Ja |
postback |
Die Postback Payload, die möglicherweise eine Aktion zum Auslösen der Navigation enthält. Der Wert dieser Eigenschaft muss in FormSubmissionMessagePayload festgelegt werden.
|
JSONObject | Nein |
{
"type": "submitForm",
"label": "Submit",
"postback": {
"system.botId": "6803DE12-DAA9-4182-BD54-3B4D431554F4",
"system.flow": "ExpenseFlow",
"system.state": "editFormMapVar"
}
}
Anhang
Name | Beschreibung | Typ | Erforderlich? |
---|---|---|---|
title |
Der Anhangstitel | Zeichenfolge | Nein |
type |
Der Anhangstyp | Zeichenfolge (Gültige Werte: audio, file, image, video) | Ja |
url |
Die Download-URL für den Anhang | Zeichenfolge | Ja |
{
"title": "Oracle Open World Promotion",
"type": "image",
"url": "https://www.oracle.com/us/assets/hp07-oow17-promo-02-3737849.jpg"
}
Karte
Name | Beschreibung | Typ | Erforderlich? |
---|---|---|---|
title |
Der Titel der Karte, der als erste Zeile auf der Karte angezeigt wird. | Zeichenfolge | Ja |
description |
Die Beschreibung der Karte | Zeichenfolge | Nein |
imageUrl |
Die URL des angezeigten Bildes. | Zeichenfolge | Nein |
URL |
Die Website-URL, die durch Tippen geöffnet wird. | Zeichenfolge | Nein |
actions |
Ein Array von Aktionen im Zusammenhang mit dem Text | Array | Nein |
channelExtensions |
Die der Nachricht zugeordneten kanalspezifischen Erweiterungseigenschaften | JSONObject | Nein |
Standort
Name | Beschreibung | Typ | Erforderlich? |
---|---|---|---|
title |
Der Standorttitel | Zeichenfolge | Nein |
url |
Die URL zur Anzeige des Standortes auf einer Karte | Zeichenfolge | Nein |
latitude |
Längengradwert der GPS-Koordinate | Double | Ja |
longitude |
Der Breitengradwert der GPS-Koordinate | Double | Ja |
{
"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
}
PaginationInfo
Stellt die Paging-Informationen für die Ergebnisse in den Objekten Table
, Form
und Table-Form
dar.
Name | Beschreibung | Typ | Erforderlich? |
---|---|---|---|
totalCount |
Die Gesamtanzahl der Ergebnisse | Nummer | Ja |
rangeSize |
Die Bereichsgröße der Ergebnisse pro Seite | Zahl | Ja |
status |
Paging-Statusmeldung | Zeichenfolge | Ja |
currentRangeSize |
Die Größe des aktuellen Ergebnisbereichs | Zahl | Ja |
rangeStart |
Der Startversatz des aktuellen Ergebnisbereichs | Zahl | Ja |
nextRangeSize |
Die Größe des nächsten Ergebnisbereichs | Zahl | Ja |
hasPrevious |
Gibt an, ob eine vorherige Ergebnismenge vorhanden ist | boolean | Ja |
hasNext |
Gibt an, ob eine nächste Gruppe von Ergebnissen vorhanden ist | boolean | Ja |
FormRow
Name | Beschreibung | Typ | Erforderlich? |
---|---|---|---|
id |
Die ID der Formularzeile | Zeichenfolge | Nein |
columns |
Eine Liste der Spalten, die in der Formularzeile angezeigt werden. | Array <Spalte> | Ja |
selectAction |
Die Aktionen, die ausgeführt werden, wenn das Formular ausgewählt wurde. Wenn Benutzer den Mauszeiger über das Formular bewegen, wird das Label der Aktion als QuickInfo (sofern vom Kanal unterstützt) angezeigt. | Aktion | Nein |
separator |
Wenn Sie diese Eigenschaft auf "true" setzen, wird eine Trennlinie über dem Inhalt in der Formularzeile eingefügt. | Boolean | Nein |
channelExtensions |
Die der Nachricht zugeordneten kanalspezifischen Erweiterungseigenschaften | JSONObject | Nein |
Spalte
Name | Beschreibung | Typ | Erforderlich? |
---|---|---|---|
id |
Die ID der Spalte | Zeichenfolge | Nein |
fields |
Eine Liste von Feldern, die vertikal in der Spalte angezeigt werden. Diese Felder müssen ReadOnlyField -Instanzen sein, wenn die Spalte in einer FormRow innerhalb einer Form verwendet wird. Die Felder können sowohl schreibgeschützte als auch bearbeitbare Felder sein, wenn die FormRow in einer EditFormMessagePayload verwendet wird.
|
Array<Feld> | Ja |
verticalAlignment |
Die vertikale Ausrichtung der Spalte gegenüber den anderen Spalten in derselben Formularzeile. | Zeichenfolge | Nein |
width |
Bestimmt die Breite der Spalte innerhalb der Formularzeile. Zulässige Werte sind auto (Standard) und stretch . Wenn diese Option auf stretch gesetzt ist, nimmt die Spalte die gesamte verbleibende Breite an, nachdem alle Spalten mit automatischer Breite gerendert wurden. Wenn mehrere Spalten auf stretch gesetzt sind, teilen sie die verbleibende Breite gleichmäßig auf.
|
Zeichenfolge | Nein |
channelExtensions |
Die der Nachricht zugeordneten kanalspezifischen Erweiterungseigenschaften | JSONObject | Nein |
Formular
Table-Form
-Nachrichten für verschachtelte Formulare einer Tabellenzeile verwendet.
Name | Beschreibung | Typ | Erforderlich? |
---|---|---|---|
id |
Die ID des Formulars | Zeichenfolge | Nein |
title |
Der Formulartitel | Zeichenfolge | Nein |
fields |
Ein Array von Feldern | Array <Feld> | Ja |
actions |
Ein Array von Aktionen | Array <BotsAction> | Nein |
formRows |
Eine Liste mit Zeilen, die sowohl editierbare als auch schreibgeschützte Felder enthalten können. Mit dieser Eigenschaft können Sie entweder die Liste der Felder (mit den Eigenschaften fields und optional formColumns ) oder eine Liste der Zeilen definieren. Die fields und formRows sind gegenseitig exlusive.
|
Maßnahme | Nein |
channelExtensions |
Die der Nachricht zugeordneten kanalspezifischen Erweiterungseigenschaften | JSONObject | Nein |
Zeile
Name | Beschreibung | Typ | Erforderlich? |
---|---|---|---|
fields |
Ein Array von Feldern | <Feld>> | Ja |
selectAction |
Die Aktion, die ausgeführt wird, wenn die Zeile ausgewählt wird. Das Label der Aktion wird als QuickInfo angezeigt, wenn Benutzer den Mauszeiger über der Zeile bewegen. | Maßnahme | Nein |
channelExtensions |
Die der Nachricht zugeordneten kanalspezifischen Erweiterungseigenschaften | JSONObject | Nein |
Überschrift
Table
- oder Table-Form
-Objekt dar.
Name | Beschreibung | Typ | Erforderlich? |
---|---|---|---|
label |
Das Titellabel | Zeichenfolge | Ja |
alignment |
Positionierung des Etiketts innerhalb der Zelle | "left" , "right" , "center" |
Ja |
width |
Der vorgeschlagene Prozentsatz der Tabellenbreite, der für die Überschrift angegeben werden soll. | Nein | |
channelExtensions |
Die der Nachricht zugeordneten kanalspezifischen Erweiterungseigenschaften | JSONObject | Nein |
Feld
Table
, Form
und Table-Form
dar, die als Schlüssel/Wert-Paar bereitgestellt werden.
Name | Beschreibung | Typ | Erforderlich? |
---|---|---|---|
displayType |
Der Feldtyp | Zeichenfolge | Ja |
label |
Der Feldschlüssel | Zeichenfolge | Ja |
marginTop |
Der vertikale Abstand zwischen diesem Feld und dem vorherigen Feld in derselben Spalte | "none" , "medium" ,"large" |
Nein |
labelFontSize |
Der für das Feldlabel verwendete Schriftgrad | "small" , "medium" , "large" |
Nein |
labelFontWeight |
Die Positionierung des Etiketts in seiner Zelle | "light" , "medium" , "bold" |
Nein |
channelExtensions |
Die der Nachricht zugeordneten kanalspezifischen Erweiterungseigenschaften | JSONObject | Nein |
selectFieldOption
Name | Beschreibung | Typ | Erforderlich? |
---|---|---|---|
label |
Der Anzeigetext | Zeichenfolge | Ja |
value |
Der Wert für die Option | Primitive Datentypen (Zeichenfolge, Zahl, boolescher Wert usw.) | Nein |
channelExtensions |
Die kanalspezifischen Erweiterungseigenschaften, die der Feldoption zugeordnet sind. | JSONObject | Nein |
Schreibgeschütztes Feld
Name | Beschreibung | Typ | Erforderlich? |
---|---|---|---|
value |
Der Feldwert | Zeichenfolge | Ja |
width |
Der vorgeschlagene Prozentsatz der gesamten verfügbaren Breite, die das Feld in einem Tabellenlayout belegen soll. | Nummer | Nein |
alignment |
Die Ausrichtung des Wertes in einer Tabellenspalte. Die Standardausrichtung ist right .
|
"left" , "center" und "right" |
Nein |
onHoverPopupContent |
Der Inhalt, der angezeigt wird, wenn Benutzer den Mauszeiger über ein Feld bewegen. | Message Payload | Nein |
Textfeld
Name | Beschreibung | Typ | Erforderlich? |
---|---|---|---|
displayType |
Der Elementtyp. | text (ein Zeichenfolgenwert)
|
Ja |
truncateAt |
Die Position, an der langwieriger Text abgeschnitten wird und an der ein Auslassungszeichen (das angibt, dass der Wert abgeschnitten wurde) angezeigt wird. | Zahl | Nein |
fontSize |
Die für den Feldwert verwendete Schriftgröße | "small" , "medium" , "large" |
Nein |
fontWeight |
Die Schriftstärke, die für den Feldwert verwendet wird | "light" , "medium" , "bold" |
Nein |
Link-Feld
Name | Beschreibung | Typ | Erforderlich? |
---|---|---|---|
displayType |
Der Feldtyp | "link" |
Ja |
linkLabel |
Das Label, das für den Hyperlink verwendet wird | Zeichenfolge | Nein |
imageUrl |
Die URL des Bildes, das einen Link öffnet, wenn Sie darauf klicken. | Zeichenfolge | Nein |
Medienfeld
Name | Beschreibung | Typ | Erforderlich? |
---|---|---|---|
displayType |
Der Feldtyp | "media" | Ja |
mediaType |
Der Feldmedientyp | "video" , "audio" , "image" |
Ja |
Feld Aktion
Name | Beschreibung | Typ | Erforderlich? |
---|---|---|---|
displayType |
Der Feldtyp | "action" |
Ja |
action |
Die Aktion, die ausgeführt werden soll, wenn der Benutzer auf die Aktionsschaltfläche klickt. | Aktion | Ja |
Bearbeitbares Feld
Name | Beschreibung | Typ | Erforderlich? |
---|---|---|---|
id |
Die Feld-ID | Zeichenfolge | Ja |
placeholder |
Eine Beschreibung der Eingabe, die vom Benutzer erwartet wird. Dieser Text wird angezeigt, wenn der Benutzer noch keine Auswahl getroffen oder einen Wert eingegeben hat. | Zeichenfolge | Nein |
required |
Ob diese Eingabe zum Weiterleiten des Formulars erforderlich ist | boolean | Nein |
clientErrorMessage |
Die Fehlermeldung auf Feldebene, die unter dem Feld angezeigt wird, wenn ein clientseitiger Validierungsfehler auftritt. Wenn keine Angabe gemacht wird, lautet der Standardwert für das SDK editFieldErrorMessage .
|
Zeichenfolge | Nein |
serverErrorMessage |
Die Fehlermeldung auf Feldebene, die unter dem Feld angezeigt wird, wenn ein serverseitiger Validierungsfehler auftritt. Diese Fehlermeldung muss in der vom Skill gesendeten Payload enthalten sein. | Zeichenfolge | Nein |
autoSubmit |
Wenn dieser Wert auf true gesetzt ist, wird das Formular automatisch weitergeleitet, wenn der Benutzer einen Wert für das Feld eingegeben hat.
|
Nein |
Einzelauswahl
Name | Beschreibung | Typ | Erforderlich? |
---|---|---|---|
displayType |
Der Feldtyp | "singleSelect" |
Ja |
defaultValue |
Die Standardauswahl | Primitive Datentypen (Zeichenfolge, Zahl, boolescher Wert usw.) | Nein |
options |
Ein Array von Optionen, die dem Benutzer angezeigt werden. | Ein selectFieldOption-Array | Ja |
layoutStyle |
Der Layoutstil, mit dem die Einzelauswahloptionen wiedergegeben werden. Das Standardlayout ist list .
|
"list" , "radioGroup" |
Nein |
layoutDirection |
Die Layoutrichtung (horizontal oder vertikal) für die Optionsfelder, wenn layoutStyle auf radioGroup gesetzt ist. Standardmäßig wird die Layoutrichtung als vertical, festgelegt, Sie können sie jedoch als horizontal festlegen.
|
Zeichenfolge | Nein |
Mehrfachauswahl
Name | Beschreibung | Typ | Erforderlich? |
---|---|---|---|
displayType |
Der Feldtyp | "multiSelect" |
Ja |
defaultValue |
Die Standardauswahl | Ein Array<object> von primitiven Datentypen (eine Zeichenfolge, Zahl, boolescher Wert usw.) | Nein |
options |
Ein Array von Optionen, die dem Benutzer angezeigt werden | Ein selectFieldOption -Array
|
Ja |
layoutStyle |
Der Layoutstil, mit dem die Optionen gerendert werden. | "list" , "checkboxes" |
Nein |
layoutDirection |
Die Layoutrichtung (horizontal oder vertikal) für die Kontrollkästchen, wenn layoutStyle auf checkboxes gesetzt ist. Standardmäßig wird die Layoutrichtung als vertical festgelegt. Sie können sie aber auch als horizontal festlegen.
|
Zeichenfolge | Nein |
DatePicker
Name | Beschreibung | Typ | Erforderlich? |
---|---|---|---|
displayType |
Der Feldtyp | "datePicker" |
Ja |
defaultValue |
Der erste Wert für dieses Feld. Das Format muss YYYY-MM-DD sein. | Zeichenfolge | Nein |
minDate |
Das zulässige Mindest- oder früheste Datum. Das Format muss YYYY-MM-DD sein. | Zeichenfolge | Nein |
maxDate |
Das maximal zulässige oder späteste Datum. Das Format muss YYYY-MM-DD sein. | Zeichenfolge | Nein |
TimePicker
Name | Beschreibung | Typ | Erforderlich? |
---|---|---|---|
displayType |
Der Feldtyp | "timePicker" |
Ja |
defaultValue |
Der Anfangswert für dieses Feld, der im 24-Stunden-Format als HH:mm eingegeben wurde. | Zeichenfolge | Nein |
minTime |
Die zulässige Mindest- oder früheste Zeit, die im 24-Stunden-Format als HH:mm eingegeben wurde. Beispiel: 00:00. | Zeichenfolge | Nein |
maxTime |
Die maximal zulässige oder späteste Zeit, die als HH:mm im 24-Stunden-Format eingegeben wurde. Beispiel: 13:00. | Zeichenfolge | Nein |
Einblenden
Name | Beschreibung | Typ | Erforderlich? |
---|---|---|---|
displayType |
Der Feldtyp | "toggle" |
Ja |
defaultValue |
Der ursprünglich ausgewählte Wert. Wenn der Umschalter anfänglich aktiviert sein soll, setzen Sie den Standardwert auf denselben Wert wie valueOn .
|
Zeichenfolge | Nein |
valueOff |
Der Wert, wenn der Umschalter deaktiviert ist | Zeichenfolge | Ja |
valueOn |
Der Wert, wenn der Umschalter aktiviert ist | Zeichenfolge | Ja |
labelOff |
Das Label für den "off"-Wert | Zeichenfolge | Nein |
labelOn |
Label für den "on"-Wert | Zeichenfolge | Nein |
TextInput
Name | Beschreibung | Typ | Erforderlich? |
---|---|---|---|
displayType |
Der Feldtyp | "textInput" |
Ja |
defaultValue |
Der anfängliche Wert für dieses Feld | Zeichenfolge | nein |
validationRegularExpression |
Ein regulärer Ausdruck, der das erforderliche Format für diese Texteingabe angibt | Zeichenfolge | nein |
multiline |
Kennzeichen, das bestimmt, ob mehrere Eingabezeilen wiedergegeben werden | boolean | nein |
minLength |
Die Mindestlänge der Eingabe, die der Benutzer angeben muss | Ganzzahl | nein |
maxLength |
Die maximal zulässige Zeichenanzahl im Texteingabefeld | Ganzzahl | nein |
inputStyle |
Der vom Client verwendete Eingabestil. Zulässige Werte sind: "text" , "tel" , "url" ,"email", und "password" .
|
Zeichenfolge | nein |
NumberInput
Name | Beschreibung | Typ | Erforderlich? |
---|---|---|---|
displayType |
Der Feldtyp | "numberInput" |
Ja |
defaultValue |
Der anfängliche Wert für dieses Feld | Ganzzahl | Nein |
minValue |
Kleinste zulässige Anzahl | Ganzzahl | Nein |
maxValue |
Die maximal zulässige Anzahl. | Ganzzahl | Nein |
EventContextProperties
CloudEvent
dar.
Name | Beschreibung | Typ | Erforderlich? | Beispiel |
---|---|---|---|---|
dataschema |
Gibt das Schema an, dem die Daten entsprechen. | URI | Nein | "/dw/approval_payload.json" |
datacontenttype |
Der Inhaltstyp der Daten, die im Datenattribut enthalten sind. | Zeichenfolge | Nein | "application/json" |
source |
Die Ressource, die das Ereignis erzeugt hat. | URI | Nein |
"objectstorage" |
time |
Die Uhrzeit des Ereignisses im RFC 3339-Zeitstempelformat. | Timestamp | Nein | "2021-01-10T21:19:24Z" |
specversion |
Die Version der CloudEvents-Spezifikation. | Zeichenfolge | Nein | "1.0" |
id |
Die ID der Spezifikation CloudEvents. | Zeichenfolge | Nein | "123e4567-e89b-12d3-a456-426614174000" |
subject |
Das Thema des Ereignisses im Kontext des Ereigniserstellers und/oder Ereignistyps. | Zeichenfolge | Nein | "mynewfile.jpg" |
Unterhaltungsnachricht
Name | Beschreibung | Typ | Erforderlich? |
---|---|---|---|
messagePayload |
Die Nachrichten-Payload | Meldung | Ja |
userId |
Die Benutzer-ID | Zeichenfolge | Ja |
{
"messagePayload": {
"text": "show menu",
"type": "text"
},
"userId": "guest"
}
Benutzernachricht
Stellt eine Nachricht dar, die vom Benutzer an den Skill gesendet wird.
Benutzertextnachricht
Name | Beschreibung | Typ | Erforderlich? |
---|---|---|---|
type |
Der Nachrichtentyp | "text" |
Ja |
text |
Meldungstext | Zeichenfolge | Ja |
{
"messagePayload": {
"text": "Order Pizza",
"type": "text"
},
"userId": "guest"
}
Postback-Nachricht des Benutzers
Name | Beschreibung | Typ | Erforderlich? |
---|---|---|---|
type |
Der Nachrichtentyp | "postback" |
Ja |
text |
Der Postback-Text | Zeichenfolge | Nein |
postback |
Der Postback der ausgewählten Aktion | Eine Zeichenfolge oder JSONObject | Ja |
{
"messagePayload": {
"postback": {
"variables": {
"pizza": "Small"
},
"system.botId": "69BBBBB-35BB-4BB-82BB-BBBB88B21",
"system.state": "orderPizza"
},
"text": "Small",
"type": "postback"
},
"userId": "guest"
}
Benutzernachricht inboundEvent
Message
angewendet.
Name | Beschreibung | Typ | Erforderlich? |
---|---|---|---|
type |
Der Nachrichtentyp | "inboundEvent" |
Ja |
eventType |
Der Ereignistyp (im Ereigniskatalog definiert) | Zeichenfolge | Ja |
eventVersion |
Die Ereignistypversion (im Ereigniskatalog definiert) | Zeichenfolge | Ja |
eventData |
Die Geschäftsdaten | JSONObject | Ja |
contextProperties |
Die Ereigniskontexteigenschaften | Ereigniskontext-Eigenschaften | Nein |
{
"messagePayload": {
"eventData": {
"size": "Medium",
"type": "Cheese"
},
"eventVersion": "1.0",
"eventType": "com.pizzastore.pizza.orderserved",
"type": "inboundEvent",
"contextProperties": {
"id": "6ce23f09-bff7-4369-8467-0c510e971aaf",
"source": "pizza/service",
}
},
"userId": "guest"
}
Benutzerformularweiterleitungsnachricht
Name | Beschreibung | Typ | Erforderlich? |
---|---|---|---|
type |
Der Nachrichtentyp. | "formSubmission" |
Ja |
submittedFields |
Schlüssel/Wert-Paare der weitergeleiteten Feldwerte. Der Schlüssel ist der Name (ID) des Feldes. | JSONObject | Ja |
postback |
Die Postback Payload, die möglicherweise eine Aktionseigenschaft zum Auslösen der Navigation enthält. Der Wert dieser Eigenschaft muss aus der Datei SubmitFormAction übernommen werden. | JSONObject | Nein |
partialSubmitField |
Die ID des Feldes, das eine teilweise Formularweiterleitung auslöst. Felder, bei denen die Eigenschaft autoSumbit auf true gesetzt ist, können eine teilweise Formularweiterleitung auslösen.
|
Zeichenfolge | Nein |
{
"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"
}
Benutzeranhangsnachricht
Name | Beschreibung | Typ | Erforderlich? |
---|---|---|---|
type |
Der Nachrichtentyp | "attachment" |
Ja |
attachment |
Die Anhangsmetadaten | Anhang | Ja |
{
"messagePayload": {
"attachment": {
"type": "image",
"url": "http://oda-instance.com/attachment/v1/attachments/d43fd051-02cf-4c62-a422-313979eb9d55"
},
"type": "attachment"
},
"userId": "guest"
}
Benutzerstandortnachricht
Name | Beschreibung | Typ | Erforderlich? |
---|---|---|---|
type |
Der Nachrichtentyp | "location" |
Ja |
location |
Die Informationen zum Benutzerstandort | Standort | Ja |
{
"messagePayload": {
"location": {
"latitude": 45.9285271,
"longitude": 132.6101925
},
"type": "location"
},
"userId": "guest"
}
Skillnachricht
Stellt die Nachricht dar, die vom Skill an den Benutzer gesendet wird.
Name | Beschreibung | Typ | Erforderlich? |
---|---|---|---|
type |
Der Nachrichtentyp | Zeichenfolge | Ja |
headerText |
Der Headertext, der über dem Meldungstext angezeigt wird. | Zeichenfolge | Nein |
footerText |
Der Fußzeilentext, der unter dem Nachrichtentext und den Aktionen angezeigt wird, jedoch vor den globalen Aktionen. | Zeichenfolge | Nein |
actions |
Eine Liste mit Aktionen für die Nachricht | Array<Action> |
Nein |
footerForm |
Ein Formularlayout, das unter dem Fußzeilentext der Nachricht und über ihren globalen Aktionen angezeigt wird. | Skillformularnachricht | Nein |
globalActions |
Eine Liste der globalen Aktionen für den Text | Array<Aktion> | Nein |
channelExtensions |
Die der Nachricht zugeordneten kanalspezifischen Erweiterungseigenschaften | JSONObject | Nein |
Bottextnachricht
Name | Beschreibung | Typ | Erforderlich? |
---|---|---|---|
type |
Der Nachrichtentyp | "text" |
Ja |
text |
Meldungstext | Zeichenfolge | Ja |
{
"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"
}
}
]
},
"userId": "guest"
}
Skillstandortnachricht
Name | Beschreibung | Typ | Erforderlich? |
---|---|---|---|
type |
Der Nachrichtentyp | "location" |
Ja |
location |
Standort | Standort | Ja |
Skillanhangsnachricht
Name | Beschreibung | Typ | Erforderlich? |
---|---|---|---|
type |
Der Nachrichtentyp | "attachment" |
Ja |
attachment |
Der gesendete Anhang | Anhang | Ja |
Dateiuploads von der Hostsite verlaufen möglicherweise nicht erfolgreich und können einen Konsolenfehler ausgeben, der beispielsweise wie folgt lautet:
https://<oda-instance>/chat/v1/attachments from origin <client site> has been blocked by CORS policy: No Access-Control-Allow-Origin header is present on the requested resource
Dies liegt daran, dass die CORS-(Cross-Origin Resource Sharing-)Einstellungen der Hostsite, die alle ursprungsübergreifenden HTTP-Anforderungen blockieren, auch Uploadanforderungen von der Clientinstanz an den Oracle Digital Assistant-Anhangsserver blockieren können. Wenn dieses Problem auftritt, aktualisieren Sie die Sicherheits-Policy der Hostsite, um die Domain für die Digital Assistant-Instanz zuzulassen. Da die Unterhaltung WebSocket-Verbindungen verwendet, wirkt sich CORS nicht auf die Unterhaltung aus.
Dateinamen übergeben
x-oda-meta-file-name
x-oda-meta-file-type
Feedbacknachrichten
channelExtensions
-Objektfeld, das als { "displayType": "stars" }
festgelegt ist. Die folgenden Eigenschaften werden auf die Skillnachricht angewendet.
Name | Beschreibung | Typ | Erforderlich? |
---|---|---|---|
type |
Der Nachrichtentyp | "text" |
Ja |
text |
Meldungstext | Zeichenfolge | Ja |
channelExtensions |
Ein Objekt, das Erweiterungen der Payload beschreibt. | { “displayType”: “stars” } |
Ja |
{
"messagePayload":{
"text":"How would you like to rate us?",
"type":"text",
"actions":[
{
"postback":{
"variables":{
"rating":"1"
},
"system.botId":"61C8D800-23AF-4DDD-B5AF-D79AB3F3BE67",
"action":"1",
"system.state":"giveFeedback"
},
"label":"1",
"type":"postback"
},
{
"postback":{
"variables":{
"rating":"2"
},
"system.botId":"61C8D800-23AF-4DDD-B5AF-D79AB3F3BE67",
"action":"2",
"system.state":"giveFeedback"
},
"label":"2",
"type":"postback"
},
{
"postback":{
"variables":{
"rating":"3"
},
"system.botId":"61C8D800-23AF-4DDD-B5AF-D79AB3F3BE67",
"action":"3",
"system.state":"giveFeedback"
},
"label":"3",
"type":"postback"
},
{
"postback":{
"variables":{
"rating":"4"
},
"system.botId":"61C8D800-23AF-4DDD-B5AF-D79AB3F3BE67",
"action":"4",
"system.state":"giveFeedback"
},
"label":"4",
"type":"postback"
},
{
"postback":{
"variables":{
"rating":"5"
},
"system.botId":"61C8D800-23AF-4DDD-B5AF-D79AB3F3BE67",
"action":"5",
"system.state":"giveFeedback"
},
"label":"5",
"type":"postback"
}
],
"channelExtensions":{
"displayType":"stars"
}
},
"source":"BOT",
"userId":"<userID>"
}
Skillkartennachricht
Name | Beschreibung | Typ | Erforderlich? |
---|---|---|---|
type |
Der Nachrichtentyp | "card" |
Ja |
layout |
Gibt an, ob die Nachrichten horizontal oder vertikal angezeigt werden sollen. | Zeichenfolge (Werte: horizontal , vertical )
|
Ja |
cards |
Ein Array von Karten, die gerendert werden sollen. | Array | Ja |
Karte
Name | Beschreibung | Typ | Erforderlich? |
---|---|---|---|
title |
Der Titel der Karte, der als erste Zeile auf der Karte angezeigt wird. | Zeichenfolge | Ja |
description |
Die Beschreibung der Karte | Zeichenfolge | Nein |
imageUrl |
Die URL des angezeigten Bildes. | Zeichenfolge | Nein |
url |
Die Website-URL, die durch Tippen geöffnet wird. | Zeichenfolge | Nein |
actions |
Ein Array von Aktionen im Zusammenhang mit dem Text | Array | Nein |
{
"messagePayload": {
"type": "card",
"layout": "horiztonal",
"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"
}
Skill-Postback-Nachricht
Name | Beschreibung | Typ | Erforderlich? |
---|---|---|---|
type |
Der Nachrichtentyp | "postback" |
Ja |
text |
Meldungstext | Zeichenfolge | Nein |
postback |
Der Postback | Eine Zeichenfolge oder eine JSONObject | Ja |
Skillformularnachricht
fields
-Array mit Schlüssel/Wert-Paaren, die ein Feld darstellen. Die folgenden Eigenschaften werden auf die Skillnachricht angewendet.
Dieser Meldungstyp wird für SQL-Dialogfelder verwendet.
Name | Beschreibung | Typ | Erforderlich? |
---|---|---|---|
type |
Der Nachrichtentyp | "form" |
Ja |
forms |
Ein Array von Formularergebnissen. Jedes Ergebnis enthält ein fields -Array, das die Formularfelder darstellt.
|
Array<Zeile> | Ja |
formColumns |
Die Anzahl der Spalten, in denen die Felder des Formulars gruppiert werden sollen. | 1 2 | Ja |
paginationInfo |
Die Paging-Informationen für die Ergebnisse in der Form | PaginationInfo | Nein |
{
"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"
}
]
}
Nachricht für Skilltabelle
fields
-Array, das einzelne Zellen darstellt. Die folgenden Eigenschaften werden auf die Skillnachricht angewendet.
Dieser Meldungstyp wird für SQL-Dialogfelder verwendet.
Name | Beschreibung | Typ | Erforderlich? |
---|---|---|---|
type |
Der Nachrichtentyp | "table" |
Ja |
headings |
Ein Array von Tabellenüberschriften | Array<Überschrift> | Ja |
tableTitle | Der Tabellentitel | String | Nein |
rows |
Ein Array von Tabellenzeilen. Jede Zeile enthält ein fields -Array, das die Tabellenzellen darstellt.
|
Array<Zeile> | Ja |
paginationInfo |
Die Paging-Informationen für die Ergebnisse in der Tabelle | PaginationInfo | Nein |
{
"type":"table",
"headerText":"A-Team",
"tableTitle": "Document",
"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"
}
}
Qualifikationstabelle - Formularmeldung
Table
und Form
. Sie stellt eine Meldung dar, die das Ergebnis einer Abfrage in Form einer Tabelle zurückgibt. Jede Zeile der Tabelle verfügt zusätzlich zu den Zeileninformationen über eine schreibgeschützte Form. Die folgenden Eigenschaften werden auf die Skillnachricht angewendet.
Dieser Meldungstyp wird für SQL-Dialogfelder verwendet.
Name | Beschreibung | Typ | Erforderlich? |
---|---|---|---|
type |
Der Nachrichtentyp | "tableForm" |
Ja |
tableTitle |
Der Tabellentitel | String | Nein |
headings |
Ein Array von Tabellenüberschriften | Array<Überschrift> | Ja |
rows |
Ein Array von Tabellenzeilen. Jede Zeile enthält ein Array von Feldern, die Tabellenzellen darstellen. | Array<Zeile> | Ja |
forms |
Ein Array von Formularergebnissen, die jeder Tabellenzeile entsprechen. Jedes Formular enthält ein fields -Array, das die Formularfelder darstellt.
|
Array<Form> | Ja |
formColumns |
Die Anzahl der Spalten, in denen die Felder des Formulars gruppiert werden sollen. | 1 2 | Ja |
paginationInfo |
Ein Array mit globalen Aktionen, die sich auf den Text beziehen | Array<Aktion> | Nein |
{
"type":"tableForm",
"headerText":"A-Team",
"tableTitle": "Document",
"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"
}
Skill - Ausgehende Ereignisnachricht
Message
angewendet.
Name | Beschreibung | Typ | Erforderlich? |
---|---|---|---|
type |
Der Nachrichtentyp | "outboundEvent" |
Ja |
eventType |
Der Ereignistyp (im Ereigniskatalog definiert) | Zeichenfolge | Ja |
eventVersion |
Die Ereignistypversion (im Ereigniskatalog definiert) | Zeichenfolge | Ja |
eventData |
Die Geschäftsdaten | JSONObject | Ja |
contextProperties |
Die Ereigniskontexteigenschaften | Ereigniskontext-Eigenschaften | Nein |
{
"messagePayload": {
"eventData": {
"size": "Medium",
"type": "Cheese"
},
"eventVersion": "1.0",
"eventType": "com.pizzastore.pizza.ordercreated",
"type": "outboundEvent",
"contextProperties": {
"tenancy": "odaserviceinstance00",
"specversion": "1.0",
"id": "7a923f09-bff7-4369-8467-0c510e971aaf",
"source": "hello/app",
"time": 1659357000,
"type": "com.pizzastore.pizza.ordercreated",
"channelname": "System_Global_Test",
"version": "1.0",
"userid": "3910088",
"contenttype": "application/json"
}
}
}
Nachricht zum Bearbeiten des Skills
Name | Beschreibung | Typ | Erforderlich? |
---|---|---|---|
type |
Der Nachrichtentyp. In diesem Fall ist es "editForm" .
|
"editForm" |
Ja |
title |
Ein Vertretungstitel für das Bearbeitungsformular | Zeichenfolge | Nein |
fields |
Eine Liste mit Feldern, die sowohl editierbare als auch schreibgeschützte Felder enthalten können. | Array<Feld> | Ja |
formColumns |
Die Anzahl der Spalten, in denen die Formularfelder gruppiert werden sollen. Die Eigenschaft ist nur anwendbar, wenn Sie auch die Eigenschaft field festlegen.
|
Ganzzahl | Nein |
formRows |
Eine Liste mit Zeilen, die sowohl editierbare als auch schreibgeschützte Felder enthalten können. Sie müssen entweder die Eigenschaft fields festlegen, und formRows ist erforderlich. Diese beiden Möglichkeiten schließen sich gegenseitig aus.
|
Array<FormRow> | |
errorMessage |
Eine Fehlermeldung auf Formularebene, die angezeigt wird, wenn der Benutzer ungültige Daten übermittelt hat, der Fehler jedoch nicht mit einem einzelnen Feld verknüpft werden kann. | Zeichenfolge | Nr. |
actions |
Ein Array von Aktionen für das Bearbeitungsformular. Dieses Array enthält eine SubmitFormAction. In der Browserkonsole wird ein Fehler angezeigt, wenn die SubmitFormAction nicht im Array actions enthalten ist.
|
Array<Aktion> | Nr. |
globalActions |
Ein Array mit globalen Aktionen | Array<Aktion> | Nein |
channelExtensions |
Eine Gruppe kanalspezifischer Erweiterungseigenschaften
Das Objekt |
JSONObject | Nein |
{
"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"
}