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 tín hiệu phản hồi cho các địa chỉ cần hệ thống xác nhận. Xem phần Tổng quan về quy trình công việc trong phần Tạo logic xác thực để biết ngữ cảnh.
Ví dụ thường gặp: xác nhận
Ví dụ sau đây minh hoạ trường hợp các khu đô thị có tên đường phố tương tự nhau. Giả sử người dùng muốn nhập địa chỉ của Google Building D ở Kirkland, WA, Hoa Kỳ. Tuy nhiên, thay vì Kirkland là thành phố, họ vô tình nhập Seattle.
Địa chỉ đã nhập | Khu vực |
---|---|
Toà nhà D, 451 7th Avenue South, Seattle, WA 98033 | Hoa Kỳ |
Kết quả cho dữ liệu đã thay thế
Ví dụ bên dưới nhấn mạnh các tín hiệu quan trọng từ phản hồi.
{
"inputGranularity": "SUB_PREMISE",
"validationGranularity": "PREMISE_PROXIMITY",
"geocodeGranularity": "PREMISE_PROXIMITY",
"addressComplete": true,
"hasUnconfirmedComponents": true
"hasReplacedComponents": true
}
PREMISE_PROXIMITY
cho biết giá trị gần đúng của địa chỉ cấp toà nhà, nhưng không chi tiết như SUB_PREMISE
, đây là mức độ chi tiết được cung cấp khi nhập.
Phản hồi cũng chứa cả thành phần chưa xác nhận và thành phần được thay thế, vì vậy, tổ hợp này sẽ đưa thành phần này vào danh mục xác nhận.
Một truy vấn về các thành phần địa chỉ cho thấy những vấn đề sau:
{
"componentName": {
"text": "451",
},
"componentType": "street_number",
"confirmationLevel": "UNCONFIRMED_BUT_PLAUSIBLE",
}
...
{
"componentName": {
"text": "98104",
},
"componentType": "postal_code",
"confirmationLevel": "CONFIRMED",
"replaced": true
}
...
{
"componentName": {
"text": "Building D",
"language_code": "en"
},
"componentType": "subpremise",
"confirmationLevel": "UNCONFIRMED_BUT_PLAUSIBLE",
}
.......
"unconfirmedComponentTypes": [
"street_number",
"subpremise"
]
Trong trường hợp này, Address Validation API (API Xác thực địa chỉ) đã tìm thấy một địa chỉ gần giống với địa chỉ được cung cấp ở Seattle và thay thế mã zip, một thành phần cấp cao hơn, để phân giải thành địa chỉ Seattle. Đây có thể là một nội dung thay thế hợp lệ, nhưng cùng với việc các thành phần chưa được xác nhận, bạn nên đảm bảo rằng người dùng có ý định nhập địa chỉ Seattle chứ không phải địa chỉ nào khác, chẳng hạn như Kirkland.
Ví dụ về trường hợp hiếm gặp: xác nhận
Các ví dụ sau đây minh hoạ các loại trường hợp hiếm gặp sau:
- Các suy luận nhỏ ĐƯỢC xác nhận. API Xác thực địa chỉ suy luận quốc gia, mã bưu chính hoặc tiểu bang, nhưng mọi thông tin khác đều được cung cấp và xác nhận. Việc kết hợp cả độ chi tiết và cấp độ xác nhận tạo ra một suy luận nhỏ không nhất thiết phải cần thao tác xác nhận.
- Thành phần địa chỉ không mong muốn CHƯA được xác nhận. Các thành phần địa chỉ chưa được xác nhận sẽ làm tăng mức độ rủi ro của địa chỉ. Điều này có thể yêu cầu xác nhận.
- Thành phần địa chỉ không mong muốn ĐÃ được xác nhận. Thành phần này không bắt buộc đối với địa chỉ thích hợp và API Xác thực địa chỉ sẽ xoá thành phần này khỏi kết quả. Các vấn đề về định dạng thường không cần xác nhận.
Suy luận nhỏ ĐƯỢC xác nhận
Khi kết hợp với dữ liệu đã xác nhận ở cấp độ chi tiết hơn, API vẫn có thể suy luận chính xác nếu dữ liệu đầu vào chỉ thiếu một thành phần thuộc các loại sau:
- Thành phố
- Tiểu bang
- Mã bưu chính
- Quốc gia
Ví dụ: khách hàng cung cấp địa chỉ đường phố hợp lệ cho nhà hàng McDonald's ở Springfield, Massachusetts, nhưng quên nhập tên thành phố và cung cấp mã zip không có phần mở rộng gồm 4 chữ số.
Địa chỉ đã nhập | Khu vực |
---|---|
1402 Allen St, MA 01118 | Hoa Kỳ |
Kết quả cho trường hợp thiếu thành phố
{
"inputGranularity": "PREMISE",
"validationGranularity": "PREMISE",
"geocodeGranularity": "PREMISE",
"addressComplete": true,
"hasInferredComponents": true
}
Trong trường hợp API Xác thực địa chỉ suy luận các thành phần cấp cao hơn để tạo địa chỉ có thể giao hàng, bạn có thể tin tưởng hơn vào dữ liệu từ hệ thống. Điều này là do các thành phần suy luận đại diện cho một khu vực địa lý rộng lớn dễ dàng so khớp với các thành phần địa chỉ đã xác nhận chi tiết hơn. Ngay cả ở những quốc gia có tên thành phố trùng lặp, chẳng hạn như Springfield ở Hoa Kỳ, các thành phần khác kết hợp với tên thành phố này có thể cung cấp một địa chỉ duy nhất.
Sử dụng ví dụ ở trên, quá trình quét trên tất cả các thành phần địa chỉ cho thấy rằng mọi thành phần đều được xác nhận, tức là khớp với dữ liệu do Address Validation API lưu trữ và dịch vụ này cũng suy luận được hai thành phần cấp cao hơn.
{
"componentName": {
"text": "Springfield",
"languageCode": "en"
},
"componentType": "locality",
"confirmationLevel": "CONFIRMED",
"inferred": true
},
{
"componentName": {
"text": "1806"
},
"componentType": "postal_code_suffix",
"confirmationLevel": "CONFIRMED",
"inferred": true
}
Thành phần địa chỉ không mong muốn CHƯA được xác nhận
Tình huống này minh hoạ tầm quan trọng của việc kiểm tra thời điểm các thành phần không được xác nhận. Nếu một thành phần địa chỉ không mong muốn, API Xác thực địa chỉ sẽ xoá thành phần đó khỏi kết quả. Trong những trường hợp này, bạn có thể chấp nhận địa chỉ hoặc xác nhận lại địa chỉ với khách hàng, tuỳ thuộc vào mức độ rủi ro và mức độ tin cậy.
Ví dụ: địa chỉ có thể ở một khu vực mà khách hàng thường nhập thông tin vô hại mà cơ quan bưu chính bỏ qua. Trong trường hợp này, bạn sẽ chấp nhận địa chỉ đó. Tuy nhiên, trong một số trường hợp, thành phần chưa xác nhận có thể không phải là điều mà khách hàng muốn.
Địa chỉ đã nhập | Khu vực |
---|---|
1 Rue Grenache, la caritat 2, 34630 Saint-Thibéry | Pháp |
Chưa xác nhận kết quả cho thành phần địa chỉ không mong muốn
{
"inputGranularity": "PREMISE",
"validationGranularity": "PREMISE",
"geocodeGranularity": "PREMISE",
"unconfirmedComponents": true
}
Ngoài kết quả có các thành phần chưa xác nhận, API Xác thực địa chỉ sẽ trả về địa chỉ được định dạng như sau:
"formattedAddress": "1 Rue Grenache, 34630 Saint-Thibéry, France",
Kết quả quét các thành phần chưa xác nhận cho thấy API đã xoá la caritat 2 khỏi địa chỉ được trả về:
{
"componentName": {
"text": "la caritat 2",
"languageCode": "fr"
},
"componentType": "sublocality_level_1",
"confirmationLevel": "UNCONFIRMED_BUT_PLAUSIBLE",
"unexpected": true
}
Thành phần địa chỉ không mong muốn ĐÃ được xác nhận
Ví dụ này minh hoạ việc đưa một hạt ở Vương quốc Anh vào địa chỉ được cung cấp, đây là một phương pháp phổ biến. Tuy nhiên, đây không phải là yêu cầu của cơ quan bưu chính Vương quốc Anh và về cơ bản sẽ bị bỏ qua. Hãy xem postoffice.co.uk và Cách ghi địa chỉ cho thư gửi đến Vương quốc Anh và quốc tế.
Do đó, khi khách hàng cung cấp một quận trong địa chỉ ở Vương quốc Anh, dịch vụ sẽ đánh giá thông tin này là dữ liệu đầu vào không mong muốn.
Địa chỉ đã nhập | Khu vực |
---|---|
33 Dunalley St, Cheltenham, Gloucestershire, GL50 4AP | Vương quốc Anh |
Kết quả cho thành phần địa chỉ không mong muốn ĐƯỢC xác nhận
{
"inputGranularity": "PREMISE",
"validationGranularity": "PREMISE",
"geocodeGranularity": "PREMISE"
}
Tại đây, address_complete
đánh giá là sai và bản phân tích thành phần địa chỉ cho thấy một cờ không mong muốn.
{
"componentName": {
"text": "Gloucestershire",
"languageCode": "en"
},
"componentType": "administrative_area_level_2",
"confirmationLevel": "CONFIRMED",
"unexpected": true
}
Mặc dù Gloucestershire là hạt chính xác cho địa chỉ đã nhập, nhưng bản thân địa chỉ này lại có định dạng không chính xác. Hãy nhớ rằng Address Validation API cũng đánh giá thông tin để định dạng phù hợp.