Tài liệu này mô tả quy trình xây dựng hệ thống kiểm tra địa chỉ để xử lý nhiều phản hồi từ Address Validation API. Tài liệu này trình bày cách diễn giải phản hồi của API để xác định thời điểm và cách nhắc khách hàng cung cấp thêm thông tin.
Nhìn chung, phản hồi API xác định những cách sau đây mà hệ thống của bạn nên xử lý một địa chỉ:
Cân nhắc việc nhắc khách hàng cung cấp thêm thông tin.
Khắc phục – địa chỉ có thể chứa các vấn đề nghiêm trọng.
Cân nhắc việc nhắc khách hàng thêm số căn hộ.
Thêm địa điểm phụ – địa chỉ có thể thiếu địa điểm phụ.
Cân nhắc việc nhắc khách hàng xác nhận địa chỉ là chính xác.
Xác nhận – địa chỉ có thể có một số vấn đề nhỏ.
Cân nhắc sử dụng địa chỉ mà không cần lời nhắc thêm, bạn tự chịu rủi ro.
Chấp nhận – địa chỉ có thể không có vấn đề.
Mục đích chính
Tài liệu này giúp bạn sửa đổi hệ thống để phân tích phản hồi API một cách hiệu quả nhất và xác định các hành động tiếp theo cần thực hiện với các địa chỉ được cung cấp. Mã giả sau đây minh hoạ một quy trình có thể xảy ra.
if (verdict.possibleNextAction == FIX)
Prompt the user to fix the address.
else if (verdict.possibleNextAction == CONFIRM_ADD_SUBPREMISES)
Prompt the user to add a unit number.
else if (verdict.possibleNextAction == CONFIRM)
Confirm with the user that the address is correct.
else
Continue with the address returned by the API.
Logic chính xác phụ thuộc vào tình huống của bạn – hãy xem phần Tuỳ chỉnh logic xác thực để biết thêm thông tin chi tiết.
Ví dụ về quy trình công việc
Bảng dưới đây tóm tắt các quy trình làm việc mẫu mà bạn có thể triển khai để nhắc khách hàng dựa trên phản hồi của API.
Hành vi của hệ thống | ||
---|---|---|
Chỉnh sửa địa chỉ |
Phản hồi từ
|
|
Thêm cơ sở phụ |
Phản hồi từ
|
|
Xác nhận địa chỉ |
Phản hồi từ
|
|
Chấp nhận địa chỉ |
Phản hồi từ
|
Tuỳ chỉnh logic xác thực
Mặc dù có thể dùng kết quả từ trường verdict.possibleNextAction
để xác định cách hệ thống của bạn xử lý phản hồi API, nhưng bạn cũng có thể cân nhắc việc tạo logic tuỳ chỉnh, chẳng hạn như để xử lý các nhu cầu cụ thể của doanh nghiệp.
Mục đích của phần này là minh hoạ cách bạn có thể phát triển logic tuỳ chỉnh của riêng mình để diễn giải phản hồi API nhằm xác định xem bạn có muốn nhắc khách hàng hay không và nhắc như thế nào. Phần này trình bày các cấp độ rủi ro và các tín hiệu phản hồi API bổ sung cần cân nhắc để tuỳ chỉnh.
Tuy nhiên, ngay cả khi bạn chỉ dựa vào verdict.possibleNextAction
để quyết định các bước tiếp theo, thì những tín hiệu bổ sung được mô tả dưới đây vẫn có thể giúp bạn hiểu rõ thông tin chi tiết về các vấn đề tiềm ẩn liên quan đến địa chỉ.
Mức độ chấp nhận rủi ro
Khi thiết kế cách hệ thống của bạn phản hồi các tín hiệu từ Address Validation API, những đề xuất sau đây có thể giúp bạn xây dựng một mô hình phản hồi hiệu quả hơn. Tuy nhiên, đây chỉ là các đề xuất, vì vậy, hãy lưu ý rằng bạn nên triển khai theo mô hình kinh doanh của mình.
Hướng dẫn | Chi tiết | |
---|---|---|
Mức độ rủi ro |
Hãy cân nhắc mức độ chấp nhận cho trường hợp của bạn khi cân bằng giữa việc nhắc người dùng chỉnh sửa và chấp nhận địa chỉ như đã nhập. |
Address Validation API trả về nhiều tín hiệu mà bạn có thể kết hợp với mức độ rủi ro để tối ưu hoá quy trình xác thực. Ví dụ: nếu một địa chỉ có số nhà chưa được xác nhận, bạn vẫn có thể chấp nhận địa chỉ đó. Mặt khác, nếu hoạt động kinh doanh của bạn yêu cầu địa chỉ có độ chính xác cao hơn, bạn có thể nhắc người dùng. Để xem ví dụ có thể thuộc một trong hai danh mục, hãy xem Số nhà chưa xác nhận ở bên ngoài Hoa Kỳ trong phần Chấp nhận địa chỉ – ví dụ. |
Chấp nhận địa chỉ |
Bạn nên cho phép hệ thống chấp nhận mục nhập ban đầu nếu khách hàng không phản hồi lời nhắc. |
Trong những trường hợp này, khách hàng có thể đã nhập một địa chỉ không có trong hệ thống, chẳng hạn như địa chỉ của một công trình mới. |
Ví dụ về quy trình thanh toán không chấp nhận rủi ro
Nếu muốn giảm nguy cơ không giao được hàng, bạn có thể tuỳ chỉnh logic để nhắc khách hàng thường xuyên hơn. Ví dụ: thay vì dùng logic được mô tả trong phần Mục đích chính, bạn có thể dùng logic sau.
if (verdict.possibleNextAction == FIX or verdict.validationGranularity
== OTHER or verdict.validationGranularity == ROUTE)
Prompt customer to fix their address.
else if (verdict.possibleNextAction == CONFIRM_ADD_SUBPREMISES)
Prompt customer to add a unit number.
else if (verdict.possibleNextAction == CONFIRM or verdict.validationGranularity
== PREMISE_PROXIMITY or verdict.hasSpellCorrectedComponents or
verdict.hasReplacedComponents or verdict.hasInferredComponents)
Prompt customer to confirm their address.
else
Proceed with the returned address.
Ví dụ về quy trình thanh toán có ít bước
Nếu muốn giảm sự bất tiện trong quy trình thanh toán, bạn có thể tuỳ chỉnh logic để ít nhắc khách hàng hơn. Ví dụ: thay vì dùng logic được mô tả trong phần Mục đích chính, bạn có thể dùng logic sau.
if (verdict.possibleNextAction == FIX)
Prompt customer to fix their address.
else if (verdict.hasReplacedComponents)
Prompt customer to confirm their address.
else
Proceed with the returned address.
Tín hiệu FIX
Chỉnh sửa địa chỉ khi kết quả cho thấy rõ rằng địa chỉ đó có thể không giao được. Sau đó, hệ thống của bạn có thể nhắc khách hàng cung cấp thông tin cần thiết, sau đó bạn phát hành lại quy trình để nhận được địa chỉ giao hàng.
Ngoài verdict.possibleNextAction
, bạn có thể sử dụng các trường sau đây trong phản hồi của Address Validation API để xác định xem một địa chỉ có vấn đề lớn hay không và những vấn đề đó là gì.
Độ chi tiết của quy trình xác thực | Khi enum độ chi tiết xác thực cho một địa chỉ là OTHER , có thể địa chỉ đó không chính xác.
|
---|---|
Thiếu thành phần | Khi address.missingComponentTypes không trống, có thể địa chỉ đó thiếu thông tin quan trọng.
|
Thành phần đáng ngờ | Khi enum cấp độ xác nhận cho một thành phần là UNCONFIRMED_AND_SUSPICIOUS , có thể thành phần đó không chính xác.
|
Các thành phần chưa được phân giải | unresolvedToken là một phần của dữ liệu đầu vào không được nhận dạng là một phần hợp lệ của địa chỉ. |
Xác nhận DPV của USPS | Khi uspsData.dpvConfirmation là N hoặc trống, có thể địa chỉ có vấn đề. Trường này chỉ dành cho địa chỉ ở Hoa Kỳ. Để biết thêm thông tin về uspsData.dpvConfirmation , hãy xem bài viết Xử lý địa chỉ ở Hoa Kỳ.
|
Ví dụ về cách chỉnh sửa địa chỉ
Tín hiệu CONFIRM_ADD_SUBPREMISES (chỉ áp dụng cho địa chỉ ở Hoa Kỳ)
Bạn nhắc khách hàng xem lại địa chỉ và cân nhắc việc thêm số căn hộ khi phản hồi của Address Validation API cho biết địa chỉ có thể thiếu thông tin về cơ sở phụ. Trong những trường hợp này, địa chỉ của toà nhà có thể hợp lệ, nhưng bạn muốn tin tưởng hơn rằng địa chỉ nhận được là địa chỉ mà khách hàng muốn.
Ngoài verdict.possibleNextAction
, bạn có thể dùng các trường sau đây trong phản hồi của Address Validation API để xác định xem một địa chỉ có khả năng bị thiếu một địa điểm phụ hay không.
Missing subpremise component
|
Khi trường address.missingComponentTypes chứa giá trị subpremise , tức là địa chỉ bị thiếu số căn hộ.
|
---|---|
Xác nhận DPV của USPS | Khi uspsData.dpvConfirmation là S , điều đó có nghĩa là số chính của địa chỉ đã được so khớp với một địa chỉ trong cơ sở dữ liệu của USPS. Tuy nhiên, địa chỉ này cũng phải có số nhà phụ. Trường này chỉ dành cho địa chỉ ở Hoa Kỳ. Để biết thêm thông tin chi tiết về uspsData.dpvConfirmation , hãy xem bài viết Xử lý địa chỉ ở Hoa Kỳ.
|
Thêm ví dụ về địa chỉ của cơ sở phụ
Tín hiệu CONFIRM
Bạn xác nhận một địa chỉ khi kết quả cho biết Address Validation API đã suy luận hoặc thay đổi các thành phần địa chỉ để tạo ra một địa chỉ đã được xác thực. Trong những trường hợp này, bạn có một địa chỉ có thể gửi đến, nhưng muốn có độ tin cậy cao hơn rằng địa chỉ nhận được là địa chỉ mà khách hàng muốn.
Ngoài verdict.possibleNextAction
, bạn có thể sử dụng các trường sau đây trong phản hồi của Address Validation API để xác định xem một địa chỉ có vấn đề nhỏ hay không và những vấn đề đó là gì.
Độ chi tiết của quy trình xác thực | Khi validationGranularity của một địa chỉ là ROUTE hoặc PREMISE_PROXIMITY , địa chỉ đó có thể không chính xác.
|
---|---|
Dữ liệu được suy luận | Khi trường hasInferredComponents là true , bạn biết rằng API đã điền thông tin thu thập được từ các thành phần địa chỉ khác.
|
Dữ liệu đã được thay thế | Khi trường hasReplacedComponents là true , API đã thay thế dữ liệu đã nhập bằng dữ liệu mà API cho là hợp lệ đối với địa chỉ.
|
Sửa lỗi chính tả | Khi trường hasSpellCorrectedComponents là true , API đã sửa lỗi chính tả của một số thành phần bị viết sai.
|
Tín hiệu CHẤP NHẬN
Bạn có thể chấp nhận một địa chỉ khi phản hồi API của Address Validation API cung cấp mức độ tin cậy cao rằng địa chỉ đó có thể gửi được và có thể được sử dụng mà không cần thêm tương tác của khách hàng trong quy trình tiếp theo.
Ngoài verdict.possibleNextAction
, bạn có thể dùng các trường sau đây trong phản hồi của Address Validation API để xác định xem một địa chỉ có chất lượng chấp nhận được hay không.
Độ chi tiết của quy trình xác thực | validationGranularity của PREMISE thường được chấp nhận, mặc dù giá trị ROUTE vẫn có thể cho biết một địa chỉ có thể gửi được.
|
---|---|
Không có dữ liệu suy luận | Khi trường hasInferredComponents là false , bạn biết rằng không có thành phần nào trong đầu ra được suy luận.
|
Không có dữ liệu nào được thay thế | Khi trường hasReplacedComponents là false , bạn biết rằng không có dữ liệu đầu vào nào bị thay thế.
|
Không có lỗi chính tả nào | Khi trường hasSpellCorrectedComponents là false , bạn biết rằng không có lỗi chính tả nào được sửa.
|
Xác nhận DPV của USPS | Khi uspsData.dpvConfirmation là Y , tức là địa chỉ đã được so khớp với một địa chỉ trong cơ sở dữ liệu của USPS. Trường này chỉ dành cho địa chỉ ở Hoa Kỳ. Để biết thêm thông tin chi tiết về uspsData.dpvConfirmation , hãy xem phần Xử lý địa chỉ ở Hoa Kỳ.
|
Ví dụ về địa chỉ được chấp nhận