مساحة تخزين الجلسة

يمكنك تخزين قيم المَعلمات لمستخدم معيّن ضمن محادثة في مساحة تخزين الجلسة. يمكن للإجراء الخاص بك بعد ذلك استخدام هذه القيم المخزّنة لاحقًا في الطلبات. والشروط، ويمكن لرمز الرد التلقائي على الويب الوصول إلى القيم في تخزين الجلسة المحادثة عند الضرورة.

أثناء المحادثة، يتم تخزين أي بيانات تم جمعها باستخدام الأنواع في جلسة. مساحة التخزين. يمكنك أيضًا التفاعل مع البيانات في تخزين الجلسة باستخدام مكالمات الردّ التلقائي على الويب. بالنسبة إلى مكالمات الرد التلقائي على الويب، يتم تمرير حالة تخزين الجلسة في 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، وتريد مطابقتها بالقيمة "red" في الشرط. في حالتك، يمكنك الرجوع إلى القيمة المخزنة باستخدام session.params.exampleColor بعد ذلك، يظهر تعبير الشرط على النحو التالي:

بنية الشرط

session.params.exampleColor == "red"