Popraw adres – przykłady

W tym dokumencie opisujemy kilka rzeczywistych sytuacji, w których interfejs Address Validation API zwraca sygnały odpowiedzi wymagające naprawienia przez Twój system. Przykłady podane w tym dokumencie są ilustracyjne, 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: naprawianie

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 miejscowości i kodu pocztowego

Ten przykład ilustruje wpis zawierający tylko adres ulicy, bez miejscowości i kodu pocztowego.

Wprowadzony adres Region
21 45 40th street USA

Wynik w przypadku braku miejscowości 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, dlatego możesz wysłać zapytanie do addressComponents, aby dowiedzieć się więcej:

{
  "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. Wszystkie inne komponenty adresu zwraca jako UNCONFIRMED_BUT_PLAUSIBLE, z pominięciem niektórych ważnych danych, takich jak miejscowość i kod pocztowy.

Brak numeru domu

Ten przykład pokazuje brakujący numer domu.

Wprowadzony adres Region
Buckingham Palace Road, SW1W 9TQ London Wielka Brytania
Wynik w przypadku braku numeru domu
{
    "inputGranularity": "PREMISE_PROXIMITY",
    "validationGranularity": "ROUTE",
    "geocodeGranularity": "ROUTE"
}

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

"missingComponentTypes": [
        "street_number"
      ]

Przykłady przypadków brzegowych: naprawianie

W niektórych sytuacjach to, czy adres zostanie naprawiony, potwierdzony czy zaakceptowany, zależy od konkretnego scenariusza biznesowego. Poniższe przykłady ilustrują sytuacje, które niekoniecznie mieszczą się w kategorii naprawiania.

Niepotwierdzony numer domu

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

Wprowadzony adres Region
84 Buckingham Palace Road, SW1W 9TQ, London Wielka Brytania

Wynik w przypadku niepotwierdzonego numeru domu

Poniższy przykład podkreśla 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 do przybliżenia na poziomie lokalu z niepotwierdzonymi komponentami. Zapytanie do właściwości addressComponents pokazuje ten niepotwierdzony componentType:

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

W tym przypadku wartość confirmation_level elementu 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 podlokalu

Ten scenariusz opisuje adres, w którym brakuje tylko podlokalu, 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, wartość addressComplete to false, dlatego nie jest ona widoczna podczas ręcznego sprawdzania wyniku.

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

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

Wynik w przypadku braku podlokalu

W tym przykładzie w wyniku nie jest wyświetlana właściwość addressComplete, dlatego jej wartość to false. Dzięki temu wiesz, że co najmniej 1 element adresu jest nieoczekiwany, nierozwiązany lub brakujący.

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

}

Zapytanie address ujawnia te informacje:

"missingComponentTypes": [
        "subpremise"
      ]

Po dalszym zapytaniu dane USPS zwracają kod dpvConfirmation o wartości D, co również wskazuje na brakujący podlokal.