פרמטרים

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

הגדרה, הפניה, הגדרה וקבלת פרמטרים

יש ארבע דרכים כלליות לשימוש בפרמטרים:

  • הגדרה בזמן התכנון: בזמן התכנון, משתמשים במסוף או ב-API כדי להגדיר פרמטרים. לדוגמה, אפשר להגדיר פרמטר של כוונה ולהשתמש בו בביטוי לאימון כדי לציין קלט של משתמש קצה שצריך לחלץ.
  • הפניה בזמן העיצוב: הפניות לפרמטרים הן משתנים שכוללים ערכי פרמטרים שיוגדרו בזמן הריצה. בזמן העיצוב, משתמשים במסוף או ב-API כדי להפנות לפרמטרים בסוגים שונים של נתונים. לדוגמה, אפשר להפנות לפרמטר של סשן בתגובה סטטית של מילוי בקשה עבור מסלול.
  • הגדרה בזמן ריצה: בזמן ריצה, שירות Dialogflow CX, השירות שלכם שקורא ל-API ושירות ה-webhook שלכם יכולים להגדיר את ערכי הפרמטרים. לדוגמה, שירות Dialogflow CX מגדיר את הערך של פרמטר של כוונת משתמש כשהקלט של משתמש הקצה תואם לכוונת המשתמש, והקלט מכיל נתוני פרמטר.
  • קבלת ערכים בזמן ריצה: בזמן ריצה, הפניות לפרמטרים מכילות את ערכי הפרמטרים שהוגדרו, ואפשר להשתמש ב-API או ב-webhook כדי לקבל את ערכי הפרמטרים. לדוגמה, כשמזוהה כוונה וה-webhook שלכם מופעל, שירות ה-webhook מקבל את ערכי הפרמטרים של הכוונה.

מתן שמות לפרמטרים

הכללים הבאים חלים על שמות הפרמטרים:

  • אפשר להשתמש בתווים הבאים: [A-Z], [a-z], [0-9], ., -, _
  • שמות הפרמטרים לא תלויי-רישיות, ולכן מערכת Dialogflow CX מתייחסת ל-Apple ול-apple כאותו פרמטר. בנוסף, הקוד של הלקוח ב-API וב-Webhook צריך להתייחס לשמות הפרמטרים כאל שמות לא תלויי-רישיות, כי אין ערובה לכך ששמות הפרמטרים שמוחזרים על ידי Dialogflow CX יהיו תלויי-רישיות.
  • כשיוצרים פרמטרים עם אותו מזהה או שם לתצוגה בכמה כוונות או טפסים, צריך לוודא שסוג הישות והגדרות אחרות זהים בכל ההגדרות. אם סוג הישות או הגדרות פרמטרים אחרות שונים, צריך להשתמש במזהה פרמטר ייחודי או בשם מוצג ייחודי לכל הגדרה.

סוגי ערכים של פרמטרים

ערכי הפרמטרים תומכים בכמה סוגי ערכים. בקטע על סשנים שבהמשך מוסבר איך מתייחסים לכל סוג של ערך פרמטר. הסוגים הבאים נתמכים:

סוג תיאור
סקלר ערך מספרי או מחרוזת יחיד.
חומר מרוכב אובייקט JSON שאוכלס על ידי התאמה של ישות מורכבת, או על ידי מילוי של פרמטר של כוונת המשתמש, שמכיל את השדות original ו-resolved.
רשימה רשימה של ערכים סקלריים או מורכבים שמאכלסים פרמטר שהוגדר כרשימה. אפשר לעיין באפשרויות הבאות של Is List.

מחרוזת ריקה וערכי null של פרמטרים

אפשר להגדיר את ערכי הפרמטרים של המחרוזת כ-"", ואז הפרמטר יוגדר כמחרוזת ריקה.

אפשר להגדיר כל ערך פרמטר ל-null, שמציין שהפרמטר לא הוגדר.

ערכים מקוריים של פרמטרים

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

כל סוגי הערכים של הפניות לפרמטרים של כוונות יכולים להפנות לערך המקורי או לערך שנפתר.

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

פרמטרים של כוונות

כוונות (Intents) משתמשות בפרמטרים כדי לחלץ נתונים שסופקו על ידי משתמשי קצה כשיש התאמה לכוונות. הנתונים הבאים משמשים להגדרת פרמטר של כוונת המשתמש:

  • שם (נקרא גם מזהה או שם לתצוגה): שם שמזהה את הפרמטר.
  • סוג הישות: סוג הישות שמשויך לפרמטר.
  • Is List: אם הערך הוא true, הפרמטר מטופל כרשימת ערכים.
  • Redact in log: אם הערך הוא true, נתוני הפרמטרים שסופקו על ידי משתמש הקצה מוסתרים.

הגדרת פרמטרים של כוונות

פרמטרים של כוונות מוגדרים בזמן התכנון כשיוצרים נתוני כוונות או כשמוסיפים הערות לביטויי אימון.

פרמטרים של כוונת החיפוש

אפשר להשתמש בהפניות לפרמטרים של כוונות בהודעות סטטיות של מילוי כוונות בנתיבי כוונות.

אפשר להפנות אל הערך המקורי או אל הערך שנקבע.

כדי להפנות לפרמטר של הכוונה הנוכחית שתואמת, צריך להשתמש באחד מהפורמטים הבאים:

$intent.params.parameter-id.original
$intent.params.parameter-id.resolved

לדוגמה, אם מזהה הפרמטר הוא date, אפשר להתייחס לערך שפוענח כ-$intent.params.date.resolved.

הגדרת פרמטרים של כוונת המשתמש

כשקלט של משתמש קצה תואם לכוונת המשתמש בזמן הריצה, מערכת Dialogflow CX מגדירה כל פרמטר שמשמש הערה לביטוי האימון המשויך.

ההשלמה של נתיב ליעד יכולה להשתמש בהגדרה מראש של פרמטר השלמה כדי להגדיר ערך פרמטר של כוונת המשתמש בזמן הריצה.

קבלת פרמטרים של כוונות

במהלך תור השיחה שבו מזוהה כוונה, הקוד יכול לגשת לערכי הפרמטרים של הכוונה.

אינטראקציות עם ה-API יחזירו את ערכי הפרמטרים של הכוונה. אפשר לעיין בשדה התשובה של השיטה detectIntent מסוג queryResult.parameters כדי לראות את סוג Session.

בוחרים פרוטוקול וגרסה להפניה של הסשן:

פרוטוקול V3 V3beta1
REST Session resource Session resource
RPC ממשק הסשן ממשק הסשן
C++‎ SessionsClient לא זמין
C#‎ SessionsClient לא זמין
המשך SessionsClient לא זמין
Java SessionsClient SessionsClient
Node.js SessionsClient SessionsClient
PHP לא זמין לא זמין
Python SessionsClient SessionsClient
Ruby לא זמין לא זמין

ערכי הפרמטרים של כוונת קבלת הנתונים של ה-Webhook. אפשר לראות את השדה intentInfo.parameters בבקשת ה-Webhook.

פרמטרים של טופס

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

לדוגמה, אפשר ליצור טופס לאיסוף השם ומספר הטלפון של משתמש הקצה בדף Collect Customer Info.

הנתונים הבאים משמשים להגדרת פרמטר של טופס:

שם האפשרות במסוף שרשרת שדות API תיאור
השם המוצג Page.form.parameters[].displayName שם שמזהה את הפרמטר.
סוג ישות Page.form.parameters[].entityType סוג הישות שמשויך לפרמטר.
חובה Page.form.parameters[].required מציין אם הפרמטר נדרש. צריך למלא את הפרמטרים הנדרשים לפני סיום מילוי הטופס, והסוכן יבקש ערכים ממשתמש הקצה. פרטים נוספים זמינים בקטע הגדרת פרמטרים של טופס שבהמשך.
ערך ברירת מחדל (מוצג רק אם לא מסומנת האפשרות חובה) Page.form.parameters[].defaultValue ערך ברירת המחדל של פרמטר אופציונלי. פרטים נוספים זמינים בקטע הגדרת פרמטרים של טופס שבהמשך.
הוא רשימה Page.form.parameters[].isList אם הערך הוא true, הפרמטר מטופל כרשימת ערכים.
צנזור ביומן Page.form.parameters[].redact אם הערך הוא true, נתוני הפרמטרים שסופקו על ידי משתמש הקצה מוסתרים.
מילוי ההנחיה הראשונית Page.form.parameters[].fillBehavior.initialPromptFulfillment הנחיות ראשוניות בצורה של fulfillment כדי לבקש ממשתמש הקצה ערך פרמטר נדרש. פרטים נוספים זמינים בקטע הגדרת פרמטרים של טופס שבהמשך.
הצגת הנחיות מחדש לגורמים שמטפלים באירועים Page.form.parameters[].fillBehavior.repromptEventHandlers ההגדרות האלה משמשות כשהסוכן צריך להציג למשתמש הקצה הנחיה חוזרת למילוי הפרמטר אחרי ניסיון כושל. מידע נוסף על אמצעי טיפול בהצגת הנחיות חוזרות למילוי טופס אם לא מוגדרים handlers לאירועי בקשה חוזרת, הסוכן יבקש שוב באמצעות ההנחיות הראשוניות אחרי ניסיון כושל.
DTMF לא זמין אפשר לעיין בקטע DTMF בהמשך.

הגדרה וניהול של פרמטרים של טופס

פרמטרים של טופס מוגדרים בזמן העיצוב כשיוצרים דף.

כדי לשנות את סדר הפרמטרים של הטופס באמצעות המסוף, לוחצים על כותרת הקטע Parameters בדף, ואז גוררים את שורות הפרמטרים בטבלת הפרמטרים.

כדי למחוק פרמטר של טופס, לוחצים על כותרת הקטע Parameters בדף, מציבים את הסמן מעל פרמטר, ואז לוחצים על לחצן המחיקה .

פרמטרים של טופס הפניה

הפניות לפרמטרים של טופס לא משמשות באופן ישיר. אפשר לבדוק רק את סטטוס המילוי של פרמטרים ספציפיים בטופס או של הטופס כולו. אפשר להשתמש בהפניות למצב הטופס בתנאי של דרישה בנתיב עם תנאי.

כדי לבדוק אם הטופס המלא בדף הנוכחי מולא, צריך להשתמש בתנאי הבא:

$page.params.status = "FINAL"

כדי לבדוק אם פרמטר מסוים בטופס מולא בתור האחרון, משתמשים בתנאי הבא:

$page.params.parameter-id.status = "UPDATED"

הגדרת פרמטרים של טופס

אפשר להגדיר ערכים של פרמטרים בטופס במגוון דרכים. בסעיפי המשנה הבאים מתואר כל אחד מהמנגנונים להגדרת ערכי פרמטרים של טפסים.

ערכי ברירת מחדל של פרמטרים

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

אם פרמטר מסוים נדרש, המערכת מתעלמת מערך ברירת המחדל שלו.

מילוי טופס

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

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

העברת פרמטרים של כוונות וסשנים

כשמגדירים פרמטר מכל סוג שהוא בזמן הריצה, הפרמטר נכתב בסשן והופך לפרמטר של סשן.

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

זה יכול לקרות עם פרמטר של כוונת חיפוש שתואם לנתיב של כוונת חיפוש או העברת פרמטרים.

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

הגדרות קבועות מראש של פרמטרים של ביצוע הזמנה

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

הגדרת פרמטרים של webhook

ה-webhook יכול להגדיר את הערכים של פרמטרים של טופס בזמן הריצה. אפשר לראות את השדה pageInfo.formInfo.parameterInfo בתשובת ה-Webhook.

קבלת פרמטרים של טופס

אינטראקציות עם ה-API יחזירו את ערכי הפרמטרים של הטופס. אפשר לעיין בשדה התשובה של השיטה detectIntent מסוג queryResult.parameters כדי לראות את סוג Session.

בוחרים פרוטוקול וגרסה להפניה של הסשן:

פרוטוקול V3 V3beta1
REST Session resource Session resource
RPC ממשק הסשן ממשק הסשן
C++‎ SessionsClient לא זמין
C#‎ SessionsClient לא זמין
המשך SessionsClient לא זמין
Java SessionsClient SessionsClient
Node.js SessionsClient SessionsClient
PHP לא זמין לא זמין
Python SessionsClient SessionsClient
Ruby לא זמין לא זמין

ערכי הפרמטרים של הטופס שמתקבלים ב-Webhook. אפשר לראות את השדה pageInfo.formInfo.parameterInfo בבקשת ה-Webhook.

רכיבי handler של הנחיות חוזרות למילוי טופס

מטפלים בהנחיות חוזרות, שנקראים גם מטפלים באירועים ברמת הפרמטר, משמשים להגדרת התנהגות מורכבת של הנחיות פרמטרים עבור פרמטרים נדרשים. לדוגמה, אפשר להשתמש ב-reprompt handlers כדי לשנות את ההנחיה אם משתמש הקצה לא מספק ערך אחרי ההנחיה הראשונית, וכדי לעבור לדף אחר אחרי N ניסיונות כושלים.

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

אם משתמש הקצה מגיב עם קלט לא צפוי, מופעל אירוע sys.no-match-* או sys.no-input-*, ומופעלים כל הגורמים המטפלים בהנחיות חוזרות שהוגדרו לאירועים האלה.

בדומה לגורמים אחרים שמטפלים באירועים, גורם שמטפל בהצגת הנחיה חוזרת הוא סוג של גורם שמטפל במצב שאפשר להגדיר בו אחת מהאפשרויות הבאות או את שתיהן:

פרמטרים של סשן

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

הפניה לפרמטרים של סשן

אפשר להשתמש בהפניות לפרמטרים של סשן בהודעות תגובה סטטיות עבור סוגי השלמת בקשות הבאים:

  • מילוי דף הכניסה
  • אספקת מסלולים
  • השלמת גורם מטפל באירועים
  • מילוי טופס באמצעות הנחיה
  • מילוי חוזר של טופס

אפשר להשתמש בהפניות גם ב:

כדי להפנות לפרמטר של סשן, משתמשים בפורמטים הבאים:

סקלר

כדי לגשת לפרמטר עם סוג ישות סקלרית:

$session.params.parameter-id

לדוגמה, אם מזהה הפרמטר הוא date, אפשר להתייחס לערך כאל $session.params.date.

חומר מרוכב

  • כדי לגשת לחבר בפרמטר עם סוג ישות מורכב:

    $session.params.parameter-id.member-name

    לדוגמה, אם מזהה הפרמטר הוא location, אפשר להתייחס לערך של חבר zip-code כ-$session.params.location.zip-code.

  • כדי לגשת אל הערך המקורי של פרמטר עם סוג ישות מורכב:

    $session.params.parameter-id.original
  • כדי לגשת לאובייקט המלא של פרמטר עם סוג ישות מורכב, משתמשים בפונקציית המערכת IDENTITY.

רשימה

  • כדי לגשת לרשימה מלאה של רכיבים:

    $session.params.parameter-id

    לדוגמה, אם מזהה פרמטר הרשימה הוא colors והערכים שחולצו משאילתת משתמש הם ["red", "blue", "yellow"], אפשר להפנות לכל הערכים כ-$session.params.colors.

  • כדי לגשת לרכיב ה-i של פרמטר רשימה:

    $session.params.parameter-id[i]

    לדוגמה, אם מזהה פרמטר הרשימה הוא colors, אפשר להפנות לערך הראשון בתור $session.params.colors[0].

הגדרת פרמטרים של סשן

כשמסיימים למלא את הטופס, מערכת Dialogflow CX כותבת את הפרמטרים שמולאו בסשן.

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

ה-webhook יכול להגדיר את הערכים של פרמטרים של סשן בזמן הריצה. אפשר לראות את השדה sessionInfo.parameters בתגובת webhook רגילה או בתגובת webhook גמישה.

אינטראקציות עם ה-API יכולות להגדיר ערכים של פרמטרים של סשן. אפשר לעיין בשדה הבקשה של שיטת detectIntent queryParams.parameters כדי לראות את הסוג Session.

בוחרים פרוטוקול וגרסה להפניה של הסשן:

פרוטוקול V3 V3beta1
REST Session resource Session resource
RPC ממשק הסשן ממשק הסשן
C++‎ SessionsClient לא זמין
C#‎ SessionsClient לא זמין
המשך SessionsClient לא זמין
Java SessionsClient SessionsClient
Node.js SessionsClient SessionsClient
PHP לא זמין לא זמין
Python SessionsClient SessionsClient
Ruby לא זמין לא זמין

קבלת פרמטרים של סשן

אינטראקציות עם ה-API יחזירו את ערכי הפרמטרים של הסשן. אפשר לעיין בשדה התשובה של השיטה detectIntent מסוג queryResult.parameters כדי לראות את סוג Session.

בוחרים פרוטוקול וגרסה להפניה של הסשן:

פרוטוקול V3 V3beta1
REST Session resource Session resource
RPC ממשק הסשן ממשק הסשן
C++‎ SessionsClient לא זמין
C#‎ SessionsClient לא זמין
המשך SessionsClient לא זמין
Java SessionsClient SessionsClient
Node.js SessionsClient SessionsClient
PHP לא זמין לא זמין
Python SessionsClient SessionsClient
Ruby לא זמין לא זמין

ערכי הפרמטרים של הסשן מתקבלים ב-Webhook. אפשר לראות את השדה sessionInfo.parameters בבקשת ה-Webhook.

העברת פרמטרים

כשקלט של משתמש קצה מספק ערך פרמטר, יכול להיות שהפרמטר יועבר לרמות אחרות:

  • כשפרמטר של Intent מוגדר על ידי התאמה ל-Intent, פרמטרים של טופס עם שם דומה בדף הפעיל מוגדרים לאותו ערך. סוג הישות של הפרמטר נקבע לפי הגדרת פרמטר ה-Intent.
  • כשפרמטר כוונה מוגדר על ידי התאמה לכוונה, או כשפרמטר טופס מוגדר בזמן מילוי טופס, הפרמטר הופך לפרמטר של סשן.

‫DTMF לשילובים של טלפוניה

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

כדי להפחית את הדו-משמעות, אפשר לפרש קלט DTMF בפורמט רגיל ובפורמט ספציפי ל-DTMF (מומלץ):

  • הפורמט הרגיל הוא הערכים של לוח המקשים כפי שהוזנו על ידי משתמש הקצה. לדוגמה, 123#.
  • הטופס הספציפי ל-DTMF ממיר את הקלט ל-dtmf_digits_[digits], כאשר [digits] הוא ספרות ה-DTMF המקוריות עם * שהוחלף ב-star ו-# שהוחלף ב-pound. לדוגמה, 123# מתפרש כ-dtmf_digits_123pound.

כשמבצעים התאמה של סוגי ישויות לפרמטר, מערכת Dialogflow CX מנסה להתאים גם את הצורות הרגילות וגם את הצורות הספציפיות ל-DTMF. כשמשתמשים בסוג ישות לקלט DTMF, מומלץ להגדיר מילים נרדפות כמו dtmf_digits_123 כדי לשפר את ההתאמה של NLU.

אם קלט ה-DTMF לא עומד בתנאי הסיום (הוא לא הגיע לאורך המקסימלי של הספרות או שהוא לא הסתיים על ידי ספרת הסיום), הסוכן של Dialogflow CX ימשיך לחכות לקלט נוסף. במהלך התקופה הזו, אם מופעל פסק זמן ללא דיבור, הסוכן יפעיל במקום זאת אירוע ללא קלט. אם מזוהה רק דיבור, הסוכן מתאים לקלט הדיבור. אם מזוהים גם קלט דיבור וגם קלט DTMF, קלט הדיבור נפסל ורק קלט ה-DTMF נלקח בחשבון.

כדי להפעיל ולהתאים אישית DTMF לפרמטר:

המסוף

  1. אם עדיין לא הפעלתם את ההגדרות המתקדמות, צריך להפעיל אותן בהגדרות של דיבור הסוכן ו-IVR.
  2. יוצרים פרמטר של דף.
  3. בחלונית הפרמטרים, מפעילים את המתג הפעלת DTMF.
  4. מגדירים את מספר הספרות המקסימלי למספר הספרות המקסימלי שמשתמש הקצה יכול לספק לפרמטר הזה.
  5. מגדירים את ספרת הסיום לערך בלוח המקשים שיסיים את קלט ה-DTMF של הפרמטר. בדרך כלל משתמשים ב-# להגדרה הזו. ספרת הסיום לא מתווספת לשאילתת Dialogflow CX בנציג, ולכן אם ספרת הסיום היא # והקלט הוא 123#, הקלט בפועל של השאילתה יהיה '123'

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

פרמטרים ברמת התהליך

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

כדי להגדיר פרמטר בהיקף הזרימה או להפנות אליו, משתמשים בתחביר הבא:

$flow.parameter-name

לדוגמה, אם שם הפרמטר הוא date, אפשר להגדיר את הפרמטר או להפנות אליו כ-$flow.date.

שימו לב: שימוש בקידומת $ כשמגדירים פרמטרים שונה מסוגים אחרים של פרמטרים שלא משתמשים ב-$ בהגדרות הפרמטרים.

דוגמה להגדרת פרמטר בהיקף של זרימת נתונים: איור של הגדרת פרמטר בהיקף של זרימת נתונים.

משך החיים של ערך פרמטר בהיקף של זרימת נתונים

במקרים מתקדמים מסוימים, נדיר אבל אפשרי, תצטרכו להבין איך ערכי פרמטרים בהיקף של זרימה נשמרים (או נמחקים) כשזרימה הופכת ללא פעילה ואז לפעילה שוב.

האם ערכי הפרמטרים ברמת הזרימה נשמרים כשזרימה הופכת ללא פעילה ואז פעילה שוב, תלוי במחסנית הזרימה ובמופעים של הזרימה במחסנית.

  • כשמתבצעת העברה מ-Flow A ל-Flow B באמצעות יעד העברה ספציפי,‏ Flow A (ה-Flow הראשי) נשאר ב-Stack,‏ Flow A שומר על ערכי הפרמטרים שלו בהיקף ה-Flow, ומופע חדש של Flow B (ה-Flow המשני) מתווסף ל-Stack.
  • כשזרימת צאצא חוזרת לזרימת הורה באמצעות יעד מעבר סמלי (לדוגמה, END_FLOW), זרימת הצאצא מוסרת מהמחסנית, כל ערכי הפרמטרים בהיקף של זרימת הצאצא נמחקים וכל ערכי הפרמטרים בהיקף של זרימת ההורה נשמרים.
  • באמצעות סדרה של מעברים עם יעדי מעבר ספציפיים, מחסנית הזרימה יכולה להכיל כמה מופעים של סוג זרימה אחד. לכל מופע של סוג התהליך יש ערכי פרמטרים ייחודיים בהיקף התהליך. לדוגמה: A1 -> B1 -> C1 -> B2, כאשר A,‏ B ו-C הם סוגי זרימה, והמספרים מציינים מופעים של סוגי הזרימה האלה. בדוגמה הזו, B1 ו-B2 הם מופעים שונים של שלב 2, ויש להם פרמטרים ייחודיים בהיקף השלב.

דוגמאות:

מעברים תוצאת הסריקה
תהליך A‏ (A1) הופך לפעיל.
תהליך B‏ (B1) הופך לפעיל באמצעות יעד מעבר ספציפי.
תהליך B חוזר לתהליך A (A1) שהפעיל אותו באמצעות יעד מעבר סמלי.
בזרימה א', ערכי הפרמטרים נשמרים.
תהליך A‏ (A1) הופך לפעיל.
תהליך B‏ (B1) הופך לפעיל באמצעות יעד מעבר ספציפי.
תהליך B עובר למופע חדש של תהליך A‏ (A2) באמצעות יעד מעבר ספציפי.
למופע החדש של תהליך A ‏ (A2) בחלק העליון של המחסנית אין גישה לערכי הפרמטרים של תהליך A ‏ (A1) בחלק התחתון של המחסנית.
תהליך A‏ (A1) הופך לפעיל.
תהליך B‏ (B1) הופך לפעיל באמצעות יעד מעבר ספציפי.
תהליך A‏ (A1) הופך לפעיל באמצעות יעד מעבר סמלי. תהליך
B (B2) הופך לפעיל באמצעות יעד מעבר ספציפי.
בתהליך B‏ (B2), ערכי הפרמטרים שהוגדרו בזמן שהתהליך היה פעיל לא נשמרים אחרי המעבר השני (B1).

פרמטרים ברמת הבקשה

פרמטרים בהיקף הבקשה הם פרמטרים לזמן קצר שנוצרים על ידי Dialogflow CX שאפשר להפנות אליהם רק במהלך מחזור החיים של הבקשה הנוכחית, והם לא נשמרים בפרמטרים של הסשן.

פרמטרים ברמת הבקשה נוצרים על ידי Dialogflow CX עבור התכונות הבאות.

פרמטרים מובנים

אפשר לגשת לנתונים השונים שמשויכים לבקשה באמצעות:

חומרי עזר תיאור
$request.agent-id המזהה של הנציג.
$request.session-id המזהה של הסשן.
$request.project-id המזהה של הפרויקט.
$request.location-id המזהה של מיקום הנציג.
$request.language קוד השפה שצוין ב-QueryInput.language_code.
$request.resolved-language קוד השפה בפועל שבו הסוכן השתמש במהלך העיבוד. השפה שזוהתה יכולה להיות שונה מהשפה שצוינה בבקשה. לדוגמה, אם הסוכן תומך רק בשפה 'en', והשפה שצוינה בבקשה היא 'en-US', השפה שתיבחר תהיה 'en'.
$request.user-utterance ההתבטאות הנוכחית של המשתמש שצוינה בבקשה.
$request.last-agent-utterance ההתבטאות האחרונה שנשלחה על ידי הסוכן.
$request.nlu-confidence-score ציון המהימנות הנוכחי של סיווג NLU.
$request.end-user-metadata המטא-נתונים של משתמש הקצה שצוינו בבקשה.
$request.webhook_status_code קוד הסטטוס של HTTP של הקריאה ל-webhook.

מטען ייעודי (payload) מותאם אישית

כשמגדירים את QueryParameters.payload, אפשר לגשת לפרמטר המתאים באמצעות $request.payload.param-id.

ניתוח סנטימנטים

כשמפעילים ניתוח סנטימנט, אפשר להשתמש בהפניות הבאות לסנטימנט:

חומרי עזר סוג תיאור
$request.sentiment.score מספר ציון הסנטימנט בין ‎-1.0 (סנטימנט שלילי) ל-1.0 (סנטימנט חיובי).
$request.sentiment.magnitude מספר מציין את העוצמה הכוללת של הרגש (גם חיובי וגם שלילי) בין 0.0 לבין ‎+inf. בשונה מהניקוד, עוצמת הרגש לא עוברת נרמול. כל ביטוי של רגש בקלט של משתמש הקצה (חיובי ושלילי) תורם לעוצמת הרגש של הקלט. יכול להיות שלערכים של קלט ארוך יותר יהיו גדלים גדולים יותר.
$request.sentiment.succeeded בוליאני הערך True אם ניתוח הסנטימנט הצליח, אחרת הערך הוא False.

צנזורה של פרמטרים

לכל פרמטר של כוונת משתמש או טופס, אפשר להפעיל צנזורה של פרמטרים. הפעלת הצנזורה תגרום לצנזורה של נתוני פרמטרים של זמן ריצה של משתמשי קצה מיומנים ומאחסון פנימי של Dialogflow CX. פרמטרים שהוסרו מוצגים כ-$parameter-name_redacted ביומנים.

לדוגמה, נניח שמשתמש קצה מזין את הקלט "הכתובת שלי היא 1600 Amphitheatre Parkway". כתוצאה מכך, פרמטר address נשלח עם הערך "1600 Amphitheatre Parkway". הטקסט שיירשם ביומן יהיה My address is $address_redacted.

כדי להפעיל את הסרת הפרמטרים:

המסוף

מסמנים את תיבת הסימון הסתרת פרטים ביומן כשיוצרים או מעדכנים פרמטר.

API

מגדירים את השדה parameters[].redact כ-true עבור הסוג Intent.

בוחרים פרוטוקול וגרסה להפניה של הכוונה:

פרוטוקול V3 V3beta1
REST Intent resource Intent resource
RPC ממשק הכוונה ממשק הכוונה
C++‎ IntentsClient לא זמין
C#‎ IntentsClient לא זמין
המשך IntentsClient לא זמין
Java IntentsClient IntentsClient
Node.js IntentsClient IntentsClient
PHP לא זמין לא זמין
Python IntentsClient IntentsClient
Ruby לא זמין לא זמין

מגדירים את השדה form.parameters[].redact כ-true עבור הסוג Page.

בוחרים פרוטוקול וגרסה עבור הפניה לדף:

פרוטוקול V3 V3beta1
REST משאב דף משאב דף
RPC ממשק הדף ממשק הדף
C++‎ PagesClient לא זמין
C#‎ PagesClient לא זמין
המשך PagesClient לא זמין
Java PagesClient PagesClient
Node.js PagesClient PagesClient
PHP לא זמין לא זמין
Python PagesClient PagesClient
Ruby לא זמין לא זמין

לחלופין, אפשר לצנזר את כל הפרמטרים של סוג ישות ספציפי.