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 loại phản hồi từ Address Validation API (API Xác thực địa chỉ). Video này hướng dẫn cách xây dựng logic để sử dụng phản hồi chính xác nhằm điều tra các tín hiệu khác từ API cũng như thời điểm và cách thức nhắc khách hàng cung cấp thêm thông tin.

Nhìn chung, phản hồi của API xác định các cách sau đây mà hệ thống của bạn nên xử lý một địa chỉ:

  • Khắc phục – địa chỉ có chất lượng thấp. Bạn nên nhắc để biết thêm thông tin.
  • Xác nhận – địa chỉ có chất lượng cao, nhưng những thay đổi so với địa chỉ nhập. Bạn có thể nhắc 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ỉ đã cung cấp.

Mục đích chính

Tài liệu này giúp bạn sửa đổi hệ thống của mình để phân tích chính xác nhất phản hồi của API và xác định hành động tiếp theo cần thực hiện với các địa chỉ đã cung cấp. Nội dung sau đây mã giả minh hoạ một luồng khả thi.

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 chi tiết. Bạn cũng có thể sử dụng cách triển khai nguồn mở của logic này, 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 làm việc sẽ sử dụng dựa trên hành vi khắc phục, xác nhận và chấp nhận.
  2. Tín hiệu đầu tiên cần kiểm tra từ phản hồi. Tín hiệu được mô tả ở đây bắt nguồn từ thuộc tính verdictkhông phải là tính năng duy nhất tín hiệu để kiểm tra, nhưng phải cung cấp chỉ báo ban đầu về địa chỉ chất lượng. 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ả thêm các tín hiệu mà bạn cũng có thể cần điều tra.
Hành vi hệ thống của bạn
Chỉnh sửa địa chỉ

Phản hồi của verdict cho biết còn thiếu nội dung quan trọng thông tin cần cung cấp. Địa chỉ được trả về bởi API Xác thực địa chỉ 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 các vấn đề về địa chỉ.
  3. Yêu cầu xác thực địa chỉ đã 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. Hãy 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 của verdict cho biết có thể phân phối nhưng đã thực hiện 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ể được xác nhận.

Luồng công việc

  1. Nội dung cần điều chỉnh:
    1. Kiểm tra các thành phần địa chỉ nếu cần.
    2. Yêu cầu xác thực địa chỉ đã 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. Hãy 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 chỉnh sửa:
    1. (Không bắt buộc) Gửi yêu cầu đến điểm cuối phản hồi cho API. Hãy 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ả các điều kiện sau đây áp dụng:

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

Phản hồi của API xác thực địa chỉ cho thấy mộ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ỉ được trả lại.

Tín hiệu kết quả

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

  • validationGranularity chứa PREMISE hoặc cao hơn. Xem các giá trị độ chi tiết.
  • addressCompletetrue.
  • Không có thành phần nào được suy luận hoặc thay thế.

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ỉ, những đề xuất sau đây có thể giúp bạn tạo một câu trả lời hiệu quả hơn mô hình. Tuy nhiên, đây chỉ là các đề xuất, nên hãy nhớ rằng 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

Xem xét cấp độ sự khoan dung đối với tình huống của bạn khi cân bằng giữa việc nhắc sửa và chấp nhận địa chỉ như đã 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 để tối ưu hoá việc xác thực của chúng tôi.

Ví dụ: nếu một địa chỉ có số nhà chưa được xác nhận, bạn có thể vẫn chấp nhận nội dung đó. 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. Ví dụ: có thể thuộc một trong hai danh mục, hãy xem Số nhà chưa được xác nhận ở Hoa Kỳ trong Chấp nhận địa chỉ - ví dụ.

Chấp nhận địa chỉ

Nên cho phép hệ thống của bạn chấp nhận mục nhập gốc nếu khách hàng không trả lời các câu lệnh.

Trong những trường hợp này, khách hàng có thể đã nhập một địa chỉ không ở hệ thống, chẳng hạn như trong trường hợp xây dựng mới.

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

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

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

Sửa địa chỉ

Chỉnh sửa địa chỉ trong khi kết quả chỉ ra rõ ràng địa chỉ đó có thể giao hàng. Sau đó, hệ thống của bạn có thể nhắc khách hàng cung cấp những thông tin cần thiết thông tin, sau đó bạn phát hành lại quy trình làm việc để nhận được của bạn.

Sửa 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 một địa chỉ của bạn phải được sửa.

1. Mức độ 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 cung cấp chỉ báo tốt 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 về thành phần địa chỉ để tìm hiểu thêm về vị trí xảy ra lỗi đã xảy ra và cách khắc phục.
  • Bất cứ khi nào đối tượng address sau xử lý sẽ trả về một missingComponentTypes, thì hệ thống của bạn sẽ kiểm tra để tìm thành phần đó. Các thành phần bị thiếu cũng khiến địa chỉ không đầy đủ và không thể gửi được.

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 mức xác nhận cho một thành phần được UNCOMFIRMED_AND_SUSPICIOUS, có thể thành phần này không chính xác.
Thành phần chưa được giải quyết Một unresolvedToken là một phần của thông tin đầ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 rằng không thể giao hàng và cần được khắc phục. Đối với địa chỉ yêu cầu khắc phục, bạn sẽ thấy như sau:

dpvConfirmation N, D hoặc trống.

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

Ví dụ về cách chỉnh sửa đị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 (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 ra địa chỉ đã xác thực. Trong những trường hợp này, bạn có một địa chỉ có thể giao hàng, nhưng bạn muốn có thể chắc chắn hơn rằng địa chỉ kết quả là địa chỉ dự kiến khách hàng.

Để cung cấp cho khách hàng đúng lời nhắc, logic của bạn sẽ xác định các thành phần bị dịch vụ gắn cờ để xác định hành động hoặc gắn cờ API được á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 một địa chỉ cần được xác nhận.

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

Có thể chấp nhận validationGranularity từ ROUTE trở lên, nhưng PREMISE hoặc SUBPREMISE 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 việc nhập địa chỉ với khách hàng, kết quả cũng cung cấp các 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à nó thu thập từ địa chỉ khác thành phần.
Dữ liệu bị thay thế Khi trường hasReplacedComponentstrue, API đã thay thế dữ liệu đã nhập bằng dữ liệu được cho là làm cho địa chỉ hợp lệ.

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ỳ cho biết 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 sẽ áp dụng:

dpvConfirmation S

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

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

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

Chấp nhận địa chỉ

Bạn chấp nhận một địa chỉ khi kết quả đưa ra mức độ tin cậy cao địa chỉ có thể giao hàng và có thể sử dụng mà không cần khách hàng phải tương tác thêm trong quá trình hạ nguồn.

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 một địa chỉ cần được xác nhận.

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

Có thể chấp nhận validationGranularity từ PREMISE trở lên, nhưng trong một số trường hợp 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 nào. Trong trường hợp này là hasInferredComponents: FALSE.

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ỳ cho biết địa chỉ chất lượng cao có thể gửi đến. Đối với địa chỉ được chấp nhận ở Hoa Kỳ, bạn sẽ thấy sau:

dpvConfirmation Y

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

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