Potwierdź adres – przykłady

W tym dokumencie opisujemy kilka rzeczywistych sytuacji, w których interfejs Address Validation API dostarcza sygnały odpowiedzi dla adresów, które zapewniają potwierdzenie działania systemu. Kontekst znajdziesz w artykule Omówienie przepływu pracy w artykule Tworzenie logiki weryfikacji.

Typowe przykłady: potwierdzenie

Poniższy przykład ilustruje przypadek obszarów metropolitalnych z podobnymi nazwami ulic. Załóżmy, że użytkownik chce wpisać adres budynku Google D w Kirkland (Warszawie, USA). Zamiast jednak Kirkland jako miasto, zostają one przypadkowo wprowadzone do Seattle.

Wpisano adres Region
Building D, 451 7th Avenue South, Seattle, WA 98033 Stany Zjednoczone

Efekt zastąpienia danych

Poniższy przykład przedstawia ważne sygnały z odpowiedzi.

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

Pole PREMISE_PROXIMITY wskazuje blisko adresu na poziomie budynku, ale nie jest tak szczegółowe jak SUB_PREMISE, czyli poziom szczegółowości danych wejściowych. Odpowiedź zawiera też niepotwierdzone i zastąpione komponenty, dlatego kombinacja ta uwzględnia te elementy w kategorii confirm (potwierdź).

Zapytanie dotyczące komponentów adresu dostarcza tych obszarów problemu:

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

W tym przypadku interfejs Address Validation API znalazł zbliżone przybliżenie do podanego adresu w Seattle i zastąpił kod pocztowy (komponent wyższego poziomu) na adres w Seattle. Może to być prawidłowe zamiennik, ale w związku z tym, że elementy nie zostały potwierdzone, warto upewnić się, że użytkownik wpisuje adres w Krakowie, a nie coś innego, np. w Krakowie.

Przykłady przypadków skrajnych: potwierdź

Poniższe przykłady ilustrują następujące skrajne wielkości liter:

Drobne wnioski, które ZOSTAŁY potwierdzone

W połączeniu z potwierdzonymi danymi na bardziej szczegółowym poziomie interfejs API może nadal generować prawidłowe wnioskowanie, jeśli brakuje w nich tylko jednego komponentu tych typów:

  • Miasto
  • Stan
  • Kod pocztowy
  • Kraj

Przykład: klient podaje prawidłowy adres restauracji McDonald's w Warszawie, ale zapomni podać nazwę miasta i musi podać kod pocztowy bez rozszerzenia czterocyfrowego.

Wpisano adres Region
1402 Allen St, MA 01118, USA Stany Zjednoczone

Wniosek dotyczący zaginięcia miasta

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

W sytuacjach, gdy interfejs Address Validation API ustala komponenty wyższego poziomu, aby uzyskać adres do dostarczenia, możesz mieć większą pewność, że dane z systemu są prawidłowe. Dzieje się tak, ponieważ domniemane komponenty, które reprezentują szeroki region geograficzny, są łatwiej dopasowywane do potwierdzonych komponentów adresu, które są bardziej szczegółowe. Nawet w krajach, w których nazwy miast się powtarzają, jak np. Springfield w Stanach Zjednoczonych, inne składniki w połączeniu z nią mogą zapewniać unikalny adres.

W naszym przykładzie skanowanie wszystkich komponentów adresu pokazuje, że każdy składnik został potwierdzony, co oznacza, że pasuje on do danych przechowywanych przez interfejs Address Validation API, a usługa wykorzystuje też 2 komponenty wyższego poziomu.

{
  "componentName": {
    "text": "Springfield",
    "languageCode": "en"
  },
  "componentType": "locality",
  "confirmationLevel": "CONFIRMED",
  "inferred": true
},
{
  "componentName": {
    "text": "1806"
  },
  "componentType": "postal_code_suffix",
  "confirmationLevel": "CONFIRMED",
  "inferred": true
}

Nieoczekiwany składnik adresu NIE potwierdzono

Ten scenariusz pokazuje, jak ważne jest sprawdzenie, gdy komponenty nie są potwierdzone. Jeśli komponent adresu jest nieoczekiwany, interfejs Address Validation API usuwa go z danych wyjściowych. W takiej sytuacji możesz zaakceptować adres lub potwierdzić go u klienta w zależności od poziomu ryzyka i pewności.

Może to być na przykład adres z regionu, w którym klienci często wpisują szkodliwe informacje ignorowane przez urząd pocztowy. W takim przypadku możesz zaakceptować ten adres. Jednak w niektórych przypadkach elementy, które nie są potwierdzone, mogą nie być zadowalające.

Wpisano adres Region
1 Rue Grenache, la caritat 2, 34630 Saint-Thibéry Francja

Decyzja dotycząca nieoczekiwanego składnika adresu nie została potwierdzona

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

Oprócz wyniku z niepotwierdzonymi komponentami interfejs Address Validation API zwraca ten sformatowany adres:

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

Skanowanie w poszukiwaniu niepotwierdzonych komponentów pokazuje, że interfejs API usunął ze zwróconego adresu la caritat 2:

{
  "componentName": {
    "text": "la caritat 2",
    "languageCode": "fr"
  },
  "componentType": "sublocality_level_1",
  "confirmationLevel": "UNCONFIRMED_BUT_PLAUSIBLE",
  "unexpected": true
}

Nieoczekiwany komponent adresu, który został potwierdzony

Ten przykład pokazuje, że w podanym adresie podano kraj w Wielkiej Brytanii, co jest częste. Nie jest to jednak wymagane przez brytyjski urząd pocztowy i zasadniczo jest to zignorowane. Więcej informacji znajdziesz na stronie postoffice.co.uk i artykuł o adresowaniu poczty w Wielkiej Brytanii i międzynarodowej.

W efekcie gdy klient poda kraj w adresie w Wielkiej Brytanii, usługa uzna to za nieoczekiwane dane wejściowe.

Wpisano adres Region
33 Dunalley St, Cheltenham, Gloucestershire, GL50 4AP Wielka Brytania

Wynik nieoczekiwanego komponentu adresu, który został potwierdzony

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

W tym przypadku address_complete zwraca wartość fałsz, a analiza składnika adresu wykrywa nieoczekiwaną flagę.

{
  "componentName": {
    "text": "Gloucestershire",
    "languageCode": "en"
  },
  "componentType": "administrative_area_level_2",
  "confirmationLevel": "CONFIRMED",
  "unexpected": true
}

Gloucestershire jest prawidłowym krajem w przypadku wpisanego adresu, ale sam adres jest nieprawidłowo sformatowany. Warto pamiętać, że interfejs Address Validation API również ocenia informacje pod kątem prawidłowego formatowania.