הרכיב המובנה לאיסוף כתובות אוסף כתובת ממשתמש הקצה, ומשתמש ב-Google Address Validation API כדי לאמת את הכתובות.
מגבלות
בנוסף למגבלות הנפוצות של רכיבים מוכנים מראש, לרכיב המוכן מראש הזה יש את המגבלות הבאות:
- הוא תומך רק בכתובות ממדינות שמפורטות בפרטים על הכיסוי של 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 (ה-API לאימות כתובות) ומשמשים את הרכיב לאיסוף ולאימות של כתובת מלאה:
- administrative_area_level_1
- ארכיפלג
- country
- רשות מוניציפאלית
- 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 | מספר שלם |
כדי להגדיר את פרמטרי הקלט של הרכיב הזה, מרחיבים את ההוראות.
- פותחים את מסוף Dialogflow CX.
- בוחרים את הפרויקט ב-Google Cloud.
- בוחרים את הסוכן.
- בוחרים בכרטיסייה Build (פיתוח).
- לוחצים על הרכיב המיובא בקטע Flows (תהליכי עבודה).
- בקטע דפים, לוחצים על דף הפתיחה.
- לוחצים על המסלול true בדף הפתיחה.
- בחלון Route (מסלול), עורכים את הערכים של Parameter Presets (הגדרות קבועות מראש של פרמטרים) לפי הצורך.
- לוחצים על Save.
פרמטרים של פלט
פרמטרים של פלט הם פרמטרים של סשן שיישארו פעילים אחרי היציאה מהרכיב. הפרמטרים האלה מכילים מידע חשוב שנאסף על ידי הרכיב. הרכיב המובנה הזה מספק ערכים לפרמטרים הבאים של הפלט:
| שם הפרמטר | תיאור | פורמט הפלט |
|---|---|---|
| address_collection_address | הפרמטר הזה מחזיר את אובייקט הכתובת אם הרכיב תיעד כתובת | { |
| 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 |
הגדרה בסיסית
כדי להגדיר את הרכיב המובנה הזה:
- מייבאים את הרכיב שנוצר מראש.
- מפעילים את Address Validation API.
- מגדירים את ה-webhook הגמיש שסופק עם מפתח Maps API. מידע נוסף מפורט בקטע 'הגדרת ה-webhook' בהמשך המאמר.
הגדרת webhook
כדי להשתמש ב-Address Validation API לאימות כתובות, צריך להגדיר את ה-webhook הגמיש שסופק עם פרטי הכניסה הנכונים.
תגובה לפעולה מאתר אחר (Webhook) של Address Validation
ה-webhook הזה מבצע את הפעולות הבאות:
- מעבד את הפרמטרים של Dialogflow CX, את הבקשה לטופס ומאמת את הכתובת באמצעות Address Validation API.
- מחלקת את רכיבי הכתובת המאומתים, הלא מאומתים, החסרים והמשוערים מתוך התגובה של Google Address Validation API.
כדי להגדיר את ה-webhook לרכיב הזה, צריך לעדכן את הגדרות ה-webhook עם מפתח ה-API של מפות Google.
- כדי לאחזר את מפתח ה-API: עוברים אל Google Cloud Platform Console > APIs & Services > Credentials, בוחרים את מפתח ה-API של מפות Google ומעתיקים את השדה API Key.
כדי להגדיר את ה-webhook:
- פותחים את מסוף Dialogflow CX.
- בוחרים את הפרויקט ב-Google Cloud.
- בוחרים את הסוכן.
- לוחצים על הכרטיסייה ניהול.
- לוחצים על Webhooks.
- בוחרים ב-webhook של prebuilt_components_address_collection:address_validation.
- מחליפים את כתובת ה-URL בשדה Webhook URL ב-Dialogflow CX בכתובת ה-URL שכוללת את מפתח ה-Maps API: https://addressvalidation.googleapis.com/v1:validateAddress?key=MAPS_API_KEY
- בהגדרות Authentication (אימות), מגדירים את שם המשתמש כ-
keyומגדירים את הסיסמה כמפתח Maps API. - לוחצים על Save.
הושלמה
הסוכן וה-webhook שלו אמורים להיות מוגדרים ומוכנים לבדיקה.