Xác nhận địa chỉ (ví dụ)

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ỉ đảm bảo hành vi xác nhận 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: xác nhận

Ví dụ sau minh hoạ trường hợp các khu vực đô thị có tên đường phố tương tự. Giả sử người dùng có ý định nhập địa chỉ của toà nhà D của Google tại Kirkland, WA, Hoa Kỳ. Tuy nhiên, thay vì Kirkland như thành phố, chúng vô tình đi vào Seattle.

Đã nhập địa chỉ Vùng
Toà nhà D, 451 7th Avenue South, Seattle, WA 98033 Hoa Kỳ

Phán quyết về dữ liệu được thay thế

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": "SUB_PREMISE",
  "validationGranularity": "PREMISE_PROXIMITY",
  "geocodeGranularity": "PREMISE_PROXIMITY",
  "addressComplete": true,
  "hasUnconfirmedComponents": true
  "hasReplacedComponents": true
}

PREMISE_PROXIMITY cho biết khoảng gần của một địa chỉ cấp toà nhà, nhưng không chi tiết như SUB_PREMISE (là độ chi tiết được cung cấp khi nhập vào). Phản hồi cũng chứa cả thành phần chưa được xác nhận và thành phần được thay thế, vì vậy, tổ hợp sẽ đưa thông tin này vào danh mục xác nhận.

Truy vấn các thành phần địa chỉ cho thấy các vấn đề cần quan tâm 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, API xác thực địa chỉ đã tìm thấy địa chỉ gần đúng với địa chỉ được cung cấp ở Seattle và API này đã thay thế mã bưu chính (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, việc đảm bảo rằng người dùng dự định nhập một địa chỉ ở Seattle chứ không phải thông tin nào khác, chẳng hạn như Kirkland.

Ví dụ về các trường hợp hiếm gặp: xác nhận

Ví dụ sau đây minh hoạ các loại trường hợp đặc biệt sau đây:

  • Suy luận nhỏ được xác nhận. API xác thực địa chỉ suy đoán quốc gia, mã bưu chính hoặc tiểu bang, nhưng mọi thứ khác đều được cung cấp và xác nhận. Việc kết hợp cả mức độ chi tiết và mức độ xác nhận sẽ tạo ra một kết luận nhỏ không nhất thiết cần hành động xác nhận.
  • Thành phần địa chỉ không mong muốn KHÔNG được xác nhận. Các thành phần địa chỉ chưa được xác nhận sẽ thêm vào mức rủi ro của địa chỉ. Điều này có thể đảm bảo việc xác nhận.
  • Thành phần địa chỉ không mong muốn được xác nhận. Bạn không nhất thiết phải sử dụng thành phần này khi có địa chỉ phù hợp và API xác thực địa chỉ sẽ xoá thành phần đó khỏi kết quả. Các vấn đề về định dạng thường không đảm bảo được việc xác nhận.

Thông tin 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 trong các loại sau:

  • Thành phố
  • Tiểu bang
  • Mã bưu chính
  • Quốc gia

Ví dụ: một khách hàng cung cấp địa chỉ đường phố 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 không có phần mở rộng gồm 4 chữ số.

Đã nhập địa chỉ Vùng
1402 Allen St, MA 01118 Hoa Kỳ

Phán quyết về thành phố bị thiếu

{
  "inputGranularity": "PREMISE",
  "validationGranularity": "PREMISE",
  "geocodeGranularity": "PREMISE",
  "addressComplete": true,
  "hasInferredComponents": true
}

Trong những tình huống mà Address Validation API (API Xác thực địa chỉ) dự đoán các thành phần cấp cao hơn để tạo ra địa chỉ 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 sẽ dễ 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ố lặp lại, chẳng hạn như Springfield ở Hoa Kỳ, các thành phần khác kết hợp với thành phố có thể tạo ra một địa chỉ duy nhất.

Trong ví dụ ở trên của chúng tôi, quá trình quét mọi thành phần địa chỉ cho thấy mọi thành phần đều được xác nhận, có nghĩa là dữ liệu đó khớp với dữ liệu do API xác thực địa chỉ lưu trữ, đồng thời dịch vụ cũng dự đoán 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 KHÔNG đượ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 như mong muốn, thì 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 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 bị cơ quan bưu chính bỏ qua. Trong trường hợp này, bạn chấp nhận địa chỉ này. Tuy nhiên, trong một số trường hợp, thành phần chưa được xác nhận có thể không phải là điều khách hàng muốn.

Đã nhập địa chỉ Vùng
1 đường Grenache, la caritat 2, 34630 Saint-Thibéry Pháp

Kết quả cho thành phần địa chỉ không mong muốn chưa được xác nhận

{
  "inputGranularity": "PREMISE",
  "validationGranularity": "PREMISE",
  "geocodeGranularity": "PREMISE",
  "unconfirmedComponents": true
}

Ngoài kết quả có các thành phần chưa được xác nhận, API Xác thực địa chỉ còn trả về địa chỉ đã định dạng sau:

"formattedAddress": "1 Rue Grenache, 34630 Saint-Thibéry, France",

Quá trình quét các thành phần chưa được 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 của Vương quốc Anh vào địa chỉ đã 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 của Vương quốc Anh và về cơ bản sẽ bỏ qua. Xem postoffice.co.ukCách gửi thư đến Vương quốc Anh và thư quốc tế.

Do đó, khi khách hàng cung cấp hạt trong địa chỉ ở Vương quốc Anh, dịch vụ sẽ đánh giá đây là dữ liệu đầu vào ngoài dự kiến.

Đã nhập địa chỉ Vùng
33 Dunalley St, Cheltenham, Gloucestershire, GL50 4AP Vương quốc Anh

Phán quyết cho thành phần địa chỉ không mong muốn được xác nhận

{
   "inputGranularity": "PREMISE",
   "validationGranularity": "PREMISE",
   "geocodeGranularity": "PREMISE"
}

Ở đây, address_complete có kết quả đánh giá là false và quá trình 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ỉ đó có định dạng không đúng. Hãy nhớ rằng API xác thực địa chỉ cũng đánh giá thông tin để định dạng đúng.