Tài liệu này mô tả một số trường hợp thực tế mà Address Validation API cung cấp tín hiệu phản hồi cho những địa chỉ có thể đảm bảo hành vi xác nhận từ hệ thống của bạn. Xem Ví dụ về quy trình công việc trong phần Xây dựng logic xác thực để biết bối 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 vực đô thị có tên đường tương tự nhau. Giả sử người dùng muốn nhập địa chỉ cho Google Building D ở Kirkland, Washington, Hoa Kỳ. Tuy nhiên, thay vì nhập Kirkland làm thành phố, họ vô tình nhập Seattle.
Địa chỉ đã nhập | Khu vực |
---|---|
Building D, 451 7th Avenue South, Seattle, WA 98033 | Hoa Kỳ |
Kết quả cho dữ liệu được thay thế
Ví dụ bên dưới nhấn mạnh các tín hiệu quan trọng trong phản hồi.
{
"inputGranularity": "SUB_PREMISE",
"validationGranularity": "PREMISE_PROXIMITY",
"geocodeGranularity": "PREMISE_PROXIMITY",
"addressComplete": true,
"hasUnconfirmedComponents": true
"hasReplacedComponents": true,
"possibleNextAction": "CONFIRM"
}
possibleNextAction
cho biết ban đầu rằng bạn nên xác nhận địa chỉ với khách hàng. Các tín hiệu khác trong kết quả cung cấp thêm thông tin chi tiết về những vấn đề có thể xảy ra với địa chỉ. PREMISE_PROXIMITY
cho biết mức độ xấp xỉ của địa chỉ ở cấp toà nhà, nhưng không chi tiết bằng SUB_PREMISE
. Đây là mức độ chi tiết được cung cấp khi nhập.
Phản hồi này cũng chứa cả thành phần chưa được xác nhận và thành phần đã được thay thế.
Một truy vấn về các thành phần địa chỉ cho thấy những vấn đề đáng lo ngại sau đây:
{
"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 đã 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ã bưu chính (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 lựa chọn 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 dự định nhập địa chỉ ở Seattle chứ không phải địa chỉ khác, chẳng hạn như Kirkland.
Ví dụ về trường hợp đặc biệt: xác nhận
Các ví dụ sau đây minh hoạ các loại trường hợp đặc biệt sau:
- Những suy luận nhỏ ĐƯỢC xác nhận. Address Validation API 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. Sự kết hợp giữa cả mức độ chi tiết và mức độ xác nhận tạo nên một suy luận nhỏ không nhất thiết cần hành động xác nhận.
- CHƯA xác nhận thành phần địa chỉ không mong muố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ể cần được 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 phải có để có một địa chỉ phù hợp và Address Validation API sẽ xoá thành phần này khỏi đầu ra. Các vấn đề về định dạng thường không cần xác nhận.
Những 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ể đưa ra 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
- Postal code
- Quốc gia
Ví dụ: khách hàng cung cấp địa chỉ đường hợp lệ cho một nhà hàng McDonald's ở Springfield, Massachusetts, nhưng quên nhập thành phố và cung cấp mã bưu chính mà 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 thành phố bị thiếu
{
"inputGranularity": "PREMISE",
"validationGranularity": "PREMISE",
"geocodeGranularity": "PREMISE",
"addressComplete": true,
"hasInferredComponents": true,
"possibleNextAction": "CONFIRM"
}
Trong trường hợp Address Validation API suy luận các thành phần cấp cao hơn để tạo ra một địa chỉ có thể gửi được, bạn có thể tin tưởng hơn rằng dữ liệu từ hệ thống là chính xác. Điều này là do các thành phần được suy luận đại diện cho một khu vực địa lý rộng lớn dễ dàng được so khớp hơn 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ố đó có thể cung cấp một địa chỉ riêng biệt.
Sử dụng ví dụ trên, một lượt quét trên tất cả các thành phần địa chỉ cho thấy mọi thành phần đều được xác nhận, tức là thành phần đó 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 ra 2 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 khi 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, thì Address Validation API sẽ xoá thành phần đó khỏi đầu ra. 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 với khách hàng, tuỳ thuộc vào mức độ rủi ro và mức độ tin cậy của bạn.
Ví dụ: địa chỉ có thể thuộc một khu vực mà khách hàng thường nhập thông tin vô hại và cơ quan bưu chính bỏ qua thông tin đó. 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, một thành phần chưa được xác nhận có thể không phải là thứ mà khách hàng muốn.
Địa chỉ đã nhập | Khu vực |
---|---|
59 Cherrydown Avenue, Chingford, London E4 8DT | Vương quốc Anh |
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,
"possibleNextAction": "ACCEPT"
}
Ngoài kết quả có các thành phần chưa được xác nhận, Address Validation API còn trả về địa chỉ được định dạng sau:
"formattedAddress": "59 Cherrydown Avenue, London E4 8DT, UK",
Một lần quét các thành phần chưa được xác nhận cho thấy API đã xoá Chingford khỏi địa chỉ được trả về:
{
"componentName": {
"text": "Chingford",
"languageCode": "en"
},
"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 thêm một hạt ở Vương quốc Anh vào địa chỉ được cung cấp. Đây là một cách làm 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. Xem postoffice.co.uk và Cách ghi địa chỉ thư ở Vương quốc Anh và quốc tế.
Do đó, khi khách hàng cung cấp một hạt trong địa chỉ ở Vương quốc Anh, dịch vụ sẽ đánh giá đây là thông tin đầ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",
"possibleNextAction": "ACCEPT"
}
Ở đây, address_complete
đánh giá là sai và một phân tích về 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ỉ đó có định dạng không chính xác. Xin lưu ý rằng Address Validation API cũng đánh giá thông tin để đảm bảo định dạng phù hợp.