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 przypadku różnych zastosowań, 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 1 adres naraz. W tym dokumencie dowiesz się, 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, sprawdzając tysiące adresów. Możesz mieć adresy w pliku CSV i chcieć sprawdzić ich jakość.

Jednorazowa weryfikacja adresów

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

Cykliczna weryfikacja adresów

W wielu przypadkach konieczne jest cykliczne sprawdzanie adresów:

  • Możesz zaplanować zadania sprawdzania poprawności adresów, które zostały zebrane w ciągu dnia, np. podczas rejestracji klientów, składania zamówień czy planowania 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 przechowywać w pamięci podręcznej flagi 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, wszelkie 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 identyfikatorem podstawowym.

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 jest nieprawidłowy. Jeśli tak, możesz poprosić użytkownika o poprawienie adresu podczas następnej interakcji z aplikacją.

  • 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 możesz 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 to true,
  • Wartość pola 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 dane 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 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 o dużej liczbie.

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 powiązane z identyfikatorem użytkownika.

Więcej informacji znajdziesz w sekcji poświęconej rzeczywistej strukturze 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 pokażemy użytkownikowi te oznaczone adresy i poprosimy o 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ę flagi, 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 powiadomienia, jeśli nie wprowadzono żadnych poprawek.
  6. Gdy użytkownik zaakceptuje, 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 o dużej objętości jako bibliotekę open source na GitHubie. Zapoznaj się z nim, aby szybko zacząć korzystać z funkcji Weryfikacja adresów o dużej liczbie zapytań. 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 Improve checkout, delivery, and operations with reliable addresses (Usprawnij procesy płatności, dostawy i operacji dzięki wiarygodnym adresom) i obejrzyj webinar Improving checkout, delivery, and operations with Address Validation (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. The following contributors originally wrote it.
Główni autorzy:

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