Sử dụng API Xác thực địa chỉ để xử lý các địa chỉ ở khối lượng lớn

Mục tiêu

Là nhà phát triển, bạn thường làm việc với các tập dữ liệu chứa địa chỉ khách hàng có thể không có chất lượng tốt. Bạn cần đảm bảo địa chỉ là chính xác cho các trường hợp sử dụng từ xác minh mã khách hàng đến giao hàng và nhiều trường hợp khác.

API xác thực địa chỉ là một sản phẩm từ Nền tảng Google Maps mà bạn có thể sử dụng để xác thực một địa chỉ. Tuy nhiên, phương thức này chỉ xử lý mỗi lần một địa chỉ. Trong tài liệu này, chúng ta sẽ xem xét cách sử dụng tính năng Xác thực địa chỉ khối lượng lớn trong nhiều trường hợp, từ kiểm thử API cho đến xác thực địa chỉ một lần và định kỳ.

Trường hợp sử dụng

Bây giờ, chúng ta sẽ hiểu các trường hợp sử dụng mà trong đó Xác thực địa chỉ khối lượng cao sẽ hữu ích.

Kiểm thử

Thông thường, bạn sẽ muốn kiểm thử API xác thực địa chỉ bằng cách chạy hàng nghìn địa chỉ. Bạn có thể có địa chỉ trong tệp Giá trị được phân tách bằng dấu phẩy và muốn xác thực chất lượng của các địa chỉ.

Xác thực địa chỉ một lần

Trong khi làm quen với API Xác thực địa chỉ, bạn nên xác thực cơ sở dữ liệu địa chỉ hiện có dựa trên cơ sở dữ liệu người dùng.

Xác thực định kỳ các địa chỉ

Có một số trường hợp cần xác thực địa chỉ định kỳ:

  • Bạn có thể đã lên lịch các lệnh để xác thực các địa chỉ cho thông tin chi tiết được ghi lại trong ngày, chẳng hạn như từ hoạt động đăng ký của khách hàng, chi tiết đơn đặt hàng, lịch giao hàng.
  • Bạn có thể nhận được các tệp kết xuất dữ liệu chứa địa chỉ từ nhiều phòng ban, ví dụ: từ bộ phận bán hàng đến bộ phận tiếp thị. Bộ phận mới nhận địa chỉ thường muốn xác thực các địa chỉ đó trước khi sử dụng.
  • Bạn có thể thu thập địa chỉ trong các cuộc khảo sát hoặc nhiều chương trình khuyến mãi, sau đó cập nhật trên hệ thống trực tuyến. Bạn muốn xác thực rằng địa chỉ là chính xác trong khi nhập địa chỉ vào hệ thống.

Tìm hiểu chuyên sâu về kỹ thuật

Trong phạm vi của tài liệu này, chúng tôi giả định rằng:

  • Bạn đang gọi API xác thực địa chỉ bằng các địa chỉ từ cơ sở dữ liệu khách hàng (tức là cơ sở dữ liệu có thông tin chi tiết về khách hàng)
  • Bạn có thể lưu các cờ về tính hợp lệ vào bộ nhớ đệm đối với các địa chỉ riêng lẻ trong cơ sở dữ liệu của mình.
  • Cờ về tính hợp lệ được truy xuất từ API xác thực địa chỉ khi một khách hàng cá nhân đăng nhập.

Bộ nhớ đệm để dùng cho phiên bản phát hành công khai

Khi sử dụng API Xác thực địa chỉ, bạn thường muốn lưu một số phần của phản hồi từ lệnh gọi API vào bộ nhớ đệm. Mặc dù Điều khoản dịch vụ của chúng tôi giới hạn dữ liệu có thể lưu vào bộ nhớ đệm, nhưng mọi dữ liệu có thể lưu vào bộ nhớ đệm từ API xác thực địa chỉ đều phải được lưu vào bộ nhớ đệm đối với tài khoản người dùng. Điều này có nghĩa là trong cơ sở dữ liệu, siêu dữ liệu về địa chỉ hoặc địa chỉ phải được lưu vào bộ nhớ đệm trong địa chỉ email hoặc mã nhận dạng chính khác của người dùng.

Đối với trường hợp sử dụng Xác thực địa chỉ khối lượng lớn, việc lưu dữ liệu vào bộ nhớ đệm phải tuân theo Điều khoản dành riêng cho dịch vụ của API xác thực địa chỉ như trình bày trong Mục 11.3. Dựa trên thông tin này, bạn sẽ có thể xác định xem địa chỉ của người dùng có thể không hợp lệ hay không. Trong trường hợp đó, bạn sẽ nhắc người dùng cung cấp địa chỉ đã sửa trong lần tương tác tiếp theo với ứng dụng của bạn.

  • Dữ liệu từ đối tượng AddressComponent
    • confirmationLevel
    • inferred
    • spellCorrected
    • replaced
    • unexpected

Nếu bạn muốn lưu bất kỳ thông tin nào về địa chỉ thực tế vào bộ nhớ đệm, thì dữ liệu đó chỉ được lưu vào bộ nhớ đệm khi có sự đồng ý của người dùng. Điều này đảm bảo người dùng biết rõ lý do một dịch vụ cụ thể lưu trữ địa chỉ của họ và họ đồng ý với các điều khoản chia sẻ địa chỉ.

Một ví dụ về sự đồng ý của người dùng: lượt tương tác trực tiếp với biểu mẫu địa chỉ thương mại điện tử trên trang thanh toán. Có hiểu rằng bạn sẽ lưu vào bộ nhớ đệm và xử lý địa chỉ cho mục đích vận chuyển một gói hàng.

Nếu có sự đồng ý của người dùng, bạn có thể lưu formattedAddress và các thành phần chính khác vào bộ nhớ đệm trong phản hồi. Tuy nhiên, trong trường hợp không có giao diện người dùng, người dùng không thể đưa ra sự đồng ý vì quá trình xác thực địa chỉ đang diễn ra từ phần phụ trợ. Do đó, bạn có thể lưu rất ít thông tin vào bộ nhớ đệm trong trường hợp không có giao diện người dùng này.

Tìm hiểu câu trả lời

Nếu phản hồi của API xác thực địa chỉ chứa các điểm đánh dấu sau đây, thì bạn có thể yên tâm rằng địa chỉ đầu vào có chất lượng có thể gửi được:

  • Điểm đánh dấu addressComplete trong đối tượng Kết quảtrue,
  • validationGranularity trong đối tượng Kết quảPREMISE hoặc SUB_PREMISE
  • Không có AddressComponent nào được đánh dấu là:
    • Inferred(Lưu ý: inferred=truecó thể xảy ra khi addressComplete=true)
    • spellCorrected
    • replaced
    • unexpected
  • confirmationLevel: Cấp xác nhận trên AddressComponent được đặt thànhCONFIRMEDhoặcUNCONFIRMED_BUT_PLAUSIBLE

Nếu nội dung phản hồi của API không chứa các điểm đánh dấu ở trên, thì địa chỉ đầu vào có thể có chất lượng kém và bạn có thể lưu cờ vào bộ nhớ đệm trong cơ sở dữ liệu để phản ánh điều đó. Cờ được lưu vào bộ nhớ đệm cho biết toàn bộ địa chỉ có chất lượng kém, trong khi cờ chi tiết hơn như Sửa lỗi chính tả cho biết loại cụ thể của vấn đề về chất lượng địa chỉ. Trong lần tiếp theo khách hàng tương tác với một địa chỉ bị gắn cờ là chất lượng kém, bạn có thể gọi API Xác thực địa chỉ bằng địa chỉ hiện tại. API xác thực địa chỉ sẽ trả về địa chỉ đã sửa mà bạn có thể hiển thị bằng lời nhắc trên giao diện người dùng. Sau khi khách hàng chấp nhận địa chỉ đã định dạng, bạn có thể lưu những thông tin sau vào bộ nhớ đệm trong phản hồi:

  • formattedAddress
  • postalAddress
  • addressComponent componentNameshoặc
  • UspsData standardizedAddress

Triển khai quy trình xác thực Địa chỉ không có giao diện người dùng

Dựa trên nội dung thảo luận ở trên:

  • Thông thường, bạn cần lưu một số phần của phản hồi từ API Xác thực địa chỉ vào bộ nhớ đệm vì lý do kinh doanh.
  • Tuy nhiên, Điều khoản dịch vụ trong Nền tảng Google Maps hạn chế dữ liệu có thể được lưu vào bộ nhớ đệm.

Trong phần sau, chúng tôi sẽ thảo luận về quy trình 2 bước về cách tuân thủ Điều khoản dịch vụ và triển khai quy trình xác thực địa chỉ với khối lượng lớn.

Bước 1:

Trong bước đầu tiên, chúng ta sẽ tìm hiểu cách triển khai tập lệnh xác thực địa chỉ khối lượng lớn từ một quy trình dữ liệu hiện có. Quy trình này sẽ cho phép bạn lưu trữ các trường cụ thể trong phản hồi của API Xác thực địa chỉ theo cách tuân thủ Điều khoản dịch vụ.

Biểu đồ A: Sơ đồ dưới đây cho thấy cách cải thiện một quy trình dữ liệu bằng logic Xác thực địa chỉ khối lượng lớn.

alt_text

Theo Điều khoản dịch vụ, bạn có thể lưu các dữ liệu sau vào bộ nhớ đệm từ addressComponent:

  • confirmationLevel
  • inferred
  • spellCorrected
  • replaced
  • unexpected

Do đó, trong bước triển khai này, chúng tôi sẽ lưu các trường nêu trên vào bộ nhớ đệm dựa trên UserID.

Để biết thêm thông tin, hãy xem chi tiết về cấu trúc dữ liệu thực tế.

Bước 2:

Ở bước 1, chúng tôi đã thu thập ý kiến phản hồi rằng một số địa chỉ trong tập dữ liệu đầu vào có thể không có chất lượng cao. Ở bước tiếp theo, chúng tôi sẽ lấy các địa chỉ bị gắn cờ này và hiển thị chúng cho người dùng, đồng thời xin phép người dùng để sửa địa chỉ đã lưu trữ.

Biểu đồ B: Sơ đồ này cho thấy quy trình tích hợp toàn diện luồng sự đồng ý của người dùng có thể trông như thế nào:

alt_text

  1. Khi người dùng đăng nhập, trước tiên, hãy kiểm tra xem bạn có lưu bất kỳ cờ xác thực nào vào bộ nhớ đệm trong hệ thống hay không.
  2. Nếu có cờ, bạn nên hiển thị cho người dùng giao diện người dùng để sửa và cập nhật địa chỉ của họ.
  3. Bạn có thể gọi lại API Xác thực địa chỉ với địa chỉ đã cập nhật hoặc được lưu vào bộ nhớ đệm rồi hiển thị địa chỉ đã sửa cho người dùng để xác nhận.
  4. Nếu địa chỉ có chất lượng tốt, API Xác thực địa chỉ sẽ trả về formattedAddress.
  5. Bạn có thể hiển thị địa chỉ đó cho người dùng nếu đã chỉnh sửa hoặc tự động chấp nhận nếu chưa có nội dung sửa lỗi.
  6. Sau khi người dùng chấp nhận, bạn có thể lưu formattedAddress vào bộ nhớ đệm trong cơ sở dữ liệu.

Kết luận

Xác thực địa chỉ khối lượng lớn là một trường hợp sử dụng phổ biến mà bạn có thể gặp phải trong nhiều ứng dụng. Tài liệu này cố gắng minh hoạ một số tình huống và một mẫu thiết kế về cách triển khai một giải pháp như vậy theo Điều khoản dịch vụ của Nền tảng Google Maps.

Chúng tôi đã viết thêm một phương thức triển khai tham chiếu của tính năng Xác thực địa chỉ khối lượng cao dưới dạng thư viện nguồn mở trên GitHub. Hãy xem qua để bắt đầu tạo dựng bằng tính năng Xác thực địa chỉ khối lượng lớn một cách nhanh chóng. Ngoài ra, hãy xem bài viết về các mẫu thiết kế để sử dụng thư viện trong nhiều trường hợp.

Các bước tiếp theo

Tải xuống Sách trắng để cải thiện quy trình thanh toán, việc giao hàng và hoạt động với địa chỉ đáng tin cậy và xem Hội thảo trực tuyến về Cải thiện quy trình thanh toán, giao hàng và hoạt động bằng tính năng xác thực địa chỉ .

Bạn nên đọc thêm:

Người đóng góp

Google duy trì bài viết này. Những cộng tác viên sau đây là người viết bài đầu tiên.
Tác giả chính:

Henrik Valve | Kỹ sư giải pháp
Thomas Anglaret | Kỹ sư giải pháp
Sarthak Ganguly | Kỹ sư giải pháp