אחסון ביקור

ניתן לשמור ערכי פרמטרים של משתמש ספציפי בתוך שיחה באחסון של ההפעלה. לאחר מכן, הפעולה יכולה להשתמש בערכים השמורים האלה לצורך הצגת הנחיות ותנאים, וקוד ה-webhook יכול לגשת לערכים באחסון של הסשן במקרה הצורך.

במהלך שיחות, כל הנתונים שנאספים באמצעות types נשמרים באחסון הסשן. אפשר גם להשתמש בקריאות לפעולה מאתר אחר (webhook) כדי לתקשר עם נתונים ששמורים באחסון של הסשן. בקריאות ל-webhook, המצב של אחסון הסשן מועבר בבקשת app.handle() ומאוחסן באובייקט session.

התוקף של הנתונים שמאוחסנים באחסון הסשן יפוג כשהשיחה מסתיימת.

קריאה וכתיבה של נתונים באחסון של הסשן

כדי לעדכן או להגדיר ערך חדש באחסון של הסשן, צריך להקצות את הערך לשדה params של האובייקט session בקריאה ל-webhook. בדוגמה הבאה "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
    }
  }
}
    

כדי לקבל גישה לנתונים שמאוחסנים באחסון של סשן, צריך להקצות אותם למשתנה בשיחת webhook. הדוגמה הבאה מאחזרת ערך מ-"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 בקריאה לפעולה מאתר אחר (webhook). הדוגמה הבאה מנקה את הערך של "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 הוא השם שניתן ב-webhook כשהפרמטר הוגדר.

לדוגמה, בעבר שמרתם ערך צבע באחסון של הסשן כפרמטר exampleColor. כדי לגשת לערך הזה בהנחיה, צריך להפנות לערך הזה באמצעות $session.params.exampleColor:

JSON

{
  "candidates": [{
    "first_simple": {
      "variants": [{
        "speech": "Your favorite color is $session.params.exampleColor."
      }]
    }
  }]
}
    

הפניה לערכים שמורים בתוך התנאים

אפשר להפנות גם לערכים ששמורים באחסון סשן בconditions. כדי להפנות לערך הזה, צריך להשתמש בתחביר session.params.PARAMETER_NAME, שבו PARAMETER_NAME הוא השם שניתן ב-webhook כשהפרמטר הוגדר.

לדוגמה, בעבר אחסנתם ערך צבע באחסון של סשן כפרמטר exampleColor, ואתם רוצים להתאים אותו לערך "red" בתנאי. בתנאי, צריך להפנות לערך המאוחסן באמצעות session.params.exampleColor. ביטוי התנאי נראה כך:

תחביר של תנאים

session.params.exampleColor == "red"