Sửa đị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 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"
}

validationGranularityROUTE, 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 đó, addressCompletefalse 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.