Tài liệu này mô tả một số tình huống thực tế, trong đó API xác thực địa chỉ cung cấp các tín hiệu phản hồi đảm bảo hành vi fix từ hệ thống của bạn. Xem phần Tổng quan về quy trình công việc trong phần Xây dựng logic xác thực để nắm được ngữ cảnh.
Ví dụ thường gặp: cách khắc phục
Phần này mô tả các ví dụ phổ biến, trong đó API xác thực địa chỉ cung cấp các tín hiệu phản hồi cho biết thông tin về địa chỉ có chất lượng thấp hơn.
Thiếu thành phố và mã bưu điện
Ví dụ này minh hoạ một mục nhập chỉ có địa chỉ đường phố, không có thành phố hoặc mã bưu chính.
Đã nhập địa chỉ | Vùng |
---|---|
21 45 đường 40th | Hoa Kỳ |
Phán quyết về trường hợp thiếu thành phố và mã bưu chính
Ví dụ dưới đây nhấn mạnh các tín hiệu quan trọng của phản hồi.
{
"inputGranularity": "PREMISE",
"validationGranularity": "OTHER",
"geocodeGranularity": "OTHER",
"hasUnconfirmedComponents": true
}
Các tín hiệu này cho biết địa chỉ không thể phân phối, vì vậy, bạn có thể truy vấn addressComponents
để tìm hiểu thêm:
{
"componentName": {
"text": "21",
"languageCode": "en"
},
"componentType": "street_number",
"confirmationLevel": "UNCONFIRMED_BUT_PLAUSIBLE"
},
{
"componentName": {
"text": "45 40th street",
"languageCode": "en"
},
"componentType": "route",
"confirmationLevel": "UNCONFIRMED_BUT_PLAUSIBLE"
},
{
"componentName": {
"text": "United States",
"languageCode": "en"
},
"componentType": "country",
"confirmationLevel": "CONFIRMED"
}
API xác thực địa chỉ chỉ trả về quốc gia (Hoa Kỳ) là CONFIRMED
.
Phương thức này trả về tất cả thành phần địa chỉ khác dưới dạng UNCONFIRMED_BUT_PLAUSIBLE
, với
một số thiếu sót quan trọng đối với dữ liệu, chẳng hạn như vị trí và mã bưu chính.
Thiếu số đường
Ví dụ này cho thấy một số đường bị thiếu.
Đã nhập địa chỉ | Vùng |
---|---|
Đường Buckingham Palace, SW1W 9TQ London | Vương quốc Anh |
Phán quyết về trường hợp thiếu số nhà
{
"inputGranularity": "PREMISE_PROXIMITY",
"validationGranularity": "ROUTE",
"geocodeGranularity": "ROUTE"
}
validationGranularity
là ROUTE
, cho biết sự trùng khớp với đường phố, nhưng không đủ thông tin để đi đến cơ sở. Ngoài ra, thuộc tính addressComplete
bị thiếu trong kết quả nên có thể là false
. Truy vấn thêm về đối tượng address
cho thấy loại thành phần bị thiếu:
"missingComponentTypes": [
"street_number"
]
Ví dụ về trường hợp hiếm gặp: khắc phục
Trong một số trường hợp, việc sửa, xác nhận hay chấp nhận địa chỉ là tuỳ thuộc vào tình huống kinh doanh cụ thể của bạn. Các ví dụ bên dưới minh hoạ các trường hợp có thể không hoàn toàn thuộc danh mục khắc phục.
Số đường phố chưa được xác nhận
Trong trường hợp này, API xác thực địa chỉ không thể xác nhận số đường phố được cung cấp, nhưng cho biết địa chỉ đã hoàn chỉnh.
Đã nhập địa chỉ | Vùng |
---|---|
84 Buckingham Palace Road, SW1W 9TQ, London | Vương quốc Anh |
Phán quyết cho số đường phố chưa được xác nhận
Ví dụ dưới đây nhấn mạnh các tín hiệu quan trọng.
{
"inputGranularity": "PREMISE",
"validationGranularity": "PREMISE_PROXIMITY",
"geocodeGranularity": "PREMISE_PROXIMITY",
"addressComplete" : true,
"hasUnconfirmedComponents": true
}
Bạn chỉ nên kiểm tra việc kết hợp độ chi tiết xác thực với giá trị xấp xỉ cấp cơ sở cùng với các thành phần chưa được xác nhận. Truy vấn thuộc tính addressComponents
cho thấy componentType
sau chưa được xác nhận:
{
"componentName": {
"text": "84",
"languageCode": "en"
},
"componentType": "street_number",
"confirmationLevel": "UNCONFIRMED_BUT_PLAUSIBLE"
}
Ở đây, confirmation_level
của street_number
được đặt thành UNCONFIRMED_BUT_PLAUSIBLE
. Chưa xác nhận có nghĩa là dịch vụ không thể khớp với số nhà 84 trong tập dữ liệu của dịch vụ. Và hợp lý có nghĩa là dữ liệu thành phần vẫn có thể hợp lệ.
Thiếu cơ sở phụ
Trường hợp này mô tả một địa chỉ chỉ bị thiếu một tầng phụ, chẳng hạn như số phòng hoặc số phòng. Nếu không, API xác thực địa chỉ có thể xác thực đầy đủ địa chỉ. Tương tự như trường hợp thiếu thành phần địa chỉ nào đó, addressComplete
là false
và do đó không xuất hiện trong quá trình kiểm tra kết quả theo cách thủ công.
Để minh họa, giả sử khách hàng nhập địa chỉ hợp lệ cho văn phòng của người đánh giá thành phố San Francisco, nhưng lại bỏ lỡ số phòng từ thông tin nhập.
Đã nhập địa chỉ | Vùng |
---|---|
1 Doctor Carlton B Goodlett Place, San Francisco, CA 94102 | Hoa Kỳ |
Phán quyết cho trường hợp thiếu tiền đề xuất
Trong ví dụ này, kết quả không hiển thị thuộc tính addressComplete
, vì vậy, thuộc tính này là false
. Do đó, bạn biết rằng có ít nhất một phần tử địa chỉ không mong muốn, chưa được giải quyết hoặc bị thiếu.
{
"inputGranularity": "PREMISE",
"validationGranularity": "PREMISE",
"geocodeGranularity": "PREMISE",
"hasInferredComponents": true
}
Truy vấn address
cho thấy những thông tin sau:
"missingComponentTypes": [
"subpremise"
]
Sau khi tìm hiểu thêm, bạn sẽ thấy dữ liệu của USPS cung cấp mã dpvConfirmation
của
D
, cũng cho biết tiền tố phụ bị thiếu.