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ỗ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 tình huống, 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.
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ó đị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 định kỳ các địa chỉ
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ừ việc đă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 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 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ể đượ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ỉ 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ư đượ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ỉ đã 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 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 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ỉ 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 làtrue
, validationGranularity
trong đối tượng Verdict (Kết quả) 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 ở 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 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 những thông tin sau vào bộ nhớ đệm trong phản hồi:
formattedAddress
postalAddress
addressComponent componentNames
hoặcUspsData 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ế 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 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ẽ 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ừ mộ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.
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 được đề cập ở trên vào bộ nhớ đệm dựa trên 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 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. Trong bước tiếp theo, chúng ta sẽ lấy những địa chỉ bị 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ữ.
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:
- 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.
- 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ọ.
- 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.
- Nếu địa chỉ có chất lượng tốt, Address Validation API sẽ trả về một
formattedAddress
. - 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.
- 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 dùng thử để 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ỉ .
Tài liệu đọc thêm được đề xuất:
- Ứng dụng xác thực địa chỉ khối lượng lớn
- Thư viện Python trên GitHub
- Khám phá bản minh hoạ về tính năng Xác thực địa chỉ
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