सेशन स्टोरेज में, बातचीत में किसी खास उपयोगकर्ता के लिए पैरामीटर वैल्यू सेव की जा सकती हैं. आपकी सेट की गई कार्रवाई, सेव की गई वैल्यू का इस्तेमाल बाद में प्रॉम्प्ट और शर्तों में कर सकती है. साथ ही, ज़रूरत पड़ने पर आपका वेबहुक कोड, सेशन स्टोरेज में मौजूद वैल्यू को ऐक्सेस कर सकता है.
बातचीत के दौरान, टाइप का इस्तेमाल करके इकट्ठा किया गया सारा डेटा, सेशन स्टोरेज में सेव किया जाता है. वेबहुक कॉल का इस्तेमाल करके भी, सेशन स्टोरेज में मौजूद डेटा के साथ इंटरैक्ट किया जा सकता है.
वेबहुक कॉल के लिए, सेशन स्टोरेज की स्थिति को app.handle()
अनुरोध में पास किया जाता है और उसे session
ऑब्जेक्ट में सेव किया जाता है.
बातचीत खत्म होने पर, सेशन स्टोरेज में सेव किया गया डेटा खत्म हो जाता है.
सेशन स्टोरेज में डेटा पढ़ें और उसमें बदलाव करें
सेशन स्टोरेज में नई वैल्यू को अपडेट या सेट करने के लिए, वेबहुक कॉल में session
ऑब्जेक्ट के params
फ़ील्ड में वैल्यू असाइन करें. नीचे दिया गया उदाहरण, सेशन स्टोरेज में "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." }] } }] }
शर्तों में सेव की गई वैल्यू का रेफ़रंस
सेशन स्टोरेज में सेव की गई, conditions की वैल्यू भी देखी जा सकती है. वैल्यू का रेफ़रंस देने के लिए, session.params.PARAMETER_NAME
सिंटैक्स का इस्तेमाल करें. इसमें PARAMETER_NAME
, पैरामीटर सेट करते समय वेबहुक में दिया गया नाम होता है.
उदाहरण के लिए, आपने पहले सेशन स्टोरेज में किसी रंग की वैल्यू को exampleColor
पैरामीटर के तौर पर सेव किया था और आपको उसे किसी स्थिति की "लाल" वैल्यू से मैच करना है. अपनी शर्त में, session.params.exampleColor
का इस्तेमाल करके स्टोर की गई वैल्यू का रेफ़रंस दिया जाता है. फिर आपका शर्त एक्सप्रेशन ऐसा दिखता है:
शर्त का सिंटैक्स
session.params.exampleColor == "red"