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.

Hier sehen Sie die Basistypen, die in allen Nachrichten verwendet werden, die vom Benutzer an den Skill und umgekehrt gesendet werden. Sie sind die Bausteine aller Nachrichten.

Aktion

Eine Aktion steht für ein Element, das der Benutzer auswählen kann.
Name Beschreibung Typ Erforderlich?
type Aktionstyp Zeichenfolge Ja
label Der beschreibende Labeltext für die Aktion. Zeichenfolge Mindestens ein label -oder imageUrl-Wert muss vorhanden sein.
imageUrl Das Bild für die Aktion Zeichenfolge Mindestens ein label -oder imageUrl-Wert muss vorhanden sein.
channelExtensions Die der Nachricht zugeordneten kanalspezifischen Erweiterungseigenschaften JSONObject Nein

PostbackAction

Sendet einen vordefinierten Postback an den Skill, wenn der Benutzer eine Aktion auswählt.
Name Beschreibung Typ Erforderlich?
type Aktionstyp "postback" Ja
postback Der Postback, der zurückgegeben wird, wenn der Benutzer eine Aktion auswählt. Eine Zeichenfolge oder JSONObject Ja
Beispiel:
{
    "type": "postback",
    "label": "Large Pizza",
    "imageUrl": "https://example.com/images/gallery/locations/11.jpg",
    "postback": {
        "state": "askSize",
        "action": "getCrust"
    }
}

CallAction

Fordert den Client an, eine angegebene Telefonnummer im Namen des Benutzers anzurufen.
Name Beschreibung Typ Erforderlich?
type Aktionstyp "call" Ja
phoneNumber Die Telefonnummer, die angerufen werden soll Zeichenfolge Ja
Beispiel:
{
    "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
Beispiel:
{
    "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

Mit dieser Aktion wird ein Eingabeformular an den Skill weitergeleitet, wenn es die clientseitige Validierung erfüllt. Die folgenden Eigenschaften werden den Eigenschaften der Aktion hinzugefügt:
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. <<XREF>> JSONObject Nein
Beispiel-JSON
{
    "type": "submitForm",
    "label": "Submit",
    "postback": {
        "system.botId": "6803DE12-DAA9-4182-BD54-3B4D431554F4",
        "system.flow": "ExpenseFlow",
        "system.state": "editFormMapVar"
    }
}

LocationAction

Fordert den Client an, den Standort des Benutzers abzufragen.
Name Beschreibung Typ Erforderlich?
type Aktionstyp "location" Ja
Beispiel:
{
    "type": "location",
    "label": "Share location",
    "imageUrl": "http://images.example.com/location-clipart-location-pin-clipart-1.jpg"
}

Anhang

Stellt einen Anhang dar, der vom Benutzer gesendet wird.
Name Beschreibung Typ Erforderlich?
type Der Anhangstyp Zeichenfolge (Gültige Werte: audio, file, image, video) Ja
url Die Download-URL für den Anhang Zeichenfolge Ja
title Der Name der hochgeladenen Datei Zeichenfolge Nein
Beispiel:
{
    "type": "image",
    "url": "https://www.oracle.com/us/assets/hp07-oow17-promo-02-3737849.jpg"
}

Karte

Stellt eine einzelne Karte in der Nachrichten-Payload dar.
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

Stellt ein Standortobjekt dar.
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
channelExtensions Die der Nachricht zugeordneten kanalspezifischen Erweiterungseigenschaften JSONObject Nein
Beispiel:
{
    "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
}

Überschrift

Stellt eine Überschrift für Tabellen in einem 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

Stellt die atomaren Informationen einer Tabellenzelle oder eines Formularfelds in den Objekten Table, Form und Table-Form dar, die als Schlüssel/Wert-Paar bereitgestellt werden.
Name Beschreibung Typ Erforderlich?
displayType Der Feldtyp "text", "link" Ja
label Der Feldschlüssel Zeichenfolge Ja
value Der Feldwert Zeichenfolge Nein
linkLabel Ein kurzes Label für den Linkwert, wenn displayType link ist. Zeichenfolge Nein
alignment Die Positionierung des Etiketts in seiner Zelle "left", "right", "center" Nein
width Der vorgeschlagene Prozentsatz der Tabellenbreite, der dem Feld bereitgestellt werden soll   Nein
channelExtensions Die der Nachricht zugeordneten kanalspezifischen Erweiterungseigenschaften JSONObject Nein

selectFieldOption

Die Felder Einfachauswahl und Mehrfachauswahl verwenden eine Liste mit Auswahloptionen mit den folgenden Eigenschaften:
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

Feld schreibgeschützt

Stellt ein schreibgeschütztes Feld dar. Alle schreibgeschützten Felder erben die Feldeigenschaften und verfügen über die folgenden zusätzlichen Eigenschaften:
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. Zahl Nein
alignment Die Ausrichtung des Wertes in einer Tabellenspalte. Die Standardausrichtung ist right. "left", "center" und "right" Nein

Textfeld

Das Textfeld erbt alle schreibgeschützten Feldeigenschaften. Der displayType-Wert für dieses Feld ist "text".

Link-Feld

Das Linkfeld erbt alle schreibgeschützten Feldeigenschaften. Es verfügt über die folgenden zusätzlichen Eigenschaften:
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

Das Medienfeld erbt alle schreibgeschützten Feldeigenschaften. Es verfügt über die folgenden zusätzlichen Eigenschaften:
Name Beschreibung Typ Erforderlich?
displayType Der Feldtyp "media" Ja
mediaType Der Feldmedientyp "video", "audio", "image" Ja

Feld Aktion

Das Aktionsfeld erbt alle schreibgeschützten Feldeigenschaften. Es verfügt über die folgenden zusätzlichen Eigenschaften:
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. Maßnahme Ja

Bearbeitbares Feld

Stellt ein bearbeitbares Feld dar. Alle bearbeitbaren Felder übernehmen die Feldeigenschaften und verfügen über die folgenden zusätzlichen Eigenschaften:
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 teilweise weitergeleitet, wenn der Benutzer einen Wert für das Feld eingegeben hat.   Nein

Einzelauswahl

Das Einzelauswahlfeld übernimmt alle Eigenschaften des bearbeitbaren Feldes und verfügt über die folgenden zusätzlichen Eigenschaften:
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 gerendert werden. Das Standardlayout ist list. "list", "radioGroup" Nein

Mehrfachauswahl

Das Mehrfachauswahlfeld übernimmt alle Eigenschaften des bearbeitbaren Feldes und verfügt über die folgenden zusätzlichen Eigenschaften:
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

DatePicker

Das Datumsauswahlfeld übernimmt alle Eigenschaften des bearbeitbaren Feldes und verfügt über die folgenden zusätzlichen Eigenschaften:
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

Das Zeitauswahlfeld erbt einige der Eigenschaften für das bearbeitbare Feld und verfügt über die folgenden zusätzlichen Eigenschaften:
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

Das Umschaltfeld erbt alle Eigenschaften des bearbeitbaren Feldes und verfügt über die folgenden zusätzlichen Eigenschaften:
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

Das Texteingabefeld übernimmt alle Eigenschaften des bearbeitbaren Feldes und verfügt über die folgenden zusätzlichen Eigenschaften:
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

Das Zahleneingabefeld übernimmt alle Eigenschaften des bearbeitbaren Feldes und verfügt über die folgenden zusätzlichen Eigenschaften:
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

Zeile

Stellt ein Feldarray dar.
Name Beschreibung Typ Erforderlich?
fields Ein Array von Feldern Array <field> Ja
channelExtensions Die der Nachricht zugeordneten kanalspezifischen Erweiterungseigenschaften JSONObject Nein

Formular

Stellt ein Array von Feldern zusammen mit einem Titel dar. Wird in Table-Form-Nachrichten für verschachtelte Formulare einer Tabellenzeile verwendet.
Name Beschreibung Typ Erforderlich?
title Der Formulartitel Zeichenfolge Nein
field Ein Array von Feldern Array <field> Ja
actions Ein Array von Aktionen Array <BotsAction> Nein
channelExtensions Die der Nachricht zugeordneten kanalspezifischen Erweiterungseigenschaften JSONObject Nein

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 Nummer Ja
status Paging-Statusmeldung Zeichenfolge Ja
currentRangeSize Die Größe des aktuellen Ergebnisbereichs Nummer Ja
rangeStart Der Startversatz des aktuellen Ergebnisbereichs Nummer Ja
nextRangeSize Die Größe des nächsten Ergebnisbereichs Nummer 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

Dialognachricht

Alle Nachrichten, die Teil einer Unterhaltung sind, haben die folgende Struktur:
Name Beschreibung Typ Erforderlich?
messagePayload Die Nachrichten-Payload Meldung Ja
userId Die Benutzer-ID Zeichenfolge Ja
Beispiel:
{
    "messagePayload": {
        "text": "show menu",
        "type": "text"
    },
    "userId": "guest"
}

Meldung

Die Nachricht ist ein abstrakter Basistyp für alle anderen Nachrichten. Alle Nachrichten erweitern diesen Typ, um Informationen bereitzustellen.
Name Beschreibung Typ Erforderlich?
type Der Nachrichtentyp Zeichenfolge Ja

Benutzernachricht

Stellt eine Nachricht dar, die vom Benutzer an den Skill gesendet wird.

Benutzertextnachricht

Die einfache Textnachricht, die an den Server gesendet wird.
Name Beschreibung Typ Erforderlich?
type Der Nachrichtentyp "text" Ja
text Meldungstext Zeichenfolge Ja
Beispiel:
{
    "messagePayload": {
        "text": "Order Pizza",
        "type": "text"
    },
    "userId": "guest"
}

Postback-Nachricht des Benutzers

Die Postback-Antwortnachricht, die an den Server gesendet wird.
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
Beispiel:
{
    "messagePayload": {
        "postback": {
            "variables": {
                "pizza": "Small"
            },
            "system.botId": "69BBBBB-35BB-4BB-82BB-BBBB88B21",
            "system.state": "orderPizza"
        },
        "text": "Small",
        "type": "postback"
    },
    "userId": "guest"
}

Benutzeranhangsnachricht

Die Antwortnachricht zum Anhang, die an den Server gesendet wird.
Name Beschreibung Typ Erforderlich?
type Der Nachrichtentyp "attachment" Ja
attachment Die Anhangsmetadaten Anhang Ja
Beispiel:
{
    "messagePayload": {
        "attachment": {
            "type": "image",
            "url": "http://oda-instance.com/attachment/v1/attachments/d43fd051-02cf-4c62-a422-313979eb9d55"
        },
        "type": "attachment"
    },
    "userId": "guest"
}

Benutzerformularweiterleitungsnachricht

Dies stellt die Formularweiterleitungsnachricht dar, die gesendet wird, nachdem der Benutzer ein Formular von einer SubmitFormAction weitergeleitet hat. Es enthält die folgenden Eigenschaften:
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 autoSubmit auf "true" gesetzt ist, können eine teilweise Formularweiterleitung auslösen. Zeichenfolge Nein
Beispiel-JSON
{
    "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"
}

Benutzerstandortnachricht

Die Antwortnachricht zum Standort, die an den Server gesendet wird.
Name Beschreibung Typ Erforderlich?
type Der Nachrichtentyp "location" Ja
location Die Informationen zum Benutzerstandort Standort Ja
Beispiel:
{
    "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.

Skilltextnachricht

Stellt eine Textnachricht dar.
Name Beschreibung Typ Erforderlich?
type Der Nachrichtentyp "text" Ja
text Meldungstext Zeichenfolge Ja
headerText Der Headertext für Karten Zeichenfolge Nein
footerText Der Footertext für Karten Zeichenfolge Nein
actions Ein Array von Aktionen im Zusammenhang mit dem Text. Array Nein
globalActions Ein Array mit globalen Aktionen im Zusammenhang mit dem Text. Array Nein
channelExtensions Die der Nachricht zugeordneten kanalspezifischen Erweiterungseigenschaften JSONObject Nein
Beispiel:
{
    "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"
}

Standortnachricht

stellt eine Standortnachricht dar.
Name Beschreibung Typ Erforderlich?
type Der Nachrichtentyp "location" Ja
location Standort location Nein
headerText Der Headertext für die Nachricht Zeichenfolge Nein
footerText Der Footertext für die Nachricht Zeichenfolge Nein
actions Ein Array von Aktionen im Zusammenhang mit dem Text Array<Aktion> Nein
globalActions Ein Array mit globalen Aktionen, die sich auf den Text beziehen Array<Aktion> Nein
channelExtensions Die der Nachricht zugeordneten kanalspezifischen Erweiterungseigenschaften JSONObject Nein

Skillanhangsnachricht

Stellt eine Anhangsnachricht dar.
Name Beschreibung Typ Erforderlich?
type Der Nachrichtentyp "attachment" Ja
attachment Der gesendete Anhang Anhang Ja
headerText Der Headertext der Karte Zeichenfolge Nein
footerText Der Footertext der Karte Zeichenfolge Nein
actions Ein Array von Aktionen im Zusammenhang mit dem Text. Array Nein
globalActions Ein Array mit globalen Aktionen im Zusammenhang mit dem Text. Array Nein
channelExtensions Die der Nachricht zugeordneten kanalspezifischen Erweiterungseigenschaften JSONObject Nein

Skillkartennachricht

Stellt eine Gruppe von Auswahlmöglichkeiten dar, die für den Benutzer angezeigt werden, entweder horizontal als Karussells oder vertikal als Listen.
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
headerText Der Headertext der Karten Zeichenfolge Nein
actions Ein Array von Aktionen im Zusammenhang mit dem Text. Array Nein
globalActions Ein Array mit globalen Aktionen im Zusammenhang mit dem Text. Array Nein
channelExtensions Die der Nachricht zugeordneten kanalspezifischen Erweiterungseigenschaften JSONObject Nein
{
    "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"
    }

Nachricht für Skilltabelle

Stellt eine Nachricht dar, die Ergebnisse einer Abfrage in Tabellenform zurückgibt. Die Nachricht besteht aus einem Array von Überschriften und einem Array von Zeilen. Die Zeilen selbst enthalten ein fields-Array, das einzelne Zellen darstellt.
Hinweis

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
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
actions Ein Array von Aktionen im Zusammenhang mit der Tabelle Array<Aktion> Nein
globalActions Ein Array mit globalen Aktionen Array<Aktion> Nein
channelExtensions Die der Nachricht zugeordneten kanalspezifischen Erweiterungseigenschaften JSONObject Nein
{
    "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"
    }
}

Skillformularnachricht

Stellt eine Nachricht dar, die Ergebnisse einer Abfrage in einer schreibgeschützten Form zurückgibt. Die Nachricht besteht aus einem Array von Formularergebnissen. Jedes Formularergebnis enthält ein fields-Array mit Schlüssel/Wert-Paaren, die ein Feld darstellen.
Hinweis

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
actions Ein Array von Aktionen im Zusammenhang mit dem Formular Array<Aktion> Nein
globalActions Ein Array mit globalen Aktionen Array<Aktion> Nein
channelExtensions Die der Nachricht zugeordneten kanalspezifischen Erweiterungseigenschaften Eine JSONObject 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"
        }
    ]
}

Qualifikationstabelle - Formularmeldung

Diese Nachricht kombiniert die Nachrichtentypen 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.
Hinweis

Dieser Meldungstyp wird für SQL-Dialogfelder verwendet.
Name Beschreibung Typ Erforderlich?
type Der Nachrichtentyp "tableForm" Ja
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
actions Ein Array von Aktionen für die Tabellenform Array<Aktion> Nein
globalActions Ein Array mit globalen Aktionen Array<Aktion> Nein
channelExtensions Die der Nachricht zugeordneten kanalspezifischen Erweiterungseigenschaften JSONObject Nein
{
    "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"
}

Nachricht zum Bearbeiten des Skills

Stellt eine bearbeitbare Formularnachricht dar (Eingabeformular). Die Nachricht besteht aus einem Feld-Array. Es enthält die folgenden Eigenschaften
Name Beschreibung Typ Erforderlich?
type Der Nachrichtentyp. In diesem Fall ist es "editForm". "editForm" Ja
fields Eine Liste mit Feldern, die sowohl editierbare als auch schreibgeschützte Felder enthalten können. Array<Feld> Ja
title Ein Vertretungstitel für das Bearbeitungsformular Zeichenfolge Nein
formColumns Die Anzahl der Spalten, in denen die Formularfelder gruppiert werden sollen. Ganzzahlen (1)

Das SDK unterstützt nur eine Spalte für Release 23.06.

Nein
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 Nein
actions Ein Array von Aktionen für das Bearbeitungsformular. Dieses Array muss eine SubmitFormAction enthalten. Wenn SubmitFormAction nicht im Array actions enthalten ist, wird in der Browserkonsole ein Fehler angezeigt. Array<Aktion> Nein
globalActions Ein Array mit globalen Aktionen Array<Aktion> Nein
channelExtensions Eine Gruppe kanalspezifischer Erweiterungseigenschaften

Das Objekt channelExtensions kann eine Eigenschaft replaceMessage enthalten, die zum Ersetzen eines vorherigen Eingabeformulars verwendet wird.

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"
}

Skillrohnachricht

Wird verwendet, wenn eine Komponente die kanalspezifische Payload selbst erstellt.
Name Beschreibung Typ Erforderlich?
type Der Nachrichtentyp "raw" Ja
payload Die kanalspezifische Payload JSONObject Ja
channelExtensions Die der Nachricht zugeordneten kanalspezifischen Erweiterungseigenschaften JSONObject Nein