Tài liệu này mô tả quy trình xây dựng một 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 các cách sau đây mà hệ thống của bạn sẽ xử lý địa chỉ:
Hãy 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 đề đáng kể.
Hãy cân nhắc việc nhắc khách hàng thêm số lượng đơn vị.
Thêm địa điểm phụ – địa chỉ có thể thiếu một
địa điểm phụ.
Hãy cân nhắ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ỏ.
Bạn có thể cân nhắc sử dụng địa chỉ này mà không cần nhắc thêm, tuy nhiên bạn phải 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 địa chỉ được cung cấp. Mã giả lập sau đây minh hoạ một luồng 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 trường hợp 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.
Quy trình công việc có thể xảy ra
Bảng dưới đây tóm tắt các quy trình công việc 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 | ||
---|---|---|
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ể sử 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 xây dựng 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à cách bạn muốn nhắc khách hàng. 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, các tín hiệu bổ sung được mô tả bên dưới 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 phản hồi các tín hiệu từ API Xác thực địa chỉ, các đề xuất sau đây có thể giúp bạn xây dựng 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 cách triển khai của bạn phải phù hợp với mô hình kinh doanh của bạn.
Hướng dẫn | Chi tiết | |
---|---|---|
Mức độ rủi ro |
Hãy cân nhắc mức độ dung sai cho trường hợp của bạn khi cân bằng giữa việc nhắc sửa lỗi và chấp nhận địa chỉ đã 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ỉ chính xác hơn, bạn có thể nhắc người dùng. Để biết ví dụ có thể thuộc một trong hai danh mục này, hãy xem phần 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, có thể khách hàng đã nhập một địa chỉ không có trong hệ thống, chẳng hạn như đối với công trình xây dựng mới. |
Ví dụ về quy trình thanh toán tránh rủi ro
Nếu muốn giảm nguy cơ giao hàng không thành cô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ì sử dụng logic được mô tả trong phần Mục đích của khoá, bạn có thể sử 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 ít phiền hà
Nếu muốn giảm sự phiền hà 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ì sử dụng logic được mô tả trong phần Mục đích của khoá, bạn có thể sử 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 hàng. 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 sẽ phát hành lại quy trình làm việc để nhận địa chỉ giao hàng.
Ngoài verdict.possibleNextAction
, bạn có thể sử dụng các trường sau đây của phản hồi API Xác thực địa chỉ để 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ỉ đó bị thiếu thông tin chính.
|
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.
|
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 chi tiết về uspsData.dpvConfirmation , hãy xem phần Xử lý địa chỉ ở Hoa Kỳ.
|
Ví dụ về cách khắc phục đị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 thêm số căn hộ khi phản hồi của API Xác thực địa chỉ cho biết địa chỉ có thể thiếu cơ sở phụ. Trong những trường hợp này, địa chỉ của tòa nhà có thể là địa chỉ hợp lệ, nhưng bạn muốn chắc chắn hơn rằng địa chỉ thu được là địa chỉ mà khách hàng muốn.
Bạn có thể sử dụng các trường sau của phản hồi API Xác thực địa chỉ ngoài verdict.possibleNextAction
để xác định xem một địa chỉ có khả năng thiếu cơ sở phụ hay không.
Missing subpremise component
|
Khi trường address.missingComponentTypes chứa giá trị subpremise , điều đó cho biết đị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 USPS. Tuy nhiên, địa chỉ cũng phải chứa một số phụ. Trường này chỉ dành cho địa chỉ ở Hoa Kỳ. Để biết thêm chi tiết về uspsData.dpvConfirmation , hãy xem phần Xử lý địa chỉ ở Hoa Kỳ.
|
Ví dụ về cách thêm địa chỉ cơ sở phụ
Tín hiệu XÁC NHẬN
Bạn xác nhận một địa chỉ khi kết quả cho biết rằng API Xác thực địa chỉ đã suy luận hoặc thực hiện thay đổi đối với các thành phần địa chỉ để tạo một địa chỉ đã xác thực. Trong những trường hợp này, bạn có một địa chỉ giao hàng, nhưng muốn chắc chắn hơn rằng địa chỉ nhận hàng là địa chỉ mà khách hàng dự định.
Ngoài verdict.possibleNextAction
, bạn có thể sử dụng các trường sau đây của phản hồi API Xác thực địa chỉ để xác định xem đị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 cho một địa chỉ là ROUTE hoặc PREMISE_PROXIMITY , địa chỉ đó có thể không chính xác.
|
---|---|
Dữ liệu suy luận | Khi trường hasInferredComponents là true , bạn biết rằng API đã điền thông tin mà API thu thập được từ các thành phần địa chỉ khác.
|
Dữ liệu đã thay thế | Khi trường hasReplacedComponents là true , API sẽ thay thế dữ liệu đã nhập bằng dữ liệu mà API cho là hợp lệ để tạo địa chỉ.
|
Sửa lỗi chính tả | Khi trường hasSpellCorrectedComponents là true , API sẽ sửa chính tả của một số thành phần bị sai chính tả.
|
Tín hiệu ACCEPT
Bạn có thể chấp nhận một địa chỉ khi phản hồi API API Xác thực địa chỉ cung cấp mức độ tin cậy cao rằng địa chỉ đó có thể giao hàng và có thể được sử dụng mà không cần khách hàng tương tác thêm trong quy trình tiếp theo.
Bạn có thể sử dụng các trường sau đây của phản hồi API Xác thực địa chỉ ngoài verdict.possibleNextAction
để 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ể giao hàng.
|
---|---|
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 kết quả đượ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 được thay thế.
|
Không có lỗi chính tả | Khi trường hasSpellCorrectedComponents là false , bạn biết rằng không có nội dung sửa lỗi chính tả nào được thực hiện.
|
Xác nhận DPV của USPS | Khi uspsData.dpvConfirmation là Y , điều đó có nghĩa 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