Sie können Parameterwerte für einen bestimmten Nutzer innerhalb einer Unterhaltung in Sitzungsspeicher. Deine Aktion kann diese gespeicherten Werte dann später in Prompts verwenden und Bedingungen und Ihr Webhook-Code kann auf Werte im Sitzungsspeicher für wenn nötig mit.
Während einer Unterhaltung werden alle mit types erhobenen Daten in der Sitzung gespeichert
Speicherplatz. Sie können auch mithilfe von Webhook-Aufrufen mit Daten im Sitzungsspeicher interagieren.
Bei Webhook-Aufrufen wird der Status des Sitzungsspeichers in einem app.handle()
übergeben.
und im Objekt session
gespeichert.
Im Sitzungsspeicher gespeicherte Daten laufen ab, wenn eine Unterhaltung endet.
Daten in Sitzungsspeicher lesen und schreiben
Um den Sitzungsspeicher zu aktualisieren oder einen neuen Wert festzulegen, weisen Sie den Wert dem
Feld params
des session
-Objekts in einem Webhook-Aufruf. Im folgenden Beispiel
legt „exampleColor“ fest zu „Rot“ im Sitzungsspeicher:
Node.js
// Assign color to session storage app.handle('storeColor', conv => { let color = 'red'; conv.session.params.exampleColor = color; });
JSON
{ "responseJson": { "session": { "id": "12345678901234567890", "params": { "exampleColor": "red" } }, "prompt": { "override": false } } }
Wenn Sie auf Daten im Sitzungsspeicher zugreifen möchten, weisen Sie sie einer Variablen in einem Webhook zu aufrufen. Im folgenden Beispiel wird ein Wert aus „exampleColor“ abgerufen in Sitzung Speicherplatz:
Node.js
// Retrieve color from session storage app.handle('getStoredColor', conv => { let color = conv.session.params.exampleColor; });
JSON
{ "responseJson": { "session": { "id": "12345678901234567890", "params": { "exampleColor": "red" } }, "prompt": { "override": false } } }
Wenn Sie einen zuvor gespeicherten Wert löschen möchten, setzen Sie den Wert in einem Webhook-Aufruf auf null
.
Im folgenden Beispiel wird der Wert von „exampleColor“ gelöscht. im Sitzungsspeicher:
Node.js
// Clear color from session storage app.handle('clearStoredColor', conv => { conv.session.params.exampleColor = null; });
JSON
{ "responseJson": { "session": { "id": "12345678901234567890", "params": {} }, "prompt": { "override": false } } }
In Prompts auf gespeicherte Werte verweisen
Sie können in einer Eingabeaufforderung auf Werte verweisen, die im Sitzungsspeicher gespeichert sind. Um auf die
$session.params.PARAMETER_NAME
-Syntax, wobei
PARAMETER_NAME
ist der Name, der im Webhook angegeben wird, wenn der Parameter
festgelegt wurde.
Beispiel: Sie haben zuvor im Sitzungsspeicher einen Farbwert als
Parameter exampleColor
. Um auf diesen Wert in einer Aufforderung zuzugreifen, geben Sie an,
Wert mit $session.params.exampleColor
:
JSON
{ "candidates": [{ "first_simple": { "variants": [{ "speech": "Your favorite color is $session.params.exampleColor." }] } }] }
Auf gespeicherte Werte in Bedingungen verweisen
Sie können unter conditions auch Werte referenzieren, die im Sitzungsspeicher gespeichert sind. Bis
auf den Wert verweisen, verwenden Sie session.params.PARAMETER_NAME
Syntax, wobei PARAMETER_NAME
der im Webhook angegebene Name ist, wenn
der Parameter festgelegt wurde.
Beispiel: Sie haben zuvor im Sitzungsspeicher einen Farbwert als
exampleColor
und Sie möchten ihn mit dem Wert „red“ abgleichen. in einem
. In der Bedingung referenzieren Sie den gespeicherten Wert mithilfe von
session.params.exampleColor
Der Bedingungsausdruck sieht dann so aus:
Bedingungssyntax
session.params.exampleColor == "red"