במאמר הזה מתוארים כמה תרחישים מהעולם האמיתי שבהם Address Validation API מספק אותות תגובה שמצדיקים התנהגות תיקון מהמערכת שלכם. הדוגמאות כאן הן להמחשה בלבד, והרשימה לא ממצה. למידע נוסף, ראו סקירה כללית על תהליך העבודה בקטע בניית לוגיקת האימות.
דוגמאות נפוצות: תיקון
בקטע הזה מתוארות דוגמאות נפוצות שבהן ה-Address Validation API מספק אותות תגובה שמצביעים על מידע באיכות נמוכה יותר לגבי הכתובת.
חסרים עיר ומיקוד
בדוגמה הזו מוצגת רשומה שכוללת רק את הכתובת, בלי עיר או מיקוד.
| הכתובת שהוזנה | אזור |
|---|---|
| 21 45 רחוב 40 | ארה"ב |
החלטה לגבי עיר ומיקוד חסרים
בדוגמה הבאה מודגשים האותות החשובים מהתגובה.
{
"inputGranularity": "PREMISE",
"validationGranularity": "OTHER",
"geocodeGranularity": "OTHER",
"hasUnconfirmedComponents": true
}
האותות האלה מצביעים על כתובת שלא ניתן לשלוח אליה, אז אתם יכולים לשלוח שאילתה ל-addressComponents כדי לקבל מידע נוסף:
{
"componentName": {
"text": "21",
"languageCode": "en"
},
"componentType": "street_number",
"confirmationLevel": "UNCONFIRMED_BUT_PLAUSIBLE"
},
{
"componentName": {
"text": "45 40th street",
"languageCode": "en"
},
"componentType": "route",
"confirmationLevel": "UNCONFIRMED_BUT_PLAUSIBLE"
},
{
"componentName": {
"text": "United States",
"languageCode": "en"
},
"componentType": "country",
"confirmationLevel": "CONFIRMED"
}
Address Validation API מחזיר רק את המדינה (ארצות הברית) בתור CONFIRMED.
היא מחזירה את כל שאר רכיבי הכתובת בתור UNCONFIRMED_BUT_PLAUSIBLE, עם כמה השמטות חשובות של נתונים, כמו יישוב ומיקוד.
חסר מספר בית
בדוגמה הזו חסר מספר בית.
| הכתובת שהוזנה | אזור |
|---|---|
| Buckingham Palace Road, SW1W 9TQ London | בריטניה |
החלטה לגבי מספר רחוב חסר
{
"inputGranularity": "PREMISE_PROXIMITY",
"validationGranularity": "ROUTE",
"geocodeGranularity": "ROUTE"
}
הערך של validationGranularity הוא ROUTE, מה שמצביע על התאמה לרחוב, אבל אין מספיק מידע כדי להגיע למקום. בנוסף, המאפיין addressComplete חסר בתוצאה, ולכן הוא false. שאילתה נוספת של האובייקט address חושפת סוג רכיב חסר:
"missingComponentTypes": [
"street_number"
]
דוגמאות למקרי קצה: תיקון
במצבים מסוימים, ההחלטה אם לתקן, לאשר או לקבל כתובת תלויה בתרחיש העסקי הספציפי שלכם. הדוגמאות הבאות ממחישות תרחישים שלא בהכרח נכללים בקטגוריית תיקון.
מספר רחוב לא מאומת
בתרחיש הזה, ה-Address Validation API לא יכול לאשר את מספר הרחוב שצוין, אבל הוא מציין שהכתובת מלאה.
| הכתובת שהוזנה | אזור |
|---|---|
| 84 Buckingham Palace Road, SW1W 9TQ, London | בריטניה |
החלטה לגבי מספר רחוב שלא אושר
בדוגמה הבאה מודגשים האותות החשובים.
{
"inputGranularity": "PREMISE",
"validationGranularity": "PREMISE_PROXIMITY",
"geocodeGranularity": "PREMISE_PROXIMITY",
"addressComplete" : true,
"hasUnconfirmedComponents": true
}
כדאי לבדוק את השילוב של רמת פירוט של אימות רק לקירוב ברמת המבנה, יחד עם רכיבים לא מאושרים. שאילתה של המאפיין addressComponents מציגה את ה-componentType הבא שלא אושר:
{
"componentName": {
"text": "84",
"languageCode": "en"
},
"componentType": "street_number",
"confirmationLevel": "UNCONFIRMED_BUT_PLAUSIBLE"
}
כאן, הערך של confirmation_level של street_number מוגדר ל-UNCONFIRMED_BUT_PLAUSIBLE. הערך Unconfirmed מציין שהשירות לא יכול להתאים את מספר הרחוב 84 בקבוצת הנתונים שלו, והערך plausible מציין שנתוני הרכיב עדיין יכולים להיות תקינים.
חסר מספר דירה או משרד
התרחיש הזה מתאר כתובת שחסר בה רק מספר דירה או מחלקה. אחרת, ה-Address Validation API יכול לאמת את הכתובת באופן מלא. כמו בכל מקרה שבו חסר רכיב בכתובת, הערך של addressComplete הוא false ולכן הוא לא מופיע בבדיקה ידנית של התוצאה.
לדוגמה, נניח שלקוח מזין כתובת חוקית של משרד מעריך השווי של העיר סן פרנסיסקו, אבל לא מציין את מספר החדר בקלט.
| הכתובת שהוזנה | אזור |
|---|---|
| 1 Doctor Carlton B Goodlett Place, San Francisco, CA 94102 | ארה"ב |
פסק דין לגבי הנחת משנה חסרה
בדוגמה הזו, המאפיין addressComplete לא מוצג בתוצאה, ולכן הערך הוא false. לכן, אתם יודעים שלפחות רכיב אחד של הכתובת לא צפוי, לא פתור או חסר.
{
"inputGranularity": "PREMISE",
"validationGranularity": "PREMISE",
"geocodeGranularity": "PREMISE",
"hasInferredComponents": true
}
שאילתת address חושפת את הפרטים הבאים:
"missingComponentTypes": [
"subpremise"
]
בבדיקה מעמיקה יותר, נתוני USPS מספקים קוד dpvConfirmation של D, שגם מציין שחסר מספר דירה.