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

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. Zeichenfolge oder JSON-Objekt 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

ShareAction

Fordert den Client an, ein Sharing-Dialogfeld für den Benutzer zu öffnen.
Name Beschreibung Typ Erforderlich?
type Aktionstyp "share" Ja

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

PopupAction

Mit dieser Aktion wird ein Popup-Fenster geöffnet, nachdem Benutzer eine Klickaktion für ein Element ausgeführt haben. 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

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. JSONObject Nein
Beispiel-JSON
{
    "type": "submitForm",
    "label": "Submit",
    "postback": {
        "system.botId": "6803DE12-DAA9-4182-BD54-3B4D431554F4",
        "system.flow": "ExpenseFlow",
        "system.state": "editFormMapVar"
    }
}

Anhang

Stellt einen Anhang dar, der vom Benutzer gesendet wird.
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
Beispiel:
{
    "title": "Oracle Open World Promotion",
    "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
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
}

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

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?
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

Stellt ein Feldarray dar.
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

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

Die Felder Einfachauswahl und Mehrfachauswahl verwenden eine Liste mit Auswahlfeldoptionen 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

Schreibgeschütztes Feld

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. 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

Das Textfeld erbt alle schreibgeschützten Feldeigenschaften.
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

Das Linkfeld erbt alle schreibgeschützten Feldeigenschaften und 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 und 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 übernimmt alle schreibgeschützten Feldeigenschaften und 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. Aktion 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 automatisch 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 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

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

Das Datumsauswahlfeld übernimmt die Eigenschaften für das bearbeitbare Feld 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 übernimmt die Eigenschaften Bearbeitbares 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 die Eigenschaften Bearbeitbares Feld 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 erbt die Eigenschaften Bearbeitbares Feld 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

EventContextProperties

Ereigniskontexteigenschaften stellen die Kontexteigenschaften 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

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

Benutzernachricht inboundEvent

Stellt die ausgehenden Ereignisnachrichten dar, die an den Server gesendet werden können. Die folgenden Eigenschaften werden auf die Datei 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
Beispiel:
{
    "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

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

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

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.

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

Stellt eine Textnachricht dar. Die folgenden Eigenschaften werden auf die Skillnachricht angewendet.
Name Beschreibung Typ Erforderlich?
type Der Nachrichtentyp "text" Ja
text Meldungstext Zeichenfolge Ja
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"
                }
            }
        ]
    },
    "userId": "guest"
}

Skillstandortnachricht

Stellt eine Standortnachricht dar. Die folgenden Eigenschaften werden auf die Skillnachricht angewendet.
Name Beschreibung Typ Erforderlich?
type Der Nachrichtentyp "location" Ja
location Standort Standort Ja

Skillanhangsnachricht

Stellt eine Anhangsnachricht dar. Die folgenden Eigenschaften werden auf die Skillnachricht angewendet.
Name Beschreibung Typ Erforderlich?
type Der Nachrichtentyp "attachment" Ja
attachment Der gesendete Anhang Anhang Ja
Hinweis

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

Verwenden Sie die folgenden Header, um den Namen einer Datei (einschließlich Video-, Audio- oder Bilddateien) abzurufen, die auf den ODA-Dateiserver hochgeladen wurde:
  • x-oda-meta-file-name
  • x-oda-meta-file-type
Sie können diese Header mit GET- oder HEAD-Anforderungen zurückgeben. Verwenden Sie HEAD, wenn eine benutzerdefinierte Komponente den Inhalt der Datei nicht benötigt.

Feedbacknachrichten

Dies stellt eine Feedbackbewertungskomponente dar, die das Feedback eines Benutzers mit einem Bewertungsanzeiger (in der Regel ein Sternebewertungssystem) abgleicht. Die Payload ähnelt einer Text-Nachricht, verfügt jedoch über ein zusätzliches 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
Beispiel:
{
    "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

Stellt eine Gruppe von Auswahlmöglichkeiten dar, die für den Benutzer angezeigt werden, entweder horizontal als Karussells oder vertikal als Listen. Die folgenden Eigenschaften werden auf die Skillnachricht angewendet.
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

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
Beispiel:
{
    "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

Stellt einen Postback dar. Die folgenden Eigenschaften werden auf die Skillnachricht angewendet.
Name Beschreibung Typ Erforderlich?
type Der Nachrichtentyp "postback" Ja
text Meldungstext Zeichenfolge Nein
postback Der Postback Eine Zeichenfolge oder eine JSONObject Ja

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. Die folgenden Eigenschaften werden auf die Skillnachricht angewendet.
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
{
    "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

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. Die folgenden Eigenschaften werden auf die Skillnachricht angewendet.
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
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

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. Die folgenden Eigenschaften werden auf die Skillnachricht angewendet.
Hinweis

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

Stellt die ausgehenden Ereignisnachrichten dar, die vom Server gesendet werden können. Die folgenden Eigenschaften werden auf die Datei 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
Beispiel:
{
    "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

Stellt eine bearbeitbare Formularnachricht dar (Eingabeformular). Die Nachricht besteht aus einem Feld-Array.
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 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 Ein JSON-Objekt Ja