Popraw adres – przykłady

W tym dokumencie opisujemy kilka rzeczywistych scenariuszy, w których interfejs Address Validation API zwraca sygnały odpowiedzi wymagające poprawki w systemie. Przykłady podane poniżej mają charakter ilustracyjny, ale nie wyczerpują wszystkich możliwości. Więcej informacji znajdziesz w sekcji Omówienie przepływu pracy w artykule Tworzenie logiki weryfikacji.

Typowe przykłady: poprawki

W tej sekcji opisujemy typowe przykłady, w których interfejs Address Validation API zwraca sygnały odpowiedzi wskazujące na niższą jakość informacji o adresie.

Brak miasta i kodu pocztowego

Ten przykład ilustruje wpis zawierający tylko adres ulicy, bez miasta ani kodu pocztowego.

Wpisany adres Region
21 45 40th street USA

Decyzja w sprawie braku miasta i kodu pocztowego

Poniższy przykład podkreśla ważne sygnały z odpowiedzi.

{
  "inputGranularity": "PREMISE",
  "validationGranularity": "OTHER",
  "geocodeGranularity": "OTHER",
  "hasUnconfirmedComponents": true
}

Te sygnały wskazują na adres, pod który nie można dostarczyć przesyłki. Więcej informacji znajdziesz w addressComponents:

{
  "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"
}

Interfejs Address Validation API zwraca tylko kraj (Stany Zjednoczone) jako CONFIRMED. Zwraca wszystkie inne komponenty adresu jako UNCONFIRMED_BUT_PLAUSIBLE, z ważnymi pominięciami w danych, takimi jak miejscowość i kod pocztowy.

Brak numeru domu

Ten przykład pokazuje brakujący numer domu.

Wpisany adres Region
Buckingham Palace Road, SW1W 9TQ Londyn Wielka Brytania
Werdykt dotyczący brakującego numeru domu
{
    "inputGranularity": "PREMISE_PROXIMITY",
    "validationGranularity": "ROUTE",
    "geocodeGranularity": "ROUTE"
}

validationGranularity to ROUTE, co oznacza dopasowanie do ulicy, ale nie ma wystarczających informacji, aby dotrzeć do lokalu. Dodatkowo w werdykcie brakuje właściwości addressComplete, dlatego jest on false. Dalsze zapytanie dotyczące obiektu address ujawnia brakujący typ komponentu:

"missingComponentTypes": [
        "street_number"
      ]

Przykłady przypadków granicznych: poprawka

W niektórych sytuacjach to, czy poprawisz, potwierdzisz czy zaakceptujesz adres, zależy od konkretnego scenariusza biznesowego. Przykłady poniżej ilustrują sytuacje, które niekoniecznie należą do żadnej z kategorii rozwiązań.

Niepotwierdzony numer domu

W tym przypadku interfejs Address Validation API nie może potwierdzić podanego numeru ulicy, ale wskazuje, że adres jest kompletny.

Wpisany adres Region
84 Buckingham Palace Road, SW1W 9TQ, Londyn Wielka Brytania

Werdykt dotyczący niepotwierdzonego numeru domu

W przykładzie poniżej podkreślono ważne sygnały.

{
  "inputGranularity": "PREMISE",
  "validationGranularity": "PREMISE_PROXIMITY",
  "geocodeGranularity": "PREMISE_PROXIMITY",
  "addressComplete" : true,
  "hasUnconfirmedComponents": true
}

Warto sprawdzić połączenie dokładności weryfikacji tylko z przybliżeniem na poziomie lokalu wraz z niepotwierdzonymi komponentami. Zapytanie dotyczące właściwości addressComponents pokazuje te niepotwierdzone componentType:

{
  "componentName": {
    "text": "84",
    "languageCode": "en"
  },
  "componentType": "street_number",
  "confirmationLevel": "UNCONFIRMED_BUT_PLAUSIBLE"
}

W tym przypadku confirmation_level urządzenia street_number jest ustawiona na UNCONFIRMED_BUT_PLAUSIBLE. Niepotwierdzony oznacza, że usługa nie może dopasować numeru domu 84 w swoim zbiorze danych, a prawdopodobny oznacza, że dane komponentu mogą być nadal prawidłowe.

Brak podlokalizacji

Ten scenariusz opisuje adres, w którym brakuje tylko podrzędnego miejsca, np. numeru mieszkania lub działu. W przeciwnym razie interfejs Address Validation API może w pełni zweryfikować adres. Podobnie jak w przypadku braku dowolnego komponentu adresu, element addressComplete jest false i dlatego nie występuje w wyniku ręcznej weryfikacji.

Załóżmy, że klient wpisuje prawidłowy adres biura rzeczoznawcy miejskiego w San Francisco, ale pomija numer pokoju.

Wpisany adres Region
1 Doctor Carlton B Goodlett Place, San Francisco, CA 94102 USA

Werdykt w przypadku braku podlokalu

W tym przykładzie werdykt nie zawiera właściwości addressComplete, więc jest false. Dzięki temu wiesz, że co najmniej 1 element adresu jest nieoczekiwany, nierozwiązany lub brakuje go.

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

}

Zapytanie address ujawnia te informacje:

"missingComponentTypes": [
        "subpremise"
      ]

Po dalszym sprawdzeniu danych USPS okazuje się, że kod dpvConfirmationD również wskazuje na brak podrzędnego lokalu.