Cel
Jako deweloper często pracujesz ze zbiorami danych zawierającymi adresy klientów, które mogą nie być dobrej jakości. Musisz upewnić się, że adresy są prawidłowe w różnych przypadkach użycia, od weryfikacji tożsamości klienta po dostawę i nie tylko.
Address Validation API to usługa Google Maps Platform, której możesz używać do weryfikacji adresów. Przetwarza jednak tylko jeden adres naraz. W tym dokumencie opisujemy, jak korzystać z weryfikacji adresów w przypadku dużych ilości danych w różnych scenariuszach, od testowania interfejsu API po jednorazową i cykliczną weryfikację adresów.
Przypadki użycia
Teraz omówimy przypadki użycia, w których przydaje się Weryfikacja adresów na dużą skalę.
Testowanie
Często chcesz przetestować interfejs Address Validation API, uruchamiając tysiące adresów. Możesz mieć adresy w pliku CSV i chcieć sprawdzić ich jakość.
Jednorazowa weryfikacja adresów
Podczas wprowadzania do Address Validation API chcesz zweryfikować istniejącą bazę danych adresów z bazą danych użytkowników.
Cykliczna weryfikacja adresów
Istnieje wiele scenariuszy, w których adresy są weryfikowane cyklicznie:
- Możesz mieć zaplanowane zadania sprawdzania adresów pod kątem szczegółów zarejestrowanych w ciągu dnia, np. rejestracji klientów, szczegółów zamówień czy harmonogramów dostaw.
- Możesz otrzymywać zrzuty danych zawierające adresy z różnych działów, na przykład od sprzedaży po marketing. Nowy dział, który otrzymuje adresy, często chce je zweryfikować przed użyciem.
- Możesz zbierać adresy podczas ankiet lub różnych promocji, a później aktualizować je w systemie online. Chcesz sprawdzić, czy adresy są prawidłowe, podczas wprowadzania ich do systemu.
Szczegółowe omówienie techniczne
Na potrzeby tego dokumentu zakładamy, że:
- Wywołujesz interfejs Address Validation API z adresami z bazy danych klientów (czyli bazy danych z danymi klientów).
- Możesz zapisać w pamięci podręcznej znaczniki ważności dla poszczególnych adresów w bazie danych.
- Flagi ważności są pobierane z interfejsu Address Validation API, gdy klient się loguje.
Pamięć podręczna do użytku w środowisku produkcyjnym
Podczas korzystania z interfejsu Address Validation API często chcesz zapisać w pamięci podręcznej część odpowiedzi z wywołania interfejsu API. Chociaż nasze Warunki korzystania z usługi ograniczają dane, które można przechowywać w pamięci podręcznej, wszystkie dane, które można przechowywać w pamięci podręcznej z interfejsu Address Validation API, muszą być przechowywane w pamięci podręcznej na koncie użytkownika. Oznacza to, że w bazie danych adres lub metadane adresu muszą być przechowywane w pamięci podręcznej i powiązane z adresem e-mail użytkownika lub innym podstawowym identyfikatorem.
W przypadku weryfikacji adresów na dużą skalę buforowanie danych musi być zgodne ze szczegółowymi warunkami korzystania z usługi Address Validation API opisanymi w sekcji 11.3. Na podstawie tych informacji możesz określić, czy adres użytkownika może być nieprawidłowy. W takim przypadku podczas następnej interakcji z aplikacją poprosisz użytkownika o poprawienie adresu.
- Dane z obiektu AddressComponent
confirmationLevelinferredspellCorrectedreplacedunexpected
Jeśli chcesz zapisać w pamięci podręcznej informacje o rzeczywistym adresie, możesz to zrobić tylko za zgodą użytkownika. Dzięki temu użytkownik będzie wiedział, dlaczego dana usługa przechowuje jego adres, i będzie mógł zaakceptować warunki udostępniania adresu.
Przykładem zgody użytkownika może być bezpośrednia interakcja z formularzem adresu e-commerce na stronie płatności. Zakładamy, że adres będzie przechowywany w pamięci podręcznej i przetwarzany w celu wysłania przesyłki.
Za zgodą użytkownika możesz zapisać w pamięci podręcznej formattedAddress i inne kluczowe komponenty z odpowiedzi. Jednak w przypadku braku interfejsu użytkownik nie może wyrazić zgody, ponieważ weryfikacja adresu odbywa się w backendzie. Dlatego w tym scenariuszu bez interfejsu użytkownika można przechowywać w pamięci podręcznej bardzo ograniczone informacje.
Interpretowanie odpowiedzi
Jeśli odpowiedź interfejsu Address Validation API zawiera te znaczniki, możesz mieć pewność, że adres wejściowy jest prawidłowy:
- Znacznik
addressCompletew obiekcie Verdict ma wartośćtrue. - Wartość
validationGranularityw obiekcie Verdict toPREMISElubSUB_PREMISE. - Żaden z obiektów AddressComponent nie jest oznaczony jako:
Inferred(Uwaga:: inferred=truemoże się zdarzyć, gdyaddressComplete=true)spellCorrectedreplacedunexpected, oraz
confirmationLevel: poziom potwierdzenia w komponencie AddressComponent jest ustawiony naCONFIRMEDlubUNCONFIRMED_BUT_PLAUSIBLE.
Jeśli odpowiedź interfejsu API nie zawiera powyższych znaczników, prawdopodobnie adres wejściowy był niskiej jakości. Możesz zapisać flagi w pamięci podręcznej w bazie danych, aby to odzwierciedlić. Oznaczenia dotyczące pamięci podręcznej wskazują, że adres jako całość jest niskiej jakości, natomiast bardziej szczegółowe oznaczenia, takie jak „Poprawiono pisownię”, wskazują konkretny typ problemu z jakością adresu. Przy następnej interakcji klienta z adresem oznaczonym jako niskiej jakości możesz wywołać interfejs Address Validation API z istniejącym adresem. Address Validation API zwróci poprawiony adres, który możesz wyświetlić za pomocą komunikatu w interfejsie. Gdy klient zaakceptuje sformatowany adres, możesz zapisać w pamięci podręcznej te informacje z odpowiedzi:
formattedAddresspostalAddressaddressComponent componentNameslubUspsData standardizedAddress
Wdrażanie weryfikacji adresów bez interfejsu
Na podstawie powyższej dyskusji:
- Ze względów biznesowych często konieczne jest zapisanie w pamięci podręcznej części odpowiedzi z interfejsu Address Validation API.
- Jednak Warunki korzystania z usługi Google Maps Platform ograniczają dane, które można przechowywać w pamięci podręcznej.
W następnej sekcji omówimy dwuetapowy proces dostosowywania się do Warunków korzystania z usługi i wdrażania weryfikacji adresów na dużą skalę.
Krok 1.
W pierwszym kroku przyjrzymy się, jak wdrożyć skrypt weryfikacji adresów o dużej liczbie zapytań z istniejącego potoku danych. Ten proces pozwoli Ci przechowywać określone pola z odpowiedzi interfejsu Address Validation API w sposób zgodny z Warunkami korzystania z usługi.
Diagram A: ten diagram pokazuje, jak można ulepszyć potok danych za pomocą logiki weryfikacji adresów na dużą skalę.
Zgodnie z Warunkami korzystania z usługi możesz przechowywać w pamięci podręcznej te dane z addressComponent:
confirmationLevelinferredspellCorrectedreplacedunexpected
Dlatego na tym etapie implementacji będziemy zapisywać w pamięci podręcznej wspomniane wyżej pola w odniesieniu do identyfikatora użytkownika.
Więcej informacji znajdziesz w sekcji dotyczącej rzeczywistej struktury danych.
Krok 2.
W kroku 1 zebraliśmy opinie, że niektóre adresy w wejściowym zbiorze danych mogą nie być wysokiej jakości. W następnym kroku weźmiemy te oznaczone adresy i pokażemy je użytkownikowi, aby uzyskać jego zgodę na poprawienie zapisanego adresu.
Diagram B: ten diagram pokazuje, jak może wyglądać kompleksowa integracja procesu uzyskiwania zgody użytkownika:
- Gdy użytkownik się zaloguje, najpierw sprawdź, czy w systemie są zapisane w pamięci podręcznej jakieś flagi weryfikacji.
- Jeśli pojawią się oznaczenia, należy wyświetlić użytkownikowi interfejs, w którym będzie mógł poprawić i zaktualizować adres.
- Możesz ponownie wywołać interfejs Address Validation API ze zaktualizowanym lub zapisanym w pamięci podręcznej adresem i wyświetlić użytkownikowi poprawiony adres do potwierdzenia.
- Jeśli adres jest dobrej jakości, interfejs Address Validation API zwraca wartość
formattedAddress. - Możesz wyświetlić ten adres użytkownikowi, jeśli wprowadzono poprawki, lub zaakceptować go bez powiadamiania, jeśli nie wprowadzono żadnych poprawek.
- Gdy użytkownik zaakceptuje prośbę, możesz zapisać
formattedAddressw pamięci podręcznej w bazie danych.
Podsumowanie
Weryfikacja adresów na dużą skalę to typowy przypadek użycia, który prawdopodobnie napotkasz w wielu aplikacjach. W tym dokumencie przedstawiamy kilka scenariuszy i wzorzec projektowy, które pokazują, jak wdrożyć takie rozwiązanie zgodnie z Warunkami korzystania z usługi Google Maps Platform.
Opracowaliśmy też przykładową implementację weryfikacji adresów na dużą skalę jako bibliotekę open source na GitHubie. Zapoznaj się z nim, aby szybko zacząć korzystać z funkcji weryfikacji adresów na dużą skalę. Zapoznaj się też z artykułem o wzorcach projektowych, aby dowiedzieć się, jak używać biblioteki w różnych scenariuszach.
Następne kroki
Pobierz dokument Usprawnianie procesów płatności, dostawy i operacji dzięki wiarygodnym adresom i obejrzyj webinar Usprawnianie procesów płatności, dostawy i operacji dzięki weryfikacji adresów .
Sugerowane artykuły:

- Zastosowania weryfikacji adresów na dużą skalę
- Biblioteka Pythona na GitHubie
- Zapoznaj się z wersją demonstracyjną Weryfikacji adresów.
Współtwórcy
Google zarządza tym artykułem. Został on napisany przez tych współtwórców.
Główni autorzy:
Henrik Valve | inżynier ds. rozwiązań
Thomas Anglaret | inżynier ds. rozwiązań
Sarthak Ganguly | inżynier ds. rozwiązań