本文說明如何建構地址檢查系統,處理 Address Validation API 的各種回應。本指南說明如何建構邏輯,正確使用回應、調查 API 的其他信號,以及何時和如何提示客戶提供更多資訊。
一般來說,API 回應會決定系統應如何處理地址:
- 修正:地址品質不佳。 您應該提示使用者提供更多資訊。
- 確認:地址品質良好,但與輸入的地址不同。您可以提示使用者確認。
- 接受:地址品質良好。您可以接受系統提供的地址。
金鑰用途
本文將協助您修改系統,以最佳方式分析 API 回應,並決定要對提供的地址採取哪些後續行動。以下虛擬程式碼說明可能的流程。
if (the API response indicates significant problems in the address)
FIX - prompt the user to fix the address
else if (the API response indicates less significant problems in the address)
CONFIRM - confirm with the user that the address is correct
else
ACCEPT - continue with the address returned by the API.
確切邏輯取決於您的情況,詳情請參閱導入指南。您也可以使用擴充元件程式庫中,這項邏輯的開放原始碼實作。
工作流程總覽
下表摘要說明系統的兩項動作:
- 根據修正、確認、接受行為使用的工作流程。
- 首先要檢查的回應信號。這裡所述的信號來自
verdict屬性,並非唯一需要檢查的信號,但可做為地址品質的初步指標。每種行為類型都對應到本文中的一個章節,說明您可能需要調查的其他信號。
| 系統行為 | |||
|---|---|---|---|
| 修正地址 |
|
||
| 確認地址 |
|
||
| 接受地址 |
Address Validation API 回應指出地址品質極佳。
|
||
實作指南
設計系統如何回應地址驗證信號時,下列建議可協助您建構更有效的回應模型。不過,這些只是建議,請務必根據您的商業模式進行導入。
| 指引 | 詳細資料 | |
|---|---|---|
| 風險等級 |
在提示更正和接受輸入的地址之間取得平衡時,請考量您情況的容忍度。 |
Address Validation API 會傳回各種信號,您可以結合風險等級,最佳化驗證程序。 舉例來說,如果地址的門牌號碼未經確認,您仍可接受。另一方面,如果業務營運需要更精確的地址,則可提示使用者。如需可能屬於任一類別的範例,請參閱「接受地址 - 範例」中的「非美國未確認門牌號碼」。 |
| 接受地址 |
如果客戶未回應提示,建議您讓系統接受原始輸入內容。 |
在這種情況下,顧客可能輸入了系統中沒有的地址,例如新建築物的地址。 |
修正地址
如果結果明確指出地址無法送達,請修正地址。接著,系統會提示顧客提供必要資訊,然後重新發出工作流程,取得可送達的地址。
修正信號
Address Validation API 提供多種信號,可讓您瞭解地址是否需要修正。
1. 驗證精細程度和缺少的元件
以下兩項信號最能指出地址有問題:
- 只要
validationGranularity欄位為OTHER,系統就應調查地址元件信號,進一步瞭解錯誤發生的位置及修正方式。 - 每當後處理的
address物件傳回missingComponentTypes欄位時,系統應檢查該元件。缺少這些資訊也會導致地址不完整,無法投遞。
2. 其他指標
Address Validation API 也提供其他信號,協助診斷特定問題:
| 可疑元件 | 如果元件的確認層級列舉為 UNCOMFIRMED_AND_SUSPICIOUS,則該元件可能不正確。 |
|---|---|
| 未解析的元件 | unresolvedToken 是輸入內容的一部分,但系統無法辨識為地址的有效部分。 |
3. 美國地址信號
某些欄位僅適用於美國地址,可提供實用信號,指出地址無法送達,應加以修正。如果地址需要修正,您應該會看到以下內容:
dpvConfirmation
|
N、D 或留空。
|
|---|
如要進一步瞭解 dpvConfirmation,請參閱「處理美國地址」。
確認地址
如果判定結果指出 Address Validation API 推論或變更地址元件,以產生經過驗證的地址,您就必須確認地址。在這種情況下,您有可送達的地址,但希望進一步確認產生的地址是客戶預期的地址。
為了向客戶提供正確的提示,您的邏輯會識別服務標記的元件,以判斷 API 套用至元件的動作或標記,例如 inferred、replaced 或 spellCorrected。請參閱參考資料中的 AddressComponent。
確認信號
Address Validation API 提供多種信號,可讓您瞭解是否應確認地址。
1. 驗證精細程度
ROUTE 以上的 validationGranularity 是可接受的,但 PREMISE 或 SUBPREMISE 可提供更強的送達率信號。
2. 其他指標
決定與客戶確認地址輸入內容時,判定結果也會提供下列資訊,協助判斷要調查哪些元件:
| 推論資料 | 如果
hasInferredComponents 欄位為 true,表示 API 填入的資訊是從其他地址元件收集而來。 |
|---|---|
| 已取代資料 | 如果
hasReplacedComponents 欄位為 true,API 會將輸入的資料替換為有效地址資料。 |
3. 美國地址信號
某些欄位僅適用於美國地址,表示邏輯應與客戶確認詳細資料。符合下列任一條件:
dpvConfirmation
|
S
如要進一步瞭解 |
|---|---|
| 地址回應 | 包含 missingComponentTypes 欄位,值為 subpremise。
|
接受地址
如果判定結果高度確信地址可送達,且可在後續流程中使用,不需進一步與客戶互動,您就會接受地址。
接受信號
Address Validation API 提供多種信號,可讓您瞭解是否應確認地址。
1. 驗證精細程度
validationGranularity 為 PREMISE 以上即可接受,但在某些情況下,ROUTE 仍表示地址可送達。
2. 其他指標
高品質地址的判定結果也應提供下列資訊:
- 不取代資料。在本例中為
hasReplacedComponents: FALSE。 - 沒有推論元件。在本例中為
hasInferredComponents: FALSE。
3. 美國地址信號
某些欄位僅適用於美國地址,表示該地址品質良好,可供寄送。如果美國地址可接受,您應該會看到以下內容:
dpvConfirmation
|
Y
如要進一步瞭解
|
|---|