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ừ API Xác thực địa chỉ. Tài liệu này trình bày cách xây dựng logic để sử dụng phản hồi chính xác, để đ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 của API xác định các cách sau đây mà hệ thống của bạn nên xử lý đị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 có những thay đổi so với địa chỉ nhập vào. 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ỉ mà mình 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 chính xác nhất phản hồi của API và xác định các hành động tiếp theo cần thực hiện với các địa chỉ đã cung cấp. Mã giả sau 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 thông tin chi tiết. Bạn cũng có thể sử dụng phương thức 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. 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 để kiểm tra, mà là một 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ả 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 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.

Quy trình làm việc

  1. Kiểm tra các thành phần của đị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 từ verdict cho biết một địa chỉ có thể gửi, nhưng đã thay đổi dữ liệu đầu vào ban đầu: suy luận dữ liệu đã sửa lỗi chính tả hoặc dữ liệu có thể xác nhận.

Quy trình làm việc

  1. Nội dung chỉnh sửa:
    1. Kiểm tra các thành phần của đị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 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 API xác thực địa chỉ cho thấy một địa chỉ có chất lượng rất tốt.

Quy trình làm 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 trở lê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ỉ, 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 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

Xem xét đến mức độ khoan dung trong 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 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 số đó. Mặt khác, nếu hoạt động kinh doanh yêu cầu địa chỉ chính xác hơn, bạn có thể nhắc người dùng. Để xem ví dụ về một trong hai danh mục này, hãy xem mục Số đường phố chưa được xác nhận ở Hoa Kỳ trong phần Địa chỉ chấp nhận – ví dụ.

Chấp nhận địa chỉ

Bạn nên cho phép hệ thống của mình chấp nhận mục nhập gốc 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ỉ cho toà nhà 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ũ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 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ỉ

Sửa một địa chỉ khi kết quả chỉ ra rõ ràng rằng không thể gửi địa chỉ đó. 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 xuất bản lại quy trình làm việc để nhận địa chỉ có thể giao.

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 có cần khắc phục một địa chỉ hay không.

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 nên đ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 đó. 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 là UNCOMFIRMED_AND_SUSPICIOUS, thì có thể thành phần đó không chính xác.
Thành phần chưa được giải quyết 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 một đị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 một địa chỉ cần chỉnh sửa, 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 bài viết 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 API xác thực địa chỉ suy luận hoặc thực hiện các thay đổi đối với địa chỉ các thành phần để tạo ra một đị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 muốn tin tưởng hơn rằng địa chỉ nhận được đúng là địa chỉ mà khách hàng mong muốn.

Để 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 đã á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ó cần được xác nhận hay không.

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 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 bị thay thế Khi trường hasReplacedComponentstrue, API sẽ thay thế dữ liệu đã nhập bằng dữ liệu được cho là làm đị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 cần xác nhận thông tin chi tiết với khách hàng. Bạn phải đáp ứng một trong hai trường hợp sau:

dpvConfirmation S

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

Phản hồi của địa chỉ Chứa trường missingComponentType có giá trị 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 rằng địa chỉ đó có thể giao và có thể được sử dụng mà không cần khách hàng phải 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 một địa chỉ có cần được xác nhận hay không.

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, ROUTE vẫn cho biết địa chỉ có thể giao.

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 được dự đoá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 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ể được gửi đến. Đối với một địa chỉ được chấp nhận ở Hoa Kỳ, bạn nên xem thông tin sau:

dpvConfirmation Y

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

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