Mục tiêu
Là một nhà phát triển, bạn thường làm việc với các tập dữ liệu có 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ỉ chính xác cho các trường hợp sử dụng, từ xác minh mã nhận dạng khách hàng, đến giao hàng và nhiều trường hợp khác.
Address Validation API là một sản phẩm của Google Maps Platform mà bạn có thể dùng để xác thực địa chỉ. Tuy nhiên, mỗi lần, công cụ này chỉ xử lý 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ỉ với 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ỉ với số lượng lớn hữu ích.
Thử nghiệm
Bạn thường muốn kiểm thử Address Validation API bằng cách chạy hàng nghìn địa chỉ. Bạn có thể có các địa chỉ trong một 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 tham gia Address Validation API, bạn muố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 đị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ác công việc để xác thực địa chỉ cho thông tin chi tiết được ghi lại trong ngày, ví dụ: từ thông tin đăng ký của khách hàng, thông tin chi tiết về đơn đặt hàng, lịch trình giao hàng.
- Bạn có thể nhận được các tệp dữ liệu chứa địa chỉ của nhiều phòng ban, ví dụ: từ phòng kinh doanh đến phòng 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 và sau đó cập nhật trong hệ thống trực tuyến. Bạn muốn xác thực để đảm bảo địa chỉ chính xác khi nhập vào hệ thống.
Tìm hiểu chuyên sâu về kỹ thuật
Theo mục đích của tài liệu này, chúng tôi giả định rằng:
- Bạn đang gọi Address Validation API bằng đị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ờ hiệu lực vào bộ nhớ đệm theo từng địa chỉ trong cơ sở dữ liệu của mình.
- 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 môi trường phát hành công khai
Khi sử dụng Address Validation API, bạn thường muốn lưu vào bộ nhớ đệm một phần của phản hồi từ lệnh gọi API. Mặc dù Điều khoản dịch vụ của chúng tôi giới hạn những 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ừ Address Validation API đều phải được lưu vào bộ nhớ đệm dựa trên 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 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ỉ với số lượng lớn, hoạt động lưu vào bộ nhớ đệm dữ liệu phải tuân theo Điều khoản cụ thể về dịch vụ của Address Validation API, được nêu 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ỉ chính xác trong lần tương tác tiếp theo của họ 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 vào bộ nhớ đệm bất kỳ thông tin nào về địa chỉ thực tế, 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 biết 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 mình.
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ỉ của trang web thương mại điện tử trên trang thanh toán. Bạn sẽ lưu vào bộ nhớ đệm và xử lý địa chỉ cho mục đích vận chuyển gói hàng.
Với sự đồng ý của người dùng, bạn có thể lưu vào bộ nhớ đệm formattedAddress
và các thành phần chính khác 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ể đưa ra sự đồng ý vì quá trình xác thực địa chỉ diễn ra ở 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 về câu trả lời
Nếu phản hồi của Address Validation API chứa các điểm đánh dấu sau, thì bạn có thể tin tưởng rằng địa chỉ đầu vào có chất lượng có thể chuyển phát:
- Điểm đánh dấu
addressComplete
trong đối tượng Verdict làtrue
, validationGranularity
trong đối tượng Verdict làPREMISE
hoặcSUB_PREMISE
- Không có AddressComponent nào được đánh dấu là:
Inferred
(Lưu ý: inferred=true
có thể xảy ra khiaddressComplete=true
)spellCorrected
replaced
unexpected
và
confirmationLevel
: Cấp độ xác nhận trên AddressComponent được đặt thànhCONFIRMED
hoặcUNCONFIRMED_BUT_PLAUSIBLE
Nếu phản hồi API không chứa các điểm đánh dấu nêu trên, thì có thể địa chỉ đầu vào 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 cờ được lưu vào bộ nhớ đệm cho biết địa chỉ nói chung 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ỉ bị gắn cờ là kém chất lượng, bạn có thể gọi Address Validation API bằng địa chỉ hiện có. Address Validation API sẽ trả về địa chỉ đã được 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ỉ được định dạng, bạn có thể lưu vào bộ nhớ đệm những thông tin sau đây từ phản hồi:
formattedAddress
postalAddress
addressComponent componentNames
hoặcUspsData standardizedAddress
Triển khai tính năng 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 vào bộ nhớ đệm một phần phản hồi từ Address Validation API vì lý do kinh doanh.
- Tuy nhiên, Điều khoản dịch vụ của Nền tảng Google Maps hạn chế những 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 2 bước để tuân thủ Điều khoản dịch vụ và triển khai tính năng 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 một tập lệnh xác thực địa chỉ có 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 Address Validation API 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ỉ có số lượng lớn.
Theo Điều khoản dịch vụ, bạn có thể lưu vào bộ nhớ đệm dữ liệu sau đây từ addressComponent
:
confirmationLevel
inferred
spellCorrected
replaced
unexpected
Do đó, trong bước triển khai này, chúng ta sẽ lưu vào bộ nhớ đệm các trường nêu trên theo 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 cho thấy 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 những địa chỉ được gắn cờ này và trình bày cho người dùng, đồng thời nhận được sự đồng ý của họ để sửa địa chỉ đã lưu trữ.
Sơ đồ B: Sơ đồ này cho thấy cách tích hợp toàn bộ quy trình lấy sự đồng ý của người dùng:
- Khi người dùng đăng nhập, trước tiên, hãy kiểm tra xem bạn có lưu vào bộ nhớ đệm bất kỳ cờ xác thực nào trong hệ thống của mình hay không.
- Nếu có cờ, bạn nên cung cấp cho người dùng một giao diện người dùng để chỉnh sửa và cập nhật địa chỉ của họ.
- Bạn có thể gọi lại Address Validation API bằng địa chỉ đã cập nhật hoặc được lưu vào bộ nhớ đệm và trình bày địa chỉ đã sửa cho người dùng để xác nhận.
- Nếu địa chỉ có chất lượng tốt, thì Address Validation API sẽ trả về
formattedAddress
. - Bạn có thể trình bày địa chỉ đó cho người dùng nếu đã chỉnh sửa, hoặc chấp nhận một cách âm thầm nếu không có nội dung chỉnh sửa.
- 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ỉ với 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 trình bày một số trường hợp và 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 Google Maps Platform.
Chúng tôi đã viết thêm một cách triển khai tham chiếu cho tính năng Xác thực địa chỉ với số lượng lớn dưới dạng một thư viện nguồn mở trên GitHub. Hãy xem hướng dẫn này để bắt đầu xây dựng với tính năng Xác thực địa chỉ có số lượng lớn một cách nhanh chóng. Bạn cũng có thể xem bài viết về các mẫu thiết kế để biết cách sử dụng thư viện trong nhiều trường hợp.
Các bước tiếp theo
Tải 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 Sách trắng và xem Hội thảo trực tuyến 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:
- Các ứng dụng của tính năng Xác thực địa chỉ với số lượng lớn
- Thư viện Python trên GitHub
- Khám phá bản minh hoạ của dịch vụ Xác thực địa chỉ
Người đóng góp
Google duy trì bài viết này. Những người đóng góp 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