Potwierdź adres – przykłady

Ten dokument opisuje kilka rzeczywistych sytuacji, w których interfejs Address Validation API dostarcza sygnały odpowiedzi w przypadku adresów, które wymagają potwierdzenia działania przez system. Kontekst znajdziesz w omówieniu przepływu pracy artykułu Tworzenie logiki weryfikacji.

Typowe przykłady: potwierdzenie

Poniższy przykład pokazuje zastosowanie obszarów metropolitalnych z podobnymi nazwami ulic. Załóżmy, że użytkownik zamierza wpisać adres budynku Google D w Kirkland, WA, USA. Jednak zamiast Kirkland jako miasto wpisuje się przez pomyłkę Seattle.

Wpisano adres Region
Building D, 451 7th Avenue South, Seattle, WA 98033, USA US

Ocena zastąpionych danych

W przykładzie poniżej podkreślono 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 zbliżenie adresu na poziomie budynku, ale nie jest tak szczegółowe jak SUB_PREMISE, czyli z dokładnością podaną w danych wejściowych. Odpowiedź zawiera też zarówno niepotwierdzone, jak i zastąpione komponenty, więc kombinacja przenosi to do kategorii confirm (potwierdzenie).

Zapytanie o składniki adresu ujawnia następujące obszary potencjalnych problemów:

{
  "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ł adres, który jest zbliżony do adresu w Seattle, i zastąpił kod pocztowy (komponent wyższego poziomu) tak, aby wskazywał adres w Seattle. Może to być dobry zamiennik, ale oprócz tego, że komponenty nie zostały potwierdzone, warto upewnić się, że użytkownik chce wpisać adres w Seattle, a nie coś innego, np. Kirkland.

Przykłady skrajnych przypadków: potwierdź

Poniższe przykłady obrazują następujące typy skrajnych liter:

Drobne wnioski, które ZOSTAŁY potwierdzone

W połączeniu z potwierdzonymi danymi o bardziej szczegółowym poziomie interfejs API nadal może wnioskować prawidłowo, jeśli w danych wejściowych brakuje tylko jednego komponentu tych typów:

  • Miasto
  • Stan
  • Kod pocztowy
  • Kraj

Na przykład klient podał prawidłowy adres restauracji McDonald's w Warszawie, ale zapomniał podać miasto i podał kod pocztowy bez czterocyfrowego rozszerzenia.

Wpisano adres Region
1402 Allen St, MA 01118, USA US

Ocena brakującego miasta

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

W sytuacjach, gdy interfejs Address Validation API określa komponenty wyższego poziomu w celu wygenerowania adresu możliwego do dostarczenia, możesz mieć większą pewność, że dane z systemu są prawidłowe. Dzieje się tak, ponieważ składniki wywnioskowane, 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ą, takich jak Wrocław w Stanach Zjednoczonych, połączone z nim inne komponenty mogą zapewnić unikalny adres.

W przykładzie powyżej skanowanie wszystkich komponentów adresu wykazuje, że każdy składnik adresu jest potwierdzony, co oznacza, że pasuje do danych przechowywanych przez interfejs Address Validation API oraz że usługa łączy 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 komponent adresu NIE został potwierdzony

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

Może on na przykład pochodzić z regionu, w którym klienci często wpisują nieszkodliwe informacje ignorowane przez urząd pocztowy, w takim przypadku akceptujesz adres. Jednak w niektórych przypadkach niepotwierdzony komponent może nie być zgodny z oczekiwaniami klienta.

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

Weryfikacja komponentu nieoczekiwanego 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",

Skan 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 jako IS

Ten przykład pokazuje, że w podanym adresie pojawia się hrabstwo brytyjskie, co jest powszechną praktyką. Nie jest to jednak wymagane przez brytyjski urząd pocztowy, więc jest to zasadniczo ignorowane. Więcej informacji znajdziesz na stronie postoffice.co.uk oraz na stronie Jak adresować pocztę brytyjską i międzynarodową.

W związku z tym, gdy klient poda kraj z adresem w Wielkiej Brytanii, usługa ocenia to jako nieoczekiwane dane wejściowe.

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

Ocena nieoczekiwanego komponentu adresu, który został potwierdzony

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

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

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

Mimo że Gloucestershire jest poprawnym hrabstwem dla podanego adresu, sam adres jest nieprawidłowo sformatowany. Pamiętaj, że interfejs Address Validation API ocenia też informacje pod kątem prawidłowego formatowania.