תיקון כתובת – דוגמאות

במסמך הזה מתוארים מספר תרחישים מהעולם האמיתי שבהם ה-Address Validation API מספק אותות תגובה שמחייבים התנהגות fix של המערכת. למידע נוסף, ראו סקירה כללית על תהליך העבודה במאמר בניית לוגיקת אימות.

דוגמאות נפוצות: תיקון

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

חסרים עיר ומיקוד

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

הכתובת הוזנה אזור
21 45 40th street ארה"ב

קביעה לגבי עיר ומיקוד חסרים

בדוגמה הבאה מודגשים האותות החשובים מהתגובה.

{
  "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, עם השמטות חשובות מהנתונים, כמו מיקום ומיקוד.

חסר מספר רחוב

בדוגמה הזו חסר מספר רחוב.

הכתובת הוזנה אזור
בקינגהאם פאלאס רואד, SW1W 9TQ לונדון בריטניה
קביעה לגבי מספר הרחוב חסר
{
    "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 במערך הנתונים, והמשמעות של הסטטוס pusible היא שנתוני הרכיבים עדיין יכולים להיות תקפים.

חסרה הנחת משנה

בתרחיש הזה מתוארת כתובת שחסרה בה רק נקודת משנה, כמו מספר דירה או מחלקה. בשאר המקרים, ה-Address Validation API יכול לאמת את הכתובת במלואה. כמו שקורה כשחסר רכיב כתובת, השדה addressComplete הוא false ולכן לא קיים בבדיקה ידנית של קביעה.

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

הכתובת הוזנה אזור
1 Docstor Carlton B Goodlett Place, San Francisco, CA 94102 ארה"ב

קביעה לגבי הנחת משנה חסרה

בדוגמה הזו, בתוצאה לא מוצג המאפיין addressComplete, ולכן הוא false. לכן, תוכלו לדעת שלפחות רכיב כתובת אחד הוא חסר, לא צפוי או לא פתור.

{
  "inputGranularity": "PREMISE",
  "validationGranularity": "PREMISE",
  "geocodeGranularity": "PREMISE",
  "hasInferredComponents": true

}

שאילתה address חושפת את הפרטים הבאים:

"missingComponentTypes": [
        "subpremise"
      ]

ביצענו בדיקה נוספת, ונתוני USPS מספקים קוד dpvConfirmation של D, שגם הוא מציין נקודת משנה חסרה.