Przewodnik po weryfikacji dużej liczby adresów

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
    • confirmationLevel
    • inferred
    • spellCorrected
    • replaced
    • unexpected

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 addressComplete w obiekcie Verdict ma wartość true.
  • Wartość validationGranularity w obiekcie Verdict to PREMISE lub SUB_PREMISE.
  • Żaden z obiektów AddressComponent nie jest oznaczony jako:
    • Inferred(Uwaga:: inferred=truemoże się zdarzyć, gdy addressComplete=true)
    • spellCorrected
    • replaced
    • unexpected, oraz
  • confirmationLevel: poziom potwierdzenia w komponencie AddressComponent jest ustawiony na CONFIRMED lub UNCONFIRMED_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:

  • formattedAddress
  • postalAddress
  • addressComponent componentNames lub
  • UspsData 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ę.

alt_text

Zgodnie z Warunkami korzystania z usługi możesz przechowywać w pamięci podręcznej te dane z addressComponent:

  • confirmationLevel
  • inferred
  • spellCorrected
  • replaced
  • unexpected

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:

alt_text

  1. Gdy użytkownik się zaloguje, najpierw sprawdź, czy w systemie są zapisane w pamięci podręcznej jakieś flagi weryfikacji.
  2. Jeśli pojawią się oznaczenia, należy wyświetlić użytkownikowi interfejs, w którym będzie mógł poprawić i zaktualizować adres.
  3. 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.
  4. Jeśli adres jest dobrej jakości, interfejs Address Validation API zwraca wartość formattedAddress.
  5. Możesz wyświetlić ten adres użytkownikowi, jeśli wprowadzono poprawki, lub zaakceptować go bez powiadamiania, jeśli nie wprowadzono żadnych poprawek.
  6. Gdy użytkownik zaakceptuje prośbę, możesz zapisać formattedAddress w 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:

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ń