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

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

خلال المحادثة، يتم تخزين أي بيانات يتم جمعها باستخدام الأنواع في مساحة تخزين الجلسات. ويمكنك أيضًا التفاعل مع البيانات في مساحة تخزين الجلسة باستخدام مكالمات الردّ التلقائي على الويب. بالنسبة إلى مكالمات الردّ التلقائي على الويب، يتم تمرير حالة تخزين الجلسة في طلب app.handle() ويتم تخزينها في العنصر session.

تنتهي صلاحية البيانات المخزَّنة في مساحة تخزين الجلسة عند انتهاء محادثة.

قراءة وكتابة البيانات في مساحة تخزين الجلسة

لتعديل قيمة جديدة أو ضبطها في مساحة تخزين الجلسة، اضبط القيمة على الحقل params للعنصر session في مكالمة ردّ تلقائي على الويب. يعيِّن المثال التالي "exampleColor" على "red" في تخزين الجلسة:

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."
      }]
    }
  }]
}
    

الإشارة إلى القيم المخزنة ضمن الشروط

يمكنك أيضًا الإشارة إلى القيم المخزَّنة في مساحة تخزين الجلسة في قسم conditions. للإشارة إلى القيمة، استخدِم البنية session.params.PARAMETER_NAME، حيث يكون PARAMETER_NAME هو الاسم المحدد في الرد التلقائي على الويب عند ضبط المعلمة.

على سبيل المثال، سبق أن خزّنت قيمة لون في مساحة تخزين الجلسة على أنّها المَعلمة exampleColor، وتريد مطابقتها بالقيمة "أحمر" في شرط معيَّن. في شرطك، تشير إلى القيمة المخزّنة باستخدام session.params.exampleColor. عندئذٍ يبدو تعبير الشرط كما يلي:

بنية الشرط

session.params.exampleColor == "red"