Dynamische Optionen
Eine Antwort des Typs Optionen zeigt Kunden eine Liste mit Auswahlmöglichkeiten an. Sie können die dynamische Einstellung verwenden, um die Liste aus Optionen zu generieren, die jedes Mal unterschiedlich sein können.
Dynamische Optionen werden basierend auf den Daten generiert, die in einer Variablen gespeichert sind, die für den Schritt verfügbar sein muss, der die Frage stellt. Die Quellenvariable muss ein Array von Werten enthalten, von denen jeder eine
der Optionen darstellt, die dem Kunden angezeigt werden. The items in the array can be simple values such as strings or numbers (for example, [ "Raleigh", "Boston", "New York" ]) or compound JSON objects.
Ein allgemeines Szenario für dynamische Optionen ist, wenn ein Array von einer externen API zurückgegeben wird, die Sie mit einer angepassten Erweiterung aufrufen. Sie können beispielsweise eine angepasste Erweiterung verwenden, um eine Liste mit Kreditkarten abzurufen, die dem Konto eines Kunden zugeordnet sind. Sie können dann dynamische Optionen verwenden, um den Kunden zu fragen, welche Karte während der Konversation verwendet werden soll. (Weitere Informationen zu angepassten Erweiterungen finden Sie unter Angepasste Erweiterung aufrufen.)
Ihre Aktionen können auch die Quellenvariablen mithilfe von Ausdrücken füllen. Sie können beispielsweise eine Sitzungsvariablen verwenden, um einen Einkaufskorb zu erstellen, der Artikel enthält, die der Kunde gekauft hat. Eine Aktion zum Löschen eines Artikels aus dem Warenkorb könnte dann dynamische Optionen verwenden, um die Artikel im Warenkorb anzuzeigen, sodass der Kunde auswählen kann, welcher Artikel entfernt werden soll. (Weitere Informationen zur Verwendung von Ausdrücken für Variablenwerte finden Sie unter Ausdruck zum Zuweisen eines Werts zu einer Sitzungsvariablen verwenden.)
Dynamische Optionen definieren
So definieren Sie eine Kundenantwort für dynamische Optionen:
-
Klicken Sie in einem Schritt auf Kundenantwort definieren.
-
Wählen Sie den Antworttyp Optionen aus.
-
Klicken Sie auf die Umschaltfläche Dynamisch.
-
Wählen Sie im Feld Quellenvariable die Variable aus, die die Feldgruppe enthält, die die dynamischen Optionen definiert (z. B. die Variable, die die Antwort aus einer angepassten Erweiterung enthält, die Sie in einem vorherigen Schritt aufgerufen haben).
-
Optional: Schreiben Sie im Feld Option einen Ausdruck, der die Elemente im Quellenarray den Optionen zuordnet, die aufgelistet werden sollen. Dieser Ausdruck dient als Vorlage, die jedes Element im Array in einen aussagekräftigen Wert konvertiert, der dem Kunden angezeigt wird. Verwenden Sie in diesem Ausdruck die dynamische Variable
${item}, um das Element darzustellen.In einigen Situationen müssen Sie keinen Ausdruck angeben:
-
Wenn die Elemente im Array einfache Werte wie Zeichenfolgen oder ganze Zahlen sind, wird der Wert jedes Elements automatisch als Option angezeigt. Sie können jedoch eine Zuordnung definieren, wenn Sie die Elemente bearbeiten oder neu formatieren möchten, um sie aussagekräftiger zu machen. Sie können beispielsweise den Ausdruck
"Part #" + ${item}verwenden, um Teilenummern im FormatPart #12345anzuzeigen. -
Wenn es sich bei den Elementen im Array um JSON-Objekte handelt, sucht die Standardzuordnung nach einer Eigenschaft namens
labelund verwendet ihren Wert (falls vorhanden) als Option. Wenn das Element keine Eigenschaftlabelenthält oder Sie den Wert der Eigenschaftlabelnicht als Option verwenden möchten, müssen Sie einen Ausdruck schreiben, um eine Zuordnung anzugeben. Sie können die Punktschreibweise verwenden, um auf eine Eigenschaft im Objekt unter Verwendung seines JSON-Pfads zu verweisen (z. B.${item}.name).
-
-
Optional: Klicken Sie auf Rückgriffsoption hinzufügen, um eine statische Auswahl einzuschließen, z. B.
None of the above, wenn die Optionen nicht den vom Kunden gewünschten Optionen entsprechen. Anschließend können Sie einen Schritt hinzufügen, der von dieser statischen Option abhängig ist, um weitere Unterstützung bereitzustellen. Schreiben Sie einen Ausdruck wie${step_id}.value == "None of the above", um die Bedingung hinzuzufügen.
Zuordnungsbeispiele
Angenommen, Sie möchten eine Aktion erstellen, die eine Liste der Haustiere anzeigt, die zur Annahme verfügbar sind, und den Kunden auffordert, ein Haustier auszuwählen, um weitere Informationen zu anzuzeigen. Die Quellenvariable enthält ein Array aus einer angepassten Erweiterung im folgenden Format:
[
{
"id": "123",
"name": "Casey",
"breed": "Shetland sheepdog",
"age": 3
},
{
"id": "987",
"name": "Phoebe",
"breed": "chihuahua",
"age": 7
}
]
Das Schema für die Elemente enthält keine Eigenschaft label, sodass die Standardzuordnung nicht verfügbar ist. Stattdessen können Sie einen Ausdruck verwenden, um eine komplexe Bezeichnung zu erstellen, die Daten aus verschiedenen
Eigenschaften enthält. Sie können beispielsweise den Ausdruck ${item}.name + " (" + ${item}.breed + ", age " + ${item}.age + ")" verwenden, um die Optionsbeschriftungen zu definieren:

Denken Sie daran, dass Sie Ausdrucksmethoden verwenden können, um Werte aus der Quellenvariablen auf verschiedene Arten zu bearbeiten. Angenommen, Sie haben eine Aktion, die Kunden verwenden, um eine Kreditkarte zur Zahlung auszuwählen, aber
aus Sicherheitsgründen möchten Sie nicht die gesamte Kartennummer anzeigen. Sie könnten einen Ausdruck schreiben, der die substring()-Methode verwendet, um nur die letzten vier Ziffern jeder Kartennummer einzuschließen (z. B.
"Card ending in " + ${item}.card_number.substring(16, 20)).
Referenzieren des ausgewählten Elements
Nachdem der Kunde eine der dynamisch generierten Optionen ausgewählt hat, müssen Sie wahrscheinlich in einem nachfolgenden Schritt auf das ausgewählte Element verweisen.
Wenn Sie auf die Aktionsvariable verweisen, die die Kundenantwort darstellt, wird standardmäßig der Wert der ausgewählten Option verwendet. In einigen Situationen möchten Sie jedoch möglicherweise nicht denselben Wert verwenden, der verwendet wurde, um die Option für den Kunden anzuzeigen. Stattdessen müssen Sie möglicherweise eine eindeutige ID oder eine andere Eigenschaft verwenden, die die ausgewählte Option eindeutig identifiziert.
Wenn der Kunde beispielsweise ein Haustier auswählt, zu dem weitere Informationen angezeigt werden sollen, müssen Sie wahrscheinlich eine eindeutige ID (in unserem Beispiel die Eigenschaft id ) verwenden, um die Datenbank abzufragen,
da Name, Alter und Rasse des Haustieres möglicherweise nicht eindeutig sind. Oder wenn der Kunde eine Kreditkarte aus Optionen auswählt, die nur die letzten vier Ziffern anzeigen, müssen Sie die vollständige Kreditkartennummer verwenden, um
auf die Kontodetails zuzugreifen oder eine Transaktion abzuschließen.
In dieser Situation können Sie einen Ausdruck schreiben, um auf die ursprünglichen Eigenschaften des ausgewählten Elements zuzugreifen:
-
Erstellen oder bearbeiten Sie einen Schritt, der nach dem Schritt ausgeführt wird, in dem der Kunde aus den dynamischen Optionen auswählt.
-
Schreiben Sie im Abschnitt Variablenwerte einen Ausdruck, um einer Sitzungsvariablen einen Wert zuzuweisen. (Weitere Informationen finden Sie unter Ausdruck verwenden, um einer Sitzungsvariablen einen Wert zuzuordnen.)
-
Geben Sie im Ausdruckseditor ein Dollarzeichen (
$) ein und wählen Sie dann den Schritt aus, in dem der Kunde die dynamische Option ausgewählt hat. -
Verwenden Sie den Eigenschaftsnamen
item, um das ausgewählte Element darzustellen, und die Punktschreibweise, um auf seine Eigenschaften zuzugreifen. Der folgende Ausdruck greift beispielsweise auf die Eigenschaftiddes Elements zu, das in einem vorherigen Schritt ausgewählt wurde:${step_331}.item.idSie können einen komplexen Ausdruck verwenden, um einen Wert mit mehreren Eigenschaften des ausgewählten Elements zu erstellen. Sie können beispielsweise einen Ausdruck wie
${step_123}.item.firstname + " " + ${step_123}.item.lastnameverwenden, um den vollständigen Namen einer Person zu erstellen. Verwenden Sie den Ausdruck, um den Wert in dem Format zu definieren, das Sie zum Ausführen einer erforderlichen Aktion benötigen.