Andere Variablentypen

Neben Flussvariablen und globalen Variablen können Sie auch Benutzergeltungsbereich-, Profil- und Systemvariablen verwenden.

Profilumfangsvariablen für Benutzerkontext

Mit Profilumfangvariablen, die über den Chatclient auf die Profileinstellungen zugreifen, können Sie auf Werte für den Namen, das Gebietsschema und die lokale Zeit eines Benutzers zugreifen.

Beispiel:
"Hello ${profile.firstName}, how can I help you today?"

Dieses Bild zeigt profile.firstName in der Ausgabe.
Verwenden Sie diese vordefinierten Variablen, um spezifischen Kontext für den Skillbenutzer auszugeben.
Gehen Sie folgendermaßen vor... Verwenden Sie Folgendes:...
Vornamen des Botbenutzers abrufen ${profile.firstName}
Nachnamen des Botbenutzers abrufen ${profile.lastName}
Gebietsschema des Botbenutzers abrufen ${profile.locale}
Zeitzone des Benutzers abrufen (Offset in Millisekunden) ${profile.timezoneOffset}

Diese vordefinierten Variablen werden automatisch anhand der von der Messagingplattform übergebenen Werte festgelegt. Die Werte unterscheiden sich je nach Messagingplattform, und einige Messagingplattformen stellen sie möglicherweise nicht bereit. Beispiel: Bei DA-Agent-Integrationen haben profile.firstName, profile.lastName und profile.email nur Werte, wenn der Benutzer bei Oracle Service Cloud angemeldet war oder wenn ein Benutzer Felder für Vorname, Nachname und E-Mail-Adresse auf der Oracle Service Cloud-Chatstartseite ausgefüllt hat, bevor er einen Chat angefordert hat. Für den Oracle-Webclient müssen diese Profilwerte mit der Eigenschaft initUserProfile oder der Methode updateUser festgelegt werden.

Benutzerspezifische Werte für Rücksendungsbesuche speichern

Sie können Benutzergeltungsbereichvariablen erstellen, die über Sessions hinweg persistiert werden.

Wenn eine Benutzerunterhaltung mit einem Skill oder digitalen Assistenten beendet wird, werden im Allgemeinen die durch die Benutzereingabe festgelegten Variablenwerte zerstört. Sie können jedoch auch Benutzergeltungsbereichvariablen definieren, um Benutzereingaben aus vorherigen Sessions beizubehalten und neue Unterhaltungen zu verbessern. Sie erstellen User-Scope-Variablen direkt in den Komponenten selbst.

So erstellen Sie Variablen für den Benutzergeltungsbereich:

  1. Wählen Sie im Feld Variable des Eigenschaftsinspektors der Komponente, in der Sie sie erstellen möchten, in der Dropdown-Liste die Option Benutzergeltungsbereichsvariable aus.
  2. Geben Sie im daraufhin angezeigten Feld Geltungsbereichsvariablenname den Variablennamen ein.

    Geben Sie den Namen ohne das Präfix user. ein. (Obwohl Sie dieses Präfix beim Referenzieren einer Variablen mit Benutzergeltungsbereich verwenden, verwenden Sie es nicht bei der Definition.)

Um eine Variable mit dem Benutzergeltungsbereich zu referenzieren, verwenden Sie einen Ausdruck wie ${user.VAR_NAME}.

Beispiel: Im Beispielskill Pizzaskill - Visual Flow Designer wird die Variable lastOrderNumber für den Benutzergeltungsbereich festgelegt, nachdem der Benutzer die Reihenfolge im Ablauf service.reg.placeOrder platziert hat. Diese Variable wird vom Ausdruck ${((user.lastOrderNumber)?has_content)} im ersten Status des Ablaufs referenziert, der aufgerufen wird, wenn der Skill gestartet wird (handler.startSkill), um zu bestimmen, ob der Benutzer vorherige Bestellungen ausgeführt hat.

Hinweis

Die Werte von Benutzergeltungsbereichvariablen sind kanalspezifisch. Beispiel: Wenn ein Benutzer auf einen Skill in einem Webkanal zugreift und später über einen Microsoft Teams-Kanal auf den Skill zugreift, verfügt der Teams-Kanal über eigene Instanzen der Benutzervariablen und erkennt die Werte aus der vorherigen Unterhaltung im Webkanal nicht.

Systemvariablen

Variable Typ Beschreibung
system.nlpresult NLP-Ergebnis Wird zum Speichern des NLP-Ergebnisses für die Benutzeräußerung verwendet. Um das vollständige NLP-Ergebnis abzurufen, können Sie den Ausdruck ${skill.system.nlpresult.value} verwenden.
system.intent.utterance Zeichenfolge Wenn diese Variable einen Wert enthält, wird sie für den Intent-Abgleich anstelle der letzten Benutzernachricht verwendet. Um auf diese Variable zuzugreifen, können Sie den Ausdruck ${skill.system.intent.utterance} verwenden.
system.event Zuordnung Wenn eines der integrierten Ereignisse im Hauptfluss oder einem Unterfluss zugeordnet wird, speichert diese Variable Ereigniseigenschaften, die Sie zur Verarbeitung des Ereignisses verwenden können. Beispiel: Um eine Ereignis-Payload abzurufen, verwenden Sie einen Ausdruck im Format ${skill.system.event.value.EVENT_NAME}.
system.rb Resource Bundle Wird für den Zugriff auf Resource Bundle-Einträge für Sprachen verwendet. Um auf einen Resource Bundle-Eintrag zuzugreifen, können Sie einen Ausdruck im Format ${skill.system.rb.RB_ENTRY_NAME} verwenden.