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 rằng địa chỉ là chính xác cho các trường hợp sử dụng, từ xác minh giấy tờ tuỳ thân của khách hàng đến giao hàng, v.v.

Address Validation API (API Xác thực địa chỉ) là một sản phẩm của Google Maps Platform mà bạn có thể sử dụng để xác thực địa chỉ. Tuy nhiên, phương thức này chỉ xử lý một địa chỉ tại một thời điểm. Trong tài liệu này, chúng ta sẽ tìm hiểu cách sử dụng tính năng Xác thực địa chỉ số lượng lớn trong nhiều trường hợp, từ kiểm thử API đế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ẽ tìm hiểu các trường hợp sử dụng mà tính năng Xác thực địa chỉ số lượng lớn sẽ hữu ích.

Thử nghiệm

Bạn thường 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ó cá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 quá trình làm quen với API Xác thực địa chỉ, bạn muốn xác thực cơ sở dữ liệu địa chỉ hiện có của mình với cơ sở dữ liệu người dùng.

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

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

  • Bạn có thể đã lên lịch công việc để xác thực địa chỉ cho thông tin chi tiết được ghi lại trong ngày, chẳng hạn như từ lượt đăng ký của khách hàng, thông tin chi tiết về đơn đặt hàng, lịch giao hàng.
  • Bạn có thể nhận được tệp kết xuất dữ liệu chứa địa chỉ của nhiều bộ phận, ví dụ: từ bộ phận bán hàng đến bộ phận tiếp thị. Bộ phận mới nhận được địa chỉ thường muốn xác thự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 trong hệ thống trực tuyến. Bạn muốn xác thực các địa chỉ là chính xác trong khi nhập vào hệ thống.

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

Trong 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ỉ trong 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ờ hợp lệ vào bộ nhớ đệm theo từng địa chỉ trong cơ sở dữ liệu.
  • Cờ hợp lệ được truy xuất từ Address Validation API (API Xác thực địa chỉ) khi một khách hàng cá nhân đăng nhập.

Bộ nhớ đệm để sử dụng trong phiên bản chính thức

Khi sử dụng API Xác thực địa chỉ, bạn thường muốn lưu một phần 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ể được lưu vào bộ nhớ đệm, nhưng mọi dữ liệu có thể được lưu vào bộ nhớ đệm từ API Xác thực địa chỉ phải được lưu vào bộ nhớ đệm theo tài khoản người dùng. Điều này có nghĩa là trong cơ sở dữ liệu, địa chỉ hoặc siêu dữ liệu địa chỉ phải được lưu vào bộ nhớ đệm dựa trên địa chỉ email của người dùng hoặc mã nhận dạng chính khác.

Đối với trường hợp sử dụng Xác thực địa chỉ số lượng lớn, việc lưu dữ liệu vào bộ nhớ đệm phải tuân thủ Điều khoản cụ thể về dịch vụ của API Xác thực địa chỉ, nêu trong Mục 11.3. Dựa trên thông tin này, bạn có thể xác định xem địa chỉ của người dùng có hợp lệ hay không. Trong trường hợp này, bạn sẽ nhắc người dùng sửa địa chỉ 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 rằng người dùng hiểu rõ lý do một dịch vụ cụ thể đang lưu trữ địa chỉ của họ và họ đồng ý với các điều khoản chia sẻ địa chỉ của họ.

Ví dụ về sự đồng ý của người dùng là 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. Chúng tôi hiểu rằng bạn sẽ lưu địa chỉ vào bộ nhớ đệm và xử lý địa chỉ đó cho mục đích vận chuyển gói hàng.

Khi người dùng đồng ý, bạn có thể lưu formattedAddress và các thành phần chính khác vào bộ nhớ đệm từ 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ể đồ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 vào bộ nhớ đệm rất ít thông tin trong trường hợp không có giao diện người dùng này.

Tìm hiểu phản hồ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, thì bạn có thể tự tin rằng địa chỉ đầu vào có chất lượng có thể giao hàng:

  • Điểm đánh dấu addressComplete trong đối tượng Verdict (Kết quả) là true,
  • validationGranularity trong đối tượng Verdict (Kết quả) là 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: Mức xác nhận trên AddressComponent được đặt thànhCONFIRMEDhoặcUNCONFIRMED_BUT_PLAUSIBLE

Nếu phản hồi 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ác cờ vào bộ nhớ đệm trong cơ sở dữ liệu để phản ánh điều đó. 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ác cờ chi tiết hơn như Đã sửa lỗi chính tả cho biết loại vấn đề cụ thể về chất lượng địa chỉ. Trong lần tương tác tiếp theo với khách hàng có địa chỉ được 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 có. 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 các thông tin sau vào bộ nhớ đệm từ 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ì bạn cần lưu một phần nội dung phản hồi từ Address Validation API 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ế loại dữ liệu có thể được lưu vào bộ nhớ đệm.

Trong phần sau, chúng ta sẽ thảo luận về quy trình gồm hai 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 số lượng lớn.

Bước 1:

Trong bước đầu tiên, chúng ta sẽ xem xét cách triển khai tập lệnh xác thực địa chỉ với số lượng lớn từ quy trình dữ liệu hiện có. Quá trình này sẽ cho phép bạn lưu trữ các trường cụ thể từ 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ụ.

Sơ đồ A: Sơ đồ sau đây cho thấy cách cải thiện quy trình dữ liệu bằng logic Xác thực địa chỉ số 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 ta sẽ lưu các trường được đề cập ở trên vào bộ nhớ đệm theo UserID.

Để biết thêm thông tin, hãy xem thông tin 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 cho biết một số địa chỉ trong tập dữ liệu đầu vào có thể không có chất lượng cao. Trong bước tiếp theo, chúng ta sẽ lấy các địa chỉ được gắn cờ này và hiển thị cho người dùng, đồng thời xin phép họ sửa địa chỉ đã lưu trữ.

Sơ đồ B: Sơ đồ này cho thấy cách tích hợp toàn diện quy trình lấy sự đồng ý của người dùng:

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 một 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ỉ bằng địa chỉ đã cập nhật hoặc được lưu vào bộ nhớ đệm và 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, Address Validation API sẽ trả về một formattedAddress.
  5. Bạn có thể hiển thị địa chỉ đó cho người dùng nếu đã chỉnh sửa hoặc chấp nhận thầm nếu không có nội dung chỉnh sửa nào.
  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ỉ số 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ẫu thiết kế về cách triển khai giải pháp như vậy tuân thủ Điều khoản dịch vụ của Nền tảng Google Maps.

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

Các bước tiếp theo

Tải sách trắng Cải thiện quy trình thanh toán, giao hàng và hoạt động bằng địa chỉ đáng tin cậy xuống và xem hội thảo trên web 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ỉ .

Tài liệu đọc thêm được đề xuất:

Người đóng góp

Google duy trì bài viết này. Các cộng tác viên sau đây là tác giả ban đầu của bài viết này.
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