میتوانید مقادیر پارامتر را برای یک کاربر خاص در یک مکالمه در ذخیرهسازی جلسه ذخیره کنید. سپس Action شما میتواند از آن مقادیر ذخیرهشده بعداً در اعلانها و شرایط استفاده کند، و کد webhook شما میتواند در صورت لزوم به مقادیر موجود در ذخیرهسازی جلسه برای مکالمه دسترسی پیدا کند.
در طول مکالمه، هر داده ای که با استفاده از انواع جمع آوری می شود در ذخیره سازی جلسه ذخیره می شود. همچنین میتوانید با استفاده از تماسهای webhook با دادههای موجود در ذخیرهسازی جلسه تعامل داشته باشید. برای تماسهای وب هوک، وضعیت ذخیرهسازی جلسه در یک درخواست 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
نحو $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
نحو session.params. PARAMETER_NAME
، که در آن PARAMETER_NAME
نامی است که هنگام تنظیم پارامتر در وب هوک داده شده است.
به عنوان مثال، شما قبلاً یک مقدار رنگ را در ذخیره سازی جلسه به عنوان پارامتر exampleColor
ذخیره کرده اید و می خواهید آن را با مقدار "قرمز" در یک شرط مطابقت دهید. در شرایط شما، با استفاده از session.params.exampleColor
به مقدار ذخیره شده ارجاع می دهید. سپس عبارت وضعیت شما به صورت زیر است:
نحو شرط
session.params.exampleColor == "red"