พื้นที่เก็บข้อมูลเซสชัน

คุณสามารถจัดเก็บค่าพารามิเตอร์สำหรับผู้ใช้ที่ระบุภายในการสนทนาได้ใน พื้นที่เก็บข้อมูลเซสชัน จากนั้นการดำเนินการของคุณจะใช้ค่าที่จัดเก็บไว้เหล่านั้นภายหลังในข้อความแจ้ง และโค้ดเว็บฮุคจะเข้าถึงค่าในพื้นที่เก็บข้อมูลของเซสชันได้ การสนทนาเมื่อจำเป็น

ระหว่างการสนทนา ระบบจะจัดเก็บข้อมูลที่เก็บรวบรวมโดยใช้ประเภทไว้ในเซสชัน พื้นที่เก็บข้อมูล คุณยังโต้ตอบกับข้อมูลในพื้นที่เก็บข้อมูลเซสชันโดยใช้การเรียกเว็บฮุคได้ด้วย สำหรับการเรียกเว็บฮุค ระบบจะส่งสถานะของพื้นที่เก็บข้อมูลเซสชันใน app.handle() และจัดเก็บไว้ในออบเจ็กต์ session

ข้อมูลที่จัดเก็บไว้ในพื้นที่เก็บข้อมูลของเซสชันจะหมดอายุเมื่อการสนทนาสิ้นสุดลง

อ่านและเขียนข้อมูลไปยังพื้นที่เก็บข้อมูลของเซสชัน

หากต้องการอัปเดตหรือตั้งค่าใหม่ในพื้นที่เก็บข้อมูลเซสชัน ให้กำหนดค่าให้กับ ฟิลด์ params ของออบเจ็กต์ session ในการเรียกเว็บฮุค ตัวอย่างต่อไปนี้ ตั้งค่า "exampleColor" เป็น "สีแดง" ในพื้นที่เก็บข้อมูลเซสชัน:

Node.jsJSON
// Assign color to session storage
app
.handle('storeColor', conv => {
  let color
= 'red';
  conv
.session.params.exampleColor = color;
});
   
{
 
"responseJson": {
   
"session": {
     
"id": "12345678901234567890",
     
"params": {
       
"exampleColor": "red"
     
}
   
},
   
"prompt": {
     
"override": false
   
}
 
}
}
   

หากต้องการเข้าถึงข้อมูลที่จัดเก็บไว้ในพื้นที่เก็บข้อมูลเซสชัน ให้กำหนดข้อมูลดังกล่าวให้กับตัวแปรในเว็บฮุค การโทร ตัวอย่างต่อไปนี้ดึงค่าจาก "exampleColor" ในเซสชัน พื้นที่เก็บข้อมูล:

Node.jsJSON
// Retrieve color from session storage
app
.handle('getStoredColor', conv => {
  let color
= conv.session.params.exampleColor;
});
   
{
 
"responseJson": {
   
"session": {
     
"id": "12345678901234567890",
     
"params": {
       
"exampleColor": "red"
     
}
   
},
   
"prompt": {
     
"override": false
   
}
 
}
}
   

หากต้องการล้างค่าที่บันทึกไว้ก่อนหน้านี้ ให้ตั้งค่าเป็น null ในการเรียกใช้เว็บฮุค ตัวอย่างต่อไปนี้จะล้างค่าของ "exampleColor" ในพื้นที่เก็บข้อมูลเซสชัน:

Node.jsJSON
// Clear color from session storage
app
.handle('clearStoredColor', conv => {
  conv
.session.params.exampleColor = null;
});
   
{
 
"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"