本文件將說明美國的地址驗證程序:
- 在工作流程中使用 USPS 資料
- USPS 提貨點驗證欄位 (dpv)
- 安全性訊息
工作流程中的 USPS 資料
驗證美國境內的地址時,Address Validation API 服務也可以填入回報中的 uspsData 部分。
由於這個物件不一定會填入,因此您不應將這個屬性視為驗證地址的唯一方式,而是應將判定結果和地址元件納入系統。
USPS 送達地點驗證 (DPV)
dpvConfirmation
欄位是 uspsData
回應的一部分,會傳回單一字元,讓您瞭解 USPS 是否可以將包裹送到指定地址。
您可以使用這個欄位來判斷下列事項:
- 地址是否有效。
- 地址缺少子門牌號碼。
- 如果 USPS 資料系統中沒有子門牌號碼。
服務會傳回四個 dpvConfirmation
值之一,或根本不傳回 dpvConfirmation
值。下表列出邏輯可針對 5 種可能結果採用的可能行為。如要進一步瞭解這項邏輯,請參閱「建立驗證邏輯」一文中的「工作流程總覽」。
值 |
行為 |
說明 |
---|---|---|
N 或空白 |
修正地址 |
地址未通過 DPV 確認。 這表示 USPS 無法辨識輸入的街道 (路線) 中存在的房屋號碼,因此可能無法在該處送達。 |
D |
新增子門牌 |
地址僅針對主要電話號碼進行 DPV 確認,且缺少次要電話號碼資訊。 |
S |
確認地址 |
地址僅針對主要號碼進行 DPV 確認,次要號碼資訊雖然存在,但未經確認。 這表示輸入的門牌號碼位於輸入的路線上,但根據 USPS 的說法,所提供的子門牌並未位於該建築物內。 |
是 |
接受地址 |
地址已通過 DPV 確認,且有主要和任何次要號碼。 這表示 USPS 可以完全送達該地址,包括子門牌號碼 (如有)。 |
本節的其餘部分將討論使用 DPV 代碼的實際情境。
DPV N 範例 - 修正地址
這個範例使用不存在的街道號碼,但地址本身是有效的。
- 輸入的地址:12 Amphitheatre Parkway, Mountain View, CA, 94043
- 地區:美國
dpvConfirmation
欄位會傳回:N
這表示該路線上沒有這個門牌號碼,信號非常強烈。如同其他有問題的地址,您的系統應會提示使用者進行修正。
DPV D 範例 - 新增子門牌
這個範例使用 Google 位於紐約的辦公室,但未包含子區域 (這是地址的必要部分)。您可以使用示範中的地址,不含子區域資訊,即可查看這項功能。
- 輸入的地址:111 8th Avenue, New York, NY, 10011
- 地區:美國
dpvConfirmation
欄位會傳回:D
這表示輸入內容中缺少子門牌。如要取得 Y 的 DPV,輸入內容中必須包含有效的子前提條件。舉例來說,您可以加入有效的子門牌 FL 4 (4 樓),取得 dpvConfirmation
值 Y。
DPV S 範例 - 確認地址
本範例使用建築物中不存在的子區號碼:
- 輸入的地址:1600 Amphitheatre Parkway, Suite 101, Mountain View, CA, 94043
- 地區:美國
dpvConfirmation
欄位會傳回:S
這表示雖然 1600 Amphitheatre Parkway 是有效的地址,但子門牌 Suite 101 並非有效的地址部分。建議您與使用者確認這項資訊,並提供修正機會。
DPV Y 範例 - 接受地址
本範例使用位於加州山景城的 Googleplex 地址做為已知有效的地址。
- 輸入的地址:1600 Amphitheatre Parkway, Mountain View, CA, 94043
- 地區:美國
dpvConfirmation
欄位會傳回:Y
這個地址可由 USPS 完全送達。這樣一來,您就能非常有信心地相信 API 傳回的地址品質良好,並且可以按照提供的方式使用。如往,決定是否要提示客戶確認時,請考量風險程度。
注意:DPV 不會指出 Address Validation API 是否對輸入內容進行任何變更,例如拼字修正。
美國地址的安全性訊息
本節將說明 USPS 資料中針對人為建立的地址提供的安全性標記。這項安全措施旨在防止有人刻意建立地址清單,方法是偵測提交的地址是否似乎是人為建構,而非合法取得。這種情況應該極少發生。
當 USPS 識別出人為建立的地址時,回應的 uspsData 屬性 errorMessage
欄位會包含描述問題的錯誤訊息。例如:
AMS API processing was terminated due to the detection of what is determined to
be an artificially created address. No address beyond this point has been
validated and/or processed. If you believe this address was identified in error,
please contact your Vendor.