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.