Przetwarzanie adresów przy dużej liczbie adresów za pomocą interfejsu Address Validation API

Cel

Jako deweloper często używasz zbiorów danych zawierających adresy klientów, które mogą nie mieć dobrej jakości. Musisz upewnić się, że adresy są prawidłowe na potrzeby różnych przypadków użycia, takich jak weryfikacja identyfikatora klienta, dostawa itp.

Adres API weryfikacji adresów to usługa Google Maps Platform, której możesz używać do weryfikacji adresu. Funkcja ta przetwarza jednak tylko jeden adres naraz. W tym dokumencie omówimy, jak korzystać z weryfikacji adresów na dużą skalę w różnych sytuacjach – od testowania interfejsów API po jednorazową i cykliczną weryfikację adresów.

Przykłady zastosowań

Teraz omówimy przypadki użycia, w których przydatna jest weryfikacja adresów (duża ilość).

Testuję

Często chcesz przetestować interfejs Address Validation API, uruchamiając tysiące adresów. Być może masz adresy w pliku wartości rozdzielanych przecinkami i chcesz sprawdzić ich jakość.

Jednorazowa weryfikacja adresów

Podczas wprowadzania do interfejsu Address Validation API chcesz zweryfikować istniejącą bazę danych adresów z bazą danych użytkowników.

Cykliczna weryfikacja adresów

W wielu sytuacjach konieczne jest cykliczne sprawdzanie adresów:

  • Możesz mieć zaplanowane zadania polegające na weryfikacji adresów w przypadku informacji zebranych w ciągu dnia, na przykład rejestracji klientów, szczegółów zamówień czy harmonogramów dostaw.
  • Możesz otrzymywać zrzuty danych zawierające adresy z różnych działów, np. od działu sprzedaży po marketing. Nowy dział otrzymujący adresy często chce je sprawdzić przed użyciem.
  • Adresy możesz zbierać podczas ankiet i promocji, a później w systemie online. Chcesz sprawdzić poprawność adresów podczas wprowadzania ich do systemu.

Szczegółowa analiza techniczna

Na potrzeby tego dokumentu zakładamy, że:

  • Wywołujesz interfejs Address Validation API za pomocą adresów z bazy danych klientów (np.bazy danych z danymi klienta).
  • Flagi poprawności możesz buforować w odniesieniu do poszczególnych adresów w bazie danych.
  • Flagi ważności są pobierane z interfejsu Address Validation API, gdy loguje się dany klient.

Pamięć podręczna na potrzeby środowiska produkcyjnego

Gdy używasz interfejsu Address Validation API, często chcesz zapisać w pamięci podręcznej część odpowiedzi z wywołania interfejsu API. Nasze Warunki korzystania z usługi określają, jakie dane można przechowywać w pamięci podręcznej, jednak wszelkie dane, które można przechowywać w pamięci podręcznej z interfejsu Address Validation API, muszą być przechowywane na koncie użytkownika. Oznacza to, że metadane adresu lub adresu w bazie danych muszą być przechowywane w pamięci podręcznej z adresem e-mail użytkownika lub innym podstawowym identyfikatorem użytkownika.

W przypadku użycia dużej ilości danych do weryfikacji adresów buforowanie danych musi być zgodne ze szczegółowymi warunkami korzystania z interfejsu Address Validation API, które opisano w artykule 11.3. Na podstawie tych informacji możesz określić, czy adres użytkownika jest nieprawidłowy. W takim przypadku przy następnej interakcji z Twoją aplikacją poprosimy go o podanie poprawionego adresu.

  • Dane z obiektu AddressComponent
    • confirmationLevel
    • inferred
    • spellCorrected
    • replaced
    • unexpected

Jeśli chcesz przechowywać w pamięci podręcznej jakiekolwiek informacje o prawdziwym adresie, muszą one być przechowywane w pamięci podręcznej tylko za zgodą użytkownika. Dzięki temu użytkownik wie, dlaczego dana usługa przechowuje jego adres, i akceptuje warunki jego udostępniania.

Przykładem zgody użytkownika może być bezpośrednia interakcja z formularzem adresu e-commerce na stronie płatności. Pamiętaj, że musisz przechowywać w pamięci podręcznej i przetwarzać adres, aby wysłać paczkę.

Za zgodą użytkownika możesz zapisać w pamięci podręcznej formattedAddress i inne kluczowe komponenty odpowiedzi. W przypadku bez interfejsu graficznego użytkownik nie może jednak wyrazić zgody, ponieważ weryfikacja adresu odbywa się z poziomu backendu. W takiej sytuacji bardzo ograniczone informacje można przechowywać w pamięci podręcznej.

Zrozumienie odpowiedzi

Jeśli odpowiedź interfejsu Address Validation API zawiera poniższe znaczniki, masz pewność, że adres wejściowy jest dobrej jakości:

  • Znacznik addressComplete w obiekcie Efekt to true,
  • validationGranularity w obiekcie Efekt to PREMISE lub SUB_PREMISE
  • Żaden z komponentów AddressComponent nie jest oznaczony jako:
    • Inferred(Uwaga: inferred=truemoże wystąpić, gdy addressComplete=true)
    • spellCorrected
    • replaced
    • unexpected i
  • confirmationLevel: poziom potwierdzenia w elemencie AddressComponent jest ustawiony na CONFIRMEDlubUNCONFIRMED_BUT_PLAUSIBLE

Jeśli odpowiedź interfejsu API nie zawiera tych znaczników, prawdopodobnie adres wejściowy był niskiej jakości. Możesz to odzwierciedlić w pamięci podręcznej flag w bazie danych. Flagi pamięci podręcznej wskazują, że cały adres jest niskiej jakości, a bardziej szczegółowe flagi, np. Poprawiono pisownię, wskazują konkretny typ problemu z jakością adresu. Podczas następnej interakcji klienta z adresem oznaczonym jako niskiej jakości możesz wywołać interfejs Address Validation API, podając istniejący adres. Interfejs Address Validation API zwróci poprawny adres, który możesz wyświetlić za pomocą prompta interfejsu. Gdy klient zaakceptuje sformatowany adres, możesz zapisać w pamięci podręcznej te dane:

  • formattedAddress
  • postalAddress
  • addressComponent componentNameslub
  • UspsData standardizedAddress

Wdrażanie weryfikacji adresu bez interfejsu graficznego

Na podstawie powyższej dyskusji:

  • Ze względów biznesowych część odpowiedzi z interfejsu AddressValidation API jest często zapisywana w pamięci podręcznej.
  • Warunki korzystania z usługi w Google Maps Platform ograniczają jednak to, jakie dane można przechowywać w pamięci podręcznej.

W tej sekcji omawiamy 2-etapowy proces dostosowania się do Warunków korzystania z usługi i wdrażania dużej liczby weryfikacji adresów.

Krok 1.

W pierwszym kroku przyjrzymy się, jak wdrożyć skrypt weryfikacji adresów o dużym woluminie 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 przedstawia, jak można ulepszyć potok danych za pomocą logiki weryfikacji adresów dużej ilości danych.

alt_text

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

  • confirmationLevel
  • inferred
  • spellCorrected
  • replaced
  • unexpected

Dlatego na etapie implementacji zapiszemy powyższe pola z danymi UserID.

Więcej informacji o rzeczywistej strukturze danych.

Krok 2.

W kroku 1 zebraliśmy opinie, że niektóre adresy w wejściowym zbiorze danych mogą mieć niską jakość. W kolejnym kroku będziemy udostępniać te zgłoszone adresy użytkownikowi i uzyskiwać jego zgodę na poprawienie zapisanego adresu.

Diagram B – pokazuje, jak może wyglądać całkowita integracja procesu uzyskiwania zgody użytkownika:

alt_text

  1. Gdy użytkownik się loguje, najpierw sprawdź, czy masz w pamięci podręcznej jakieś flagi weryfikacji.
  2. Jeśli dostępne są flagi, musisz udostępnić użytkownikowi interfejs, w którym może poprawić i zaktualizować adres.
  3. Możesz ponownie wywołać interfejs Address Validation API, podając zaktualizowany adres lub adres w pamięci podręcznej, i pokazać użytkownikowi poprawiony adres, aby go potwierdzić.
  4. Jeśli adres ma dobrą jakość, interfejs Address Validation API zwraca błąd formattedAddress.
  5. Możesz zaprezentować ten adres użytkownikowi, jeśli wprowadzono poprawki, lub zaakceptować go bez żadnego powiadomienia, jeśli nie będzie żadnych poprawek.
  6. Gdy użytkownik wyrazi zgodę, możesz buforować formattedAddress w bazie danych.

Podsumowanie

Duża weryfikacja adresów to typowy przypadek użycia, z jakim można się spotkać w wielu aplikacjach. W tym dokumencie opisujemy kilka scenariuszy i wzorców projektowych wdrażania takiego rozwiązania zgodnego z Warunkami korzystania z usługi Google Maps Platform.

Dodatkowo napisaliśmy na GitHubie referencyjną implementację weryfikacji adresów o dużych woluminach jako biblioteki open source. Zapoznaj się z nim, aby szybko rozpocząć kompilację z weryfikacją adresów na dużą skalę. Przeczytaj też artykuł o wzorcach korzystania z biblioteki w różnych sytuacjach.

Dalsze kroki

Pobierz dokument Usprawnianie procesu płatności, dostawy i operacji dzięki niezawodnym adresom i obejrzyj webinar Usprawnianie procesu płatności, dostawy i operacji dzięki weryfikacji adresów .

Sugerujemy dodatkowe artykuły:

Współtwórcy

Ten artykuł jest prowadzony przez Google. Poniżsi współtwórcy są autorami tych treści.
Główni autorzy:

Henrik Valve | Inżynier ds. rozwiązań
Thomas Anglaret | Inżynier ds. rozwiązań
Sarthak Ganguly | Inżynier ds. rozwiązań