คุณสามารถจัดเก็บค่าพารามิเตอร์สำหรับผู้ใช้ที่ระบุภายในการสนทนาได้ใน พื้นที่เก็บข้อมูลเซสชัน จากนั้นการดำเนินการของคุณจะใช้ค่าที่จัดเก็บไว้เหล่านั้นภายหลังในข้อความแจ้ง และโค้ดเว็บฮุคจะเข้าถึงค่าในพื้นที่เก็บข้อมูลของเซสชันได้ การสนทนาเมื่อจำเป็น
ระหว่างการสนทนา ระบบจะจัดเก็บข้อมูลที่เก็บรวบรวมโดยใช้ประเภทไว้ในเซสชัน
พื้นที่เก็บข้อมูล คุณยังโต้ตอบกับข้อมูลในพื้นที่เก็บข้อมูลเซสชันโดยใช้การเรียกเว็บฮุคได้ด้วย
สำหรับการเรียกเว็บฮุค ระบบจะส่งสถานะของพื้นที่เก็บข้อมูลเซสชันใน app.handle()
และจัดเก็บไว้ในออบเจ็กต์ session
ข้อมูลที่จัดเก็บไว้ในพื้นที่เก็บข้อมูลของเซสชันจะหมดอายุเมื่อการสนทนาสิ้นสุดลง
อ่านและเขียนข้อมูลไปยังพื้นที่เก็บข้อมูลของเซสชัน
หากต้องการอัปเดตหรือตั้งค่าใหม่ในพื้นที่เก็บข้อมูลเซสชัน ให้กำหนดค่าให้กับ
ฟิลด์ params
ของออบเจ็กต์ session
ในการเรียกเว็บฮุค ตัวอย่างต่อไปนี้
ตั้งค่า "exampleColor" เป็น "สีแดง" ในพื้นที่เก็บข้อมูลเซสชัน:
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 } } }
หากต้องการเข้าถึงข้อมูลที่จัดเก็บไว้ในพื้นที่เก็บข้อมูลเซสชัน ให้กำหนดข้อมูลดังกล่าวให้กับตัวแปรในเว็บฮุค การโทร ตัวอย่างต่อไปนี้ดึงค่าจาก "exampleColor" ในเซสชัน พื้นที่เก็บข้อมูล:
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 } } }
หากต้องการล้างค่าที่บันทึกไว้ก่อนหน้านี้ ให้ตั้งค่าเป็น null
ในการเรียกใช้เว็บฮุค
ตัวอย่างต่อไปนี้จะล้างค่าของ "exampleColor" ในพื้นที่เก็บข้อมูลเซสชัน:
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 } } }
อ้างอิงค่าที่จัดเก็บไว้ภายในพรอมต์
คุณจะอ้างอิงค่าที่จัดเก็บไว้ในพื้นที่เก็บข้อมูลเซสชันได้ในข้อความแจ้ง หากต้องการอ้างอิง
ให้ใช้ไวยากรณ์ $session.params.PARAMETER_NAME
โดยที่
PARAMETER_NAME
คือชื่อที่ระบุในเว็บฮุคเมื่อพารามิเตอร์
ได้รับการตั้งค่าแล้ว
ตัวอย่างเช่น ก่อนหน้านี้คุณได้จัดเก็บค่าสีไว้ในพื้นที่เก็บข้อมูลเซสชันเป็น
พารามิเตอร์ exampleColor
หากต้องการเข้าถึงค่าดังกล่าวในพรอมต์ คุณต้องอ้างอิงว่า
ที่ใช้ $session.params.exampleColor
:
JSON
{ "candidates": [{ "first_simple": { "variants": [{ "speech": "Your favorite color is $session.params.exampleColor." }] } }] }
อ้างอิงค่าที่จัดเก็บไว้ภายในเงื่อนไข
นอกจากนี้ คุณยังอ้างอิงค่าที่จัดเก็บไว้ในพื้นที่เก็บข้อมูลเซสชันในเงื่อนไขได้ด้วย ถึง
อ้างอิงค่าโดยใช้ session.params.PARAMETER_NAME
โดย PARAMETER_NAME
คือชื่อที่ให้ไว้ในเว็บฮุคเมื่อ
ตั้งค่าพารามิเตอร์แล้ว
ตัวอย่างเช่น ก่อนหน้านี้คุณได้จัดเก็บค่าสีไว้ในพื้นที่เก็บข้อมูลเซสชันเป็น
พารามิเตอร์ exampleColor
และคุณต้องการจับคู่กับค่า "สีแดง" ใน
ในเงื่อนไขของคุณ ให้อ้างอิงค่าที่จัดเก็บไว้โดยใช้
session.params.exampleColor
นิพจน์เงื่อนไขของคุณจะมีลักษณะดังนี้
ไวยากรณ์เงื่อนไข
session.params.exampleColor == "red"