確認地址 - 範例

本文件說明在許多實際情況下,Address Validation API 會針對需要系統「確認」行為的地址提供回應信號。如需背景資訊,請參閱「建構驗證邏輯」一文中的「工作流程總覽」。

常見例子:確認

以下範例說明有相似街道名稱的都會區。假設使用者打算輸入「美國華盛頓州柯克蘭的 Google 建築物 D」的地址,不過,��城市不是「Kirkland」,而是意外進入「Seattle」

已輸入地址 區域
Building D, 451 7th Avenue South, Seattle, WA 98033, USA 美國

對已取代資料的判定結果

下例強調回應中的重要信號。

{
  "inputGranularity": "SUB_PREMISE",
  "validationGranularity": "PREMISE_PROXIMITY",
  "geocodeGranularity": "PREMISE_PROXIMITY",
  "addressComplete": true,
  "hasUnconfirmedComponents": true
  "hasReplacedComponents": true
}

PREMISE_PROXIMITY 表示建築物層級地址的「近似」,但細節不像 SUB_PREMISE,也就是輸入的精細程度。回應同時包含未確認與取代的元件,因此組合提示會歸入 confirm 類別。

查詢地址元件時,可以看到以下有疑慮的部分:

{
  "componentName": {
    "text": "451",
  },
  "componentType": "street_number",
  "confirmationLevel": "UNCONFIRMED_BUT_PLAUSIBLE",
}
...
{
  "componentName": {
    "text": "98104",
  },
  "componentType": "postal_code",
  "confirmationLevel": "CONFIRMED",
  "replaced": true
}
...
{
  "componentName": {
    "text": "Building D",
    "language_code": "en"
  },
  "componentType": "subpremise",
  "confirmationLevel": "UNCONFIRMED_BUT_PLAUSIBLE",
}
.......

    "unconfirmedComponentTypes": [
      "street_number",
      "subpremise"
    ]

在這個案例中,Address Validation API 會找出與「Seattle」中所提供地址的近似值,並取代郵遞區號 (即較高層級的元件),以解析為 Seattle 地址。這或許是一種有效的替換方法,但除了元件未經確認,也確保使用者打算輸入西雅圖的地址,而不是科克蘭等其他資訊。

邊緣情況範例:確認

以下範例說明下列極端情況類型:

  • ARE 確認的輕微推論。Address Validation API 會推論國家/地區、郵遞區號或狀態,但所有其他項目均系統會���供且已確認。結合精細程度與確認等級的組合,有助於進行細微推論,不需要確認動作。
  • 未確認非預期的地址元件。未經確認的地址元件會增加地址風險等級。可能需要確認。
  • 未預期的地址元件,已完成確認。並非絕對需要此元件才能提供正確的地址,而且 Address Validation API 會將其從輸出內容中移除。格式問題通常不能確認,

ARE 確認的輕微推論

與更精細層級的確認資料結合時,如果輸入中缺少下列任一類型的元件,API 仍可進行正確的推論:

  • 城市
  • 狀態
  • 郵遞區號
  • 國家/地區

舉例來說,客戶提供有效的街道地址,可用來宣傳麻薩諸塞州春田市的麥當勞餐廳,但忘記輸入城市並提供郵遞區號,且不含 4 位數的副檔名。

已輸入地址 區域
1402 Allen St, MA 01118, USA 美國

判定遺漏城市

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

Address Validation API 會推論較高層級的元件來產生可交付的位址,這樣您對系統資料的正確性就越有信心。這是因為代表較大地理區域的推論元件會更容易配對到更精細的確認地址元件。即使在城市名稱重複的國家/地區 (例如美國的 Springfield),其他組件與其合併,也能提供不重複的地址。

以上面的範例來說,掃描所有地址元件時,顯示每個元件皆已確認,也就是說,與 Address Validation API 儲存的資料相符,服務也會推論兩個較高層級的元件。

{
  "componentName": {
    "text": "Springfield",
    "languageCode": "en"
  },
  "componentType": "locality",
  "confirmationLevel": "CONFIRMED",
  "inferred": true
},
{
  "componentName": {
    "text": "1806"
  },
  "componentType": "postal_code_suffix",
  "confirmationLevel": "CONFIRMED",
  "inferred": true
}

未確認非預期的地址元件

這個情境說明瞭檢查元件「未」確認的重要性。如果地址元件未預期,Address Validation API 會將此元件從輸出內容中移除。在這類情況下,您可以根據風險等級和信賴水準,接受或向客戶重新確認地址。

舉例來說,地址可能來自當地客戶經常輸入無害資訊的區域,在此情況下,您應該接受該地址。然而,在某些情況下,未經確認的元件可能不是客戶想要的。

已輸入地址 區域
1 Rue Grenache, la caritat 2, 34630 Saint-Thibéry 法國

未確認對非預期地址元件的判定結果

{
  "inputGranularity": "PREMISE",
  "validationGranularity": "PREMISE",
  "geocodeGranularity": "PREMISE",
  "unconfirmedComponents": true
}

除了含有未確認元件的判定結果之外,Address Validation API 也會傳回下列格式化地址:

"formattedAddress": "1 Rue Grenache, 34630 Saint-Thibéry, France",

針對未確認元件的掃描作業顯示,API 已從傳回的地址中移除「la caritat 2」

{
  "componentName": {
    "text": "la caritat 2",
    "languageCode": "fr"
  },
  "componentType": "sublocality_level_1",
  "confirmationLevel": "UNCONFIRMED_BUT_PLAUSIBLE",
  "unexpected": true
}

未預期的地址元件,已確認

這個範例說明如何在提供的地址中加入英國郡,這是常見的做法。不過,這並不一定是英國郵政主管機關要求的要求,因此基本上應予以忽略。請參閱 postoffice.co.uk如何處理英國和國際郵件

因此,如果客戶在英國地址提供縣市,服務會將此視為非預期的輸入內容。

已輸入地址 區域
33 Dunalley St, Cheltenham, Gloucestershire, GL50 4AP 英國

確認已確認非預期地址元件的判定結果

{
   "inputGranularity": "PREMISE",
   "validationGranularity": "PREMISE",
   "geocodeGranularity": "PREMISE"
}

這裡的 address_complete 評估為 false,分析地址元件時,畫面上會顯示非預期的標記。

{
  "componentName": {
    "text": "Gloucestershire",
    "languageCode": "en"
  },
  "componentType": "administrative_area_level_2",
  "confirmationLevel": "CONFIRMED",
  "unexpected": true
}

雖然格洛斯特郡是輸入地址的正確郡,但地址本身格式有誤。提醒您,Address Validation API 也會評估資訊,以便採用適當的格式。