Xây dựng logic xác thực

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 xây dựng logic để sử dụng chính xác phản hồi, điều tra các tín hiệu khác từ API, cũng 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ỉ:

  • Khắc phục – địa chỉ có chất lượng thấp. Bạn nên yêu cầu cung cấp thêm thông tin.
  • Xác nhận – địa chỉ có chất lượng cao nhưng có thay đổi so với địa chỉ đầu vào. Bạn có thể nhắc người dùng xác nhận.
  • Chấp nhận – địa chỉ có chất lượng cao. Bạn có thể chấp nhận địa chỉ được cung cấp.

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 (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.

Logic chính xác phụ thuộc vào trường hợp của bạn – xem phần Hướng dẫn triển khai để biết thêm thông tin chi tiết. Bạn cũng có thể sử dụng cách triển khai logic này theo nguồn mở của chúng tôi, nằm trong Thư viện thành phần mở rộng.

Tổng quan về quy trình công việc

Bảng dưới đây tóm tắt hai hành động cho hệ thống của bạn:

  1. Quy trình công việc cần sử dụng dựa trên hành vi khắc phục, xác nhận, chấp nhận.
  2. Tín hiệu đầu tiên cần kiểm tra từ phản hồi. Các tín hiệu được mô tả ở đây đến từ thuộc tính verdictkhông phải là tín hiệu duy nhất cần kiểm tra, nhưng cung cấp chỉ báo ban đầu về chất lượng địa chỉ. Mỗi loại hành vi tương ứng với một phần trong tài liệu này mô tả các tín hiệu khác mà bạn cũng có thể cần điều tra.
Hành vi của hệ thống
Chỉnh sửa địa chỉ

Phản hồi của verdict cho biết thông tin quan trọng còn thiếu cần được cung cấp. Địa chỉ do API xác thực địa chỉ trả về có thể không có chất lượng giao hàng được.

Luồng công việc

  1. Kiểm tra các thành phần địa chỉ nếu cần.
  2. Nhắc khách hàng khắc phục vấn đề về địa chỉ.
  3. Yêu cầu xác thực địa chỉ mới cập nhật.
  4. (Không bắt buộc) Gửi yêu cầu đến điểm cuối phản hồi cho API. Xem bài viết Xử lý địa chỉ đã cập nhật.
  5. Tiếp tục với địa chỉ.

Tín hiệu kết quả

Bạn có thể áp dụng bất kỳ trường hợp nào sau đây:

Xác nhận địa chỉ

Phản hồi từ verdict cho biết một địa chỉ có thể phân phối, nhưng đã thực hiện các thay đổi đối với dữ liệu đầu vào ban đầu: suy luận dữ liệu đã được sửa lỗi chính tả hoặc dữ liệu có thể xác nhận.

Luồng công việc

  1. Nội dung chỉnh sửa:
    1. Điều tra các thành phần địa chỉ nếu cần.
    2. Yêu cầu xác thực địa chỉ mới cập nhật.
    3. (Không bắt buộc) Gửi yêu cầu đến điểm cuối phản hồi cho API. Xem bài viết Xử lý địa chỉ đã cập nhật.
    4. Tiếp tục với địa chỉ.
  2. Không cần sửa đổi:
    1. (Không bắt buộc) Gửi yêu cầu đến điểm cuối phản hồi cho API. Xem bài viết Xử lý địa chỉ đã cập nhật.
    2. Tiếp tục với địa chỉ.

Tín hiệu kết quả

Tất cả những điều kiện sau đây đều được áp dụng:

  • validationGranularity chứa ROUTE trở lên. Xem các giá trị độ chi tiết.
  • addressCompletetrue.
  • Trường hasInferredComponentstrue HOẶC Trường hasReplacedComponentstrue.
Chấp nhận địa chỉ

Phản hồi của Address Validation API cho biết địa chỉ có chất lượng rất tốt.

Luồng công việc

Tiếp tục với địa chỉ trả lại hàng.

Tín hiệu kết quả

Tất cả những điều kiện sau đây đều được áp dụng:

Hướng dẫn triển khai

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ộ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 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.

API xác thực địa chỉ trả về nhiều tín hiệu mà bạn có thể kết hợp với mức độ rủi ro của mình nhằm 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 Địa chỉ được chấp nhận – 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ư địa chỉ của công trình mới xây.

Gửi ý kiến phản hồi

Khi phát hành lại yêu cầu xác thực địa chỉ, bạn cũng có thể gửi yêu cầu đến điểm cuối provideValidationFeedback.

Việc này giúp Google biết cách bạn xử lý câu trả lời cuối cùng. Xem bài viết Xử lý địa chỉ đã cập nhật.

Sửa địa chỉ

Sửa địa chỉ khi kết quả cho thấy rõ rằng địa chỉ đó 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 để lấy địa chỉ giao hàng.

Khắc phục tín hiệu

API xác thực địa chỉ cung cấp một số tín hiệu để cho bạn biết liệu có cần khắc phục một địa chỉ hay không.

1. Độ chi tiết của quy trình xác thực và các thành phần bị thiếu

Hai tín hiệu này cho biết rõ nhất về địa chỉ có vấn đề:

  • Bất cứ khi nào trường validationGranularityOTHER, hệ thống của bạn sẽ điều tra các tín hiệu thành phần địa chỉ để tìm hiểu thêm về vị trí xảy ra lỗi và cách khắc phục.
  • Bất cứ khi nào đối tượng address sau xử lý trả về một trường missingComponentTypes, hệ thống của bạn cần kiểm tra thành phần đó. Việc thiếu thành phần cũng khiến địa chỉ không đầy đủ và không giao được hàng.

2. Các tín hiệu khác

API Xác thực địa chỉ cũng cung cấp các tín hiệu khác để giúp chẩn đoán các vấn đề cụ thể:

Thành phần đáng ngờ Khi enum cấp độ xác nhận cho một thành phần là UNCOMFIRMED_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ỉ.

3. Tín hiệu địa chỉ ở Hoa Kỳ

Một số trường nhất định chỉ áp dụng cho các địa chỉ ở Hoa Kỳ cung cấp tín hiệu hữu ích cho biết địa chỉ đó không thể gửi được và cần được khắc phục. Đối với địa chỉ cần sửa, bạn sẽ thấy thông tin sau:

dpvConfirmation N, D hoặc trống.

Để biết thông tin chi tiết về dpvConfirmation, hãy xem bài viết Xử lý các địa chỉ ở Hoa Kỳ.

Ví dụ về cách khắc phục địa chỉ

Xác nhận địa chỉ

Bạn xác nhận một địa chỉ khi kết quả cho biết rằng Address Validation API đã suy luận hoặc thực hiện thay đổi đối vớ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ỉ 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.

Để cung cấp cho khách hàng lời nhắc chính xác, logic của bạn sẽ xác định các thành phần được dịch vụ gắn cờ để xác định hành động hoặc cờ nào mà API áp dụng cho thành phần đó, chẳng hạn như inferred, replaced hoặc spellCorrected. Xem AddressComponent trong tài liệu tham khảo.

Xác nhận tín hiệu

API Xác thực địa chỉ cung cấp một số tín hiệu để cho bạn biết liệu có nên xác nhận địa chỉ hay không.

1. Mức độ chi tiết của việc xác thực

Bạn có thể chấp nhận validationGranularity từ ROUTE trở lên, nhưng validationGranularity từ ROUTE trở lên hoặc validationGranularity từ ROUTE trở lên sẽ cung cấp tín hiệu mạnh hơn về khả năng phân phối.

2. Các tín hiệu khác

Khi quyết định xác nhận mục nhập địa chỉ với khách hàng, kết quả cũng cung cấp những thông tin sau để xác định những thành phần cần điều tra:

Dữ liệu suy luận Khi trường hasInferredComponentstrue, bạn biết rằng API đã điền thông tin mà API này thu thập từ các thành phần địa chỉ khác.
Dữ liệu đã thay thế Khi trường hasReplacedComponentstrue, 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ỉ.

3. Tín hiệu địa chỉ ở Hoa Kỳ

Một số trường chỉ áp dụng cho địa chỉ ở Hoa Kỳ cho biết rằng logic của bạn phải xác nhận thông tin chi tiết với khách hàng. Một trong hai trường hợp sau đây sẽ áp dụng:

dpvConfirmation S

Để biết thông tin chi tiết về dpvConfirmation, hãy xem phần Xử lý địa chỉ ở Hoa Kỳ.

Phản hồi địa chỉ Chứa trường missingComponentType có giá trị subpremise.

Ví dụ về địa chỉ xác nhận

Chấp nhận địa chỉ

Bạn chấp nhận một địa chỉ khi kết quả 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.

Chấp nhận tín hiệu

API Xác thực địa chỉ cung cấp một số tín hiệu để cho bạn biết liệu có nên xác nhận địa chỉ hay không.

1. Độ chi tiết của quy trình xác thực

Bạn có thể chấp nhận validationGranularity từ PREMISE trở lên, nhưng trong một số trường hợp, ROUTE vẫn cho biết địa chỉ có thể giao hàng.

2. Các tín hiệu khác

Kết quả về địa chỉ chất lượng cao cũng phải cung cấp các thông tin sau:

  • Không có dữ liệu nào được thay thế. Trong trường hợp này là hasReplacedComponents: FALSE.
  • Không có thành phần suy luận. Trong trường hợp này là hasInferredComponents: FALSE.

3. Tín hiệu địa chỉ ở Hoa Kỳ

Một số trường chỉ áp dụng cho địa chỉ ở Hoa Kỳ cho biết địa chỉ có chất lượng cao và có thể giao hàng. Đối với địa chỉ ở Hoa Kỳ được chấp nhận, bạn sẽ thấy những thông tin sau:

dpvConfirmation Y

Để biết thông tin chi tiết về dpvConfirmation, hãy xem phần Xử lý địa chỉ ở Hoa Kỳ.

Chấp nhận các ví dụ về địa chỉ