瞭解基本地址驗證回應

Address Validation API 會提供 回應主體,做為包含兩個頂層屬性的 JSON 物件:

{
  "result": {
    // Validation verdict.
    "verdict": {},
    // Address details determined by the API.
    "address": {},
    // The geocode generated for the input address.
    "geocode": {},
    // Information indicating if the address is a business, residence, etc.
    "metadata": {},
    // Information about the address from the US Postal Service
    // ("US" and "PR" addresses only).
    "uspsData": {},
  },
  // A unique identifier generated for every request to the API.
  "responseId": "ID"
}

本文將著重於 result 物件。如要瞭解 responseID,請參閱「處理更新的地址」。

verdict 屬性

verdict 屬性會匯總地址驗證結果,應在建立地址檢查邏輯時,先評估這項屬性。這個屬性可以傳回各種欄位,具體取決於輸出地址的品質。例如,以下是良好品質地址的 verdict 屬性,可針對這項特定要求傳回 4 個欄位:

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

以下各節會概述 verdict 屬性中的所有欄位。

請參閱參考指南中的「判定結果」Verdict

地址的精細程度

地址精細度是指用於判斷地址或地理編碼特定性的細節程度。validationGranularity 回應中的位址專屬性是判斷位址是否可送達的重要信號。

verdict 資源會傳回下列精細信號:

  • inputGranularity:說明從傳送至 Address Validation API 的地址擷取的詳細程度。要求中的地址詳細程度會影響驗證回應中的地址詳細程度。舉例來說,如果位址的 inputGranularity 低於 PREMISE,通常不會導致 validationGranularityPREMISE 的等級。
  • validationGranularity:Address Validation API 可完整驗證地址的精細程度。在大多數情況下,如果精細度為 PREMISESUB_PREMISE,就表示可能可送達的品質地址。
  • geocodeGranularity:說明與地址相關聯的地理編碼的詳細程度。舉例來說,Google 記錄可能會顯示公寓號碼,但無法指出該公寓在大型公寓大廈中的確切位置。在這種情況下,validationGranularitySUB_PREMISE,但 geocodeGranularityisPREMISE`。
請參閱參考指南中的「精細度」

地址是否完整

判定結果會傳回 addressComplete 屬性,做為高品質地址的信號,具體來說,這表示該地址沒有缺少、未解析或非預期的元件:

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

如果地址缺少、未解析或有意料之外的元件,則會將欄位設為 false

請參閱參考指南中的「Verdict」和「地址」下方的 addressComplete

地址品質

有許多可能的欄位會指出地址元件的問題,或對地址元件進行調整,例如推測或缺少地址元件。舉例來說,下列 verdict 屬性表示地址含有未確認的元件,且缺少 addressComplete 欄位:

"verdict": {
    "inputGranularity": "PREMISE",
    "validationGranularity": "OTHER",
    "geocodeGranularity": "OTHER",
    "hasUnconfirmedComponents": true,
    "hasInferredComponents": true
}
請參閱參考指南中的「判定結果」Verdict

addressaddressComponent 屬性

address 屬性會為要求中提供的已處理地址提供格式,以及地址的元件層級摘要,包括地址的拼寫錯誤部分、已取代不正確部分,以及推斷缺少的部分。

請參閱參考指南中的 Address

addressComponent 屬性是 address 的子元件,可提供 Address Validation API 已處理的地址元素或元件的詳細清單。API 會根據名稱、類型和確認層級,識別每個元件欄位提供的內容。

請參閱參考指南中的 addressComponent

geocode 屬性

geocode 屬性會指出與輸入地址相關聯的地理編碼位置。這個屬性提供位置本身的詳細資料,例如地點 ID。

請參閱參考指南中的 Geocode

metadata 屬性

這個屬性可能不會為 Address Validation API 處理的每個地址填入值,但會指出地址的類型是住宅、商家或郵政信箱。

請參閱 Address Validation API 涵蓋範圍Address metadata 的參考資料。

uspsData 屬性

這個屬性提供美國郵遞地址的實用資訊。不過,並非每個由服務驗證的地址都能完整填入這些資訊。因此,您不應將此屬性視為驗證地址的唯一方式,而是應一併檢查 verdictaddress

請參閱「處理美國地址」和 UspsData 的參考資料。