רכיב מובנה מראש לאימות קמעונאי

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

רמות אימות

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

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

משתמש יכול לעבור אימות לרמה 0 באמצעות המרכיב המובנה של הודעת הפתיחה.
רמה 1: בסיסית המשתמש מאומת באמצעות אימות של קוד סיסמה חד-פעמית (OTP) שנשלח לאימייל או למספר הטלפון שלו.

סוגי משתמשים נתמכים

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

מגבלות

בנוסף למגבלות הנפוצות של רכיבים מוכנים מראש, לרכיב המוכן מראש הזה יש את המגבלות הבאות:

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

דוגמאות לתיבות דו-שיח

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

אימות ברמה 0 בוצע בהצלחה: התאמה של מספר הטלפון המתקשר (ANI)

המשתמש מתקשר ממספר טלפון שרשום בחשבון קיים, מאשר את החשבון שלו ומאומת בהצלחה לרמה 0.

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

האימות ברמה 1 בוצע בהצלחה: OTP

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

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

מטעמי אבטחה, אנחנו צריכים לאמת את הזהות שלך, ולכן נשלח לך קוד. איך תרצה לקבל את הקוד – בטלפון או באימייל?
טלפון
רק אוודא – רוצה לקבל את ה-OTP בטלפון? צריך לומר 'כן' או 'לא'.
כן
שלחנו קוד למספר הטלפון הרשום שלך שמסתיים ב-0000. התהליך עשוי להימשך כמה שניות. אפשר לאשר את הקוד?
123457
תודה, יוני. הזיהוי שלך בוצע בהצלחה.

מוסכמות למתן שמות

הרכיב המובנה הזה משתמש במוסכמות הבאות למתן שמות:

תכונה פורמט דוגמה
Flow [שם הרכיב] אימות קמעונאי
כוונת רכישה ספציפית לרכיב prebuilt_components_[component_name]_[intent_name] prebuilt_components_retail_authentication_incorrect_phone_number
סוג ישות prebuilt_components_[component_name]_[entity_type] prebuilt_components_channel_email_phone
Webhook prebuilt_components_[component_name]:[webhook_action] prebuilt_components_retail_authentication:verify_user_details

פרמטרים של קלט

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

המרכיב המובנה הזה מקבל את פרמטרי הקלט הבאים:

שם הפרמטר תיאור פורמט קלט
$session.params.auth_level_req הגדרה של רמת האימות שמשתמש הקצה יאומת מולה. הערכים התקינים הם 0 או 1. מספר שלם
$session.params.auth_level (אופציונלי) מציין את רמת האימות הנוכחית של משתמש הקצה. מספר שלם
$session.params.phone_number (אופציונלי) מספר הטלפון של משתמש הקצה. אם לא מציינים את הפרמטר הזה, הרכיב יאסוף את מספר הטלפון מהמשתמש. מחרוזת
$flow.max_retry_phone_number מציין את מספר הניסיונות החוזרים שמותרים כשמבקשים את מספר הטלפון של המשתמש. ערך ברירת המחדל הוא 3. מספר שלם
$flow.max_retry_otp מציינת את מספר הניסיונות החוזרים שמותרים כשמבקשים סיסמה חד-פעמית (OTP). ערך ברירת המחדל הוא 3. מספר שלם
$flow.max_retry_otp_not_received מציינת את מספר הניסיונות החוזרים שמותרים אם לא מתקבלת סיסמה חד-פעמית (OTP). ערך ברירת המחדל הוא 1. מספר שלם
$flow.max_retry_otp_confirm_channel מציינת את מספר הניסיונות החוזרים שמותרים כשמנסים לאסוף את הערוץ כדי לקבל את הסיסמה החד-פעמית (OTP). ערך ברירת המחדל הוא 3. מספר שלם

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

  1. פותחים את מסוף Dialogflow CX.
  2. בוחרים את הפרויקט ב-Google Cloud.
  3. בוחרים את הסוכן.
  4. בוחרים בכרטיסייה Build (פיתוח).
  5. לוחצים על הרכיב המיובא בקטע Flows (תהליכי עבודה).
  6. בקטע דפים, לוחצים על דף הפתיחה.
  7. לוחצים על המסלול true בדף הפתיחה.
  8. בחלון Route (מסלול), עורכים את הערכים של Parameter Presets (הגדרות קבועות מראש של פרמטרים) לפי הצורך.
  9. לוחצים על Save.

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

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

שם הפרמטר תיאור פורמט הפלט
auth_level מציין את רמת האימות הנוכחית של משתמש הקצה. מספר שלם
all_recent_order_id הפרמטר הזה מפרט את מזהי ההזמנות שמשויכים למשתמש המאומת, ממוינים לפי תאריך ביצוע ההזמנה בסדר יורד. האלמנט הראשון במערך מייצג את ההזמנה האחרונה. אם למשתמש אין הזמנות, הערך של הפרמטר הזה הוא null. רשימה (מחרוזת)
phone_number מספר הטלפון המקומי של המשתמש, ללא קוד המדינה, שמשמש לזיהוי המשתמש. מחרוזת
אימייל כתובת האימייל שרשומה בחשבון. מחרוזת
user_first_name השם הפרטי של המשתמש, שמשמש לברכה ולאישור הבעלות על החשבון. מחרוזת
transfer_reason הפרמטר הזה מציין את הסיבה ליציאה מהתהליך, אם הוא לא הושלם בהצלחה. הערך שמוחזר הוא אחד מהערכים הבאים:

agent: משתמש הקצה ביקש לדבר עם נציג אנושי בשלב מסוים במהלך השיחה.

denial_of_information: משתמש הקצה סירב לשתף מידע שהרכיב ביקש.

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

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

webhook_error: אירעה שגיאת webhook. מידע נוסף זמין במאמר בנושא אירוע מובנה webhook.error. ‫

webhook_not_found: לא הייתה אפשרות להגיע לכתובת ה-URL של ה-webhook. מידע נוסף זמין במאמר בנושא אירוע מובנה webhook.error.not-found.
מחרוזת

הגדרה בסיסית

כדי להגדיר את הרכיב המובנה הזה:

  1. מייבאים את הרכיב שנוצר מראש.
  2. מגדירים את ה-webhooks הגמישים שסופקו עם הגדרה שמתארת את השירותים החיצוניים. פרטים נוספים מופיעים בקטע 'הגדרת webhook' בהמשך.

הגדרת webhook

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

אימות פרטי המשתמש

רכיב ה-webhook‏ prebuilt_components_retail_authentication:verify_user_details משמש לאחזור פרטי חשבון משתמש על סמך מספר הטלפון שסופק.

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

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

שם הפרמטר תיאור פורמט קלט
$session.params.phone_number מספר הטלפון המקומי של המשתמש, ללא קוד המדינה, שמשמש לזיהוי המשתמש. מחרוזת

פרמטרים של תגובה מה-API

הפרמטרים הבאים נשלפים מתגובת ה-API כדי שהרכיב יוכל להשתמש בהם.

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

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

  1. פותחים את מסוף Dialogflow CX.
  2. בוחרים את הפרויקט ב-Google Cloud.
  3. בוחרים את הסוכן.
  4. לוחצים על הכרטיסייה ניהול.
  5. לוחצים על Webhooks.
  6. בוחרים את ה-webhook ‏prebuilt_components_retail_authentication:verify_user_details.
  7. מחליפים את כתובת ה-URL בשדה Webhook URL ב-Dialogflow CX בנקודת הקצה של השירות שאותו רוצים לשלב. בוחרים את השיטה המתאימה בתפריט הנפתח.
  8. בודקים ומעדכנים את גוף הבקשה כדי ליצור את פורמט הבקשה המתאים ל-Webhook.
  9. בודקים ומעדכנים את הגדרות התגובה כדי לחלץ שדות ספציפיים מהתגובה של ה-webhook. אל תשנו את שמות הפרמטרים, כי הרכיב צריך אותם כדי לגשת לערכי השדות שמוחזרים.
  10. בודקים את הגדרות האימות ומעדכנים אותן לפי הצורך.
  11. לוחצים על Save.

שליחת סיסמה חד-פעמית

רכיב ה-webhook‏ prebuilt_components_retail_authentication:send_otp משמש לשליחת סיסמה חד-פעמית (OTP) לערוץ רשום שנבחר על ידי משתמש הקצה.

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

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

שם הפרמטר תיאור פורמט קלט
$session.params.phone_number מספר הטלפון המקומי של המשתמש, ללא קוד המדינה, שמשמש לזיהוי המשתמש. מחרוזת
$flow.channel הערוץ שהמשתמש בחר לקבל בו את הסיסמה החד-פעמית. הערכים התקינים מוגדרים על ידי הישות המותאמת אישית prebuilt_components_channel_email_phone. כברירת מחדל, יש תמיכה בשפות email וphone. מחרוזת

פרמטרים של תגובה מה-API

הפרמטרים הבאים נשלפים מתגובת ה-API כדי שהרכיב יוכל להשתמש בהם.

שם הפרמטר תיאור פורמט הפלט
generated_otp הערך של הסיסמה החד-פעמית שנוצרה ונשלחה למשתמש באמצעות הערוץ שנבחר. מחרוזת

כדי להגדיר את התגובה לפעולה מאתר אחר (webhook) לשליחת קוד אימות חד-פעמי (OTP) לרכיב הזה, מרחיבים את ההוראות.

  1. פותחים את מסוף Dialogflow CX.
  2. בוחרים את הפרויקט ב-Google Cloud.
  3. בוחרים את הסוכן.
  4. לוחצים על הכרטיסייה ניהול.
  5. לוחצים על Webhooks.
  6. בוחרים ב-webhook של prebuilt_components_retail_authentication:send_otp.
  7. מחליפים את כתובת ה-URL בשדה Webhook URL ב-Dialogflow CX בנקודת הקצה של השירות שאותו רוצים לשלב. בוחרים את השיטה המתאימה בתפריט הנפתח.
  8. בודקים ומעדכנים את גוף הבקשה כדי ליצור את פורמט הבקשה המתאים ל-Webhook.
  9. בודקים ומעדכנים את הגדרות התגובה כדי לחלץ שדות ספציפיים מהתגובה של ה-webhook. אל תשנו את שמות הפרמטרים, כי הרכיב צריך אותם כדי לגשת לערכי השדות שמוחזרים.
  10. בודקים את הגדרות האימות ומעדכנים אותן לפי הצורך.
  11. לוחצים על Save.

הושלמה

הסוכן ורכיבי ה-webhook שלו אמורים להיות מוגדרים עכשיו ומוכנים לבדיקה.