רכיב מוכן מראש לאיסוף כתובות

הרכיב המוגדר מראש לאיסוף כתובות אוסף כתובת ממשתמש הקצה, ומשתמש ב-Google Address Validation API כדי לאמת כתובות.

מגבלות

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

פונקציות נוספות

הרכיב המוגדר מראש הזה מספק את הפונקציות הנוספות הבאות:

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

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

כתובת מלאה ותקינה

משתמש הקצה מספק כתובת מלאה, ורכיב איסוף הכתובות מאמת אותה בהצלחה.

קלט של משתמשים התשובה של הסוכן
כדי להתחיל, מה הכתובת המלאה שלך?
‎1600 Amphitheatre Parkway, Mountain View, CA 94043-1351, USA
אספתי את הכתובת הסופית: מספר הרחוב הוא 1600, הרחוב הוא Amphitheatre Parkway, העיר היא Mountain View, האזור המנהלי הוא CA, המיקוד הוא 94043, המדינה היא ארה"ב. זה נכון? צריך לומר כן או לא.
כן
מעולה, הכתובת נשמרה.

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

משתמש הקצה מספק כתובת חלקית. הנציג מנחש את החלק החסר ומאמת אותו בהצלחה אחרי שקיבל אישור ממשתמש הקצה.

קלט של משתמשים התשובה של הסוכן
כדי להתחיל, מה הכתובת המלאה שלך?
‎1600 Amphitheatre Parkway
ניחשתי חלק מהכתובת: העיר היא Mountain View, המיקוד הוא 94043, האזור המנהלי הוא CA והמדינה היא ארה"ב.

אספתי את הכתובת הסופית: מספר הרחוב הוא 1600, הרחוב הוא Amphitheatre Parkway, העיר היא Mountain View, האזור המנהלי הוא CA, המיקוד הוא 94043 והמדינה היא ארה"ב. זה נכון? צריך לומר כן או לא.
כן
מעולה, הכתובת נשמרה.

כתובת תקינה חלקית עם רכיבים שסופקו על ידי המשתמש

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

קלט של משתמשים התשובה של הסוכן
כדי להתחיל, מה הכתובת המלאה שלך?
‎1600 Amphitheatre Parkway
ניחשתי חלק מהכתובת: העיר היא Mountain View, המיקוד הוא 94043, האזור המנהלי הוא CA והמדינה היא ארה"ב.

אספתי את הכתובת הסופית: מספר הרחוב הוא 1600, הרחוב הוא Amphitheatre Parkway, העיר היא Mountain View, האזור המנהלי הוא CA, המיקוד הוא 94043 והמדינה היא ארה"ב. זה נכון? צריך לומר כן או לא.
לא
בסדר. איזה חלק בכתובת צריך לשנות?
מיקוד
מה המיקוד?
94044
סיימתי עם העדכון הזה. יש עוד משהו שצריך לשנות? צריך לומר כן או לא.
לא
אחרי האימות, החלפתי את המיקוד ל-94043.

אספתי את הכתובת הסופית: מספר הרחוב הוא 1600, הרחוב הוא Amphitheatre Parkway, העיר היא Mountain View, האזור המנהלי הוא CA, המיקוד הוא 94043, המדינה היא ארה"ב. זה נכון? צריך לומר כן או לא.
כן
מעולה, הכתובת נשמרה.

קלט לא מזוהה

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

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

כתובת לא נתמכת

הרכיב יוצא מהתהליך אחרי שמשתמש הקצה מספק כתובת שלא נתמכת כרגע על ידי Address Validation API.

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

אימות כתובת

כדי להבין איך רכיב איסוף הכתובות מאמת כתובות, קראו את הסקירה הכללית על Address Validation API.

רכיב איסוף הכתובות מתעד את הקלט של משתמש הקצה באמצעות הישות המערכתית@sys.address ושולח את הכתובת המתועדת אל Address Validation API כדי לחלץ רכיבי כתובת לעיבוד נוסף.

הרכיבים הבאים של הכתובת מוחזרים על ידי Address Validation API, והרכיב משתמש בהם כדי לאסוף ולאמת כתובת מלאה:

  • administrative_area_level_1
  • ארכיפלג
  • country
  • locality
  • postal_code
  • route
  • street_number

אתם יכולים לנסות את הדגמת אימות הכתובת של Google עם כל כתובת מאזור נתמך.

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

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

תכונה פורמט דוגמה
Flow [שם הרכיב] איסוף כתובות
כוונה ספציפית לרכיב prebuilt_components_[component_name]_[intent_name] prebuilt_components_address_collection_locality
פרמטר [param_name] user_provided_address
תגובה לפעולה מאתר אחר (webhook) prebuilt_components_[component_name]:[webhook_action] prebuilt_components_address_collection:address_validation

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

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

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

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

שם הפרמטר תיאור פורמט הקלט
$flow.zip_code אם רכיב הכתובת של המיקוד נדרש, מגדירים אותו כ-true, אחרת מגדירים אותו כ-false. בוליאני
‎$flow.city אם רכיב הכתובת של העיר נדרש, מגדירים אותו כ-true, אחרת מגדירים אותו כ-false. בוליאני
$flow.admin_area אם רכיב הכתובת של האזור המנהלי נדרש, צריך להגדיר אותו כ-true, אחרת כ-false. בוליאני
‎$flow.street_number אם רכיב הכתובת של מספר הבית נדרש, צריך להגדיר אותו כ-true, אחרת כ-false. בוליאני
$flow.route אם רכיב הכתובת של המסלול נדרש, צריך להגדיר אותו כ-true, אחרת כ-false. בוליאני
‎$flow.country אם רכיב הכתובת של המדינה נדרש, מגדירים אותו כ-true, אחרת מגדירים אותו כ-false. בוליאני
$flow.island אם רכיב הכתובת של האי נדרש, מגדירים אותו כ-true, אחרת מגדירים אותו כ-false. בוליאני
$flow.retry_num הגדרת המספר המקסימלי של ניסיונות חוזרים לקריאות לפונקציות Webhook של Maps Address Validation API מספר שלם

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

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

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

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

שם הפרמטר תיאור פורמט הפלט
address_collection_address הפרמטר הזה מחזיר את אובייקט הכתובת אם הרכיב תיעד כתובת
{
"admin-area": string,
"city": string,
"country": string,
"island": string,
"route": string,
"zip-code": string,
"street-number": string
}
address_collection_status הפרמטר הזה מחזיר את הסטטוס של הכתובת שנאספה. הערך שמוחזר הוא אחד מהבאים:

VALID_ADDRESS: הכתובת נאספה ואומתה על ידי Address Validation API.

INVALID_ADDRESS: הכתובת אושרה על ידי משתמש הקצה, אבל רכיב אחד או יותר לא אומתו או סומנו כ-UNCONFIRMED_BUT_PLAUSIBLE על ידי Address Validation API.

MAPS_API_ERROR: הכתובת לא נאספה בגלל שגיאה ב-Address Validation API.

COUNTRY_NOT_SUPPORTED: הכתובת לא נאספה כי Address Validation API לא תומך באזור הזה.

NO_USER_CONFIRMATION: הכתובת לא אושרה כי משתמש הקצה לא אישר כתובת.
string

הגדרה בסיסית

כדי להגדיר את הרכיב המוכן מראש:

  1. מייבאים את הרכיב שהוגדר מראש.
  2. מפעילים את Address Validation API.
  3. מגדירים את ה-webhook הגמיש שסופק עם מפתח Maps API, כמו שמוסבר בקטע "הגדרת ה-webhook" בהמשך.

הגדרת תגובה לפעולה מאתר אחר (webhook)

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

תגובת אימות כתובת לפעולה באתר (webhook)

ה-webhook הזה מבצע את הפעולות הבאות:

  1. מעבד את הפרמטרים שנקלטו ב-Dialogflow CX, יוצר בקשה ומאמת את הכתובת באמצעות Address Validation API.
  2. מחלץ רכיבי כתובת מאומתים, לא מאומתים, חסרים ומשוערים מהתגובה של Google Address Validation API.

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

  1. כדי לאחזר את מפתח ה-API: נכנסים אל מסוף Google Cloud Platform > ממשקי API ושירותים > פרטי כניסה, בוחרים את מפתח Maps API ומעתיקים את השדה "מפתח API".

כדי להגדיר את ה-webhook:

  1. פותחים את מסוף Dialogflow CX.
  2. בוחרים את הפרויקט ב-Google Cloud.
  3. בוחרים את הסוכן.
  4. לוחצים על הכרטיסייה ניהול.
  5. לוחצים על Webhooks.
  6. בוחרים את ה-webhook‏ prebuilt_components_address_collection:address_validation.
  7. מחליפים את כתובת ה-URL בשדה Webhook URL ב-Dialogflow CX בכתובת ה-URL שכוללת את מפתח Maps API: ‏https://addressvalidation.googleapis.com/v1:validateAddress?key=MAPS_API_KEY
  8. בהגדרות Authentication, מגדירים את שם המשתמש כ-key ואת הסיסמה כמפתח Maps API.
  9. לוחצים על Save.

הושלמה

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