W tym dokumencie opisujemy kilka rzeczywistych scenariuszy, w których interfejs Address Validation API dostarcza sygnały odpowiedzi, które mogą wymagać naprawy przez system. Więcej informacji znajdziesz w sekcji Przykładowe przepływy pracy w artykule Tworzenie logiki weryfikacji.
Typowe przykłady: naprawa
W tej sekcji opisujemy typowe przykłady, w których interfejs Address Validation API dostarcza sygnały odpowiedzi wskazujące na niższą jakość informacji o adresie.
Brak miasta i kodu pocztowego
Ten przykład pokazuje wpis zawierający tylko adres pocztowy, bez miasta i kodu pocztowego.
| Wpisany adres | Region |
|---|---|
| 21 45 40th street | USA |
Werdykt dotyczący brakującego miasta i kodu pocztowego
W przykładzie poniżej wyróżniono ważne sygnały z odpowiedzi.
{
"inputGranularity": "PREMISE",
"validationGranularity": "OTHER",
"geocodeGranularity": "OTHER",
"hasUnconfirmedComponents": true,
"possibleNextAction": "FIX"
}
possibleNextAction to wstępna informacja, że adres może być niedostępny. Inne wyróżnione komponenty również obsługują tę możliwość, więc 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.
Zwraca wszystkie inne komponenty adresu jako UNCONFIRMED_BUT_PLAUSIBLE, z pominięciem niektórych ważnych danych, takich jak miejscowość i kod pocztowy.
Brak numeru domu
W tym przykładzie brakuje numeru domu.
| Wpisany adres | Region |
|---|---|
| Buckingham Palace Road, SW1W 9TQ London | Wielka Brytania |
Werdykt dotyczący brakującego numeru ulicy
{
"inputGranularity": "PREMISE_PROXIMITY",
"validationGranularity": "ROUTE",
"geocodeGranularity": "ROUTE",
"possibleNextAction": "FIX"
}
Po raz kolejny possibleNextAction wskazuje, że adres może być niedostępny. Ponadto validationGranularity to ROUTE, co wskazuje na dopasowanie do ulicy, ale nie ma wystarczających informacji, aby dotrzeć do lokalu. Dodatkowo w werdykcie brakuje właściwości addressComplete, dlatego jest ona false. Dalsze zapytanie dotyczące obiektu address ujawnia brakujący typ komponentu:
"missingComponentTypes": [
"street_number"
]
Przykłady przypadków skrajnych: 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 mogą nie pasować do żadnej kategorii poprawek.
Niepotwierdzony numer domu
W tym scenariuszu 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 wyróżniono ważne sygnały.
{
"inputGranularity": "PREMISE",
"validationGranularity": "PREMISE_PROXIMITY",
"geocodeGranularity": "PREMISE_PROXIMITY",
"addressComplete" : true,
"hasUnconfirmedComponents": true,
"possibleNextAction": "ACCEPT"
}
Warto sprawdzić, czy połączenie szczegółowości weryfikacji tylko do przybliżenia na poziomie lokalu z niepotwierdzonymi komponentami nie jest przyczyną problemu. Zapytanie dotyczące usługi addressComponents pokazuje te niepotwierdzone componentType:
{
"componentName": {
"text": "84",
"languageCode": "en"
},
"componentType": "street_number",
"confirmationLevel": "UNCONFIRMED_BUT_PLAUSIBLE"
}
W tym przypadku confirmation_level elementu street_number ma wartość UNCONFIRMED_BUT_PLAUSIBLE. Unconfirmed oznacza, że usługa nie może dopasować numeru ulicy 84 w swoim zbiorze danych, a plausible oznacza, że dane komponentu mogą być nadal prawidłowe.
Brak numeru lokalu
W tym scenariuszu opisano adres, w którym brakuje tylko numeru lokalu, 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 jakiegokolwiek komponentu adresu, addressComplete ma wartość false i dlatego nie jest widoczny podczas ręcznego sprawdzania werdyktu.
Załóżmy na przykład, że klient wpisuje prawidłowy adres urzędu miasta w San Francisco, ale nie podaje numeru pokoju.
| Wpisany adres | Region |
|---|---|
| 1 Doctor Carlton B Goodlett Place, San Francisco, CA 94102, USA | USA |
Werdykt dotyczący brakującego lokalu
W tym przykładzie werdykt nie wyświetla właściwości addressComplete, więc jest to false. Dzięki temu wiesz, że co najmniej 1 element adresu jest nieoczekiwany, nierozpoznany lub go brakuje.
{
"inputGranularity": "PREMISE",
"validationGranularity": "PREMISE",
"geocodeGranularity": "PREMISE",
"hasInferredComponents": true,
"possibleNextAction": "CONFIRM_ADD_SUBPREMISES"
}
Zapytanie address zwraca te informacje:
"missingComponentTypes": [
"subpremise"
]
Po dalszym sprawdzeniu dane USPS podają kod dpvConfirmation o wartości D, który również wskazuje na brakujący numer lokalu.