Address Validation API zum Verarbeiten von Adressen mit hohem Volumen

Ziel

Als Entwickler arbeitet man häufig mit Datensätzen, die Kundenadressen enthalten, deren Qualität möglicherweise nicht gut ist. Sie müssen sicherstellen, dass die Adressen für verschiedene Anwendungsfälle korrekt sind, von der Kundenidentifikationsprüfung bis hin zur Zustellung und vielem mehr.

Die Address Validation API ist ein Produkt der Google Maps Platform, mit dem Sie eine Adresse validieren können. Es verarbeitet jedoch immer nur eine Adresse gleichzeitig. In diesem Dokument werden wir untersuchen, wie die Adressvalidierung für hohe Datenmengen in verschiedenen Szenarien eingesetzt werden kann, von API-Tests bis hin zur einmaligen und wiederkehrenden Adressvalidierung.

Anwendungsfälle

Nun werden wir die Anwendungsfälle verstehen, in denen High Volume Address Validation nützlich ist.

Test

Oftmals möchte man die Address Validation API testen, indem man Tausende von Adressen ausgibt. Möglicherweise liegen Ihnen die Adressen in einer durch Kommas getrennten Wertdatei vor und Sie möchten die Qualität der Adressen überprüfen.

Einmalige Adressprüfung

Beim Onboarding für die Address Validation API möchten Sie Ihre bestehende Adressdatenbank mit der Benutzerdatenbank abgleichen.

Wiederkehrende Adressprüfung

Eine Reihe von Szenarien erfordert die regelmäßige Überprüfung von Adressen:

  • Möglicherweise haben Sie geplante Jobs eingerichtet, um Adressen anhand von Daten zu überprüfen, die im Laufe des Tages erfasst wurden, zum Beispiel aus Kundenregistrierungen, Bestelldetails oder Lieferplänen.
  • Sie erhalten möglicherweise Datenexporte mit Adressen aus verschiedenen Abteilungen, z. B. aus dem Vertrieb und dem Marketing. Die neue Abteilung, die die Adressen erhält, möchte diese oft vor der Verwendung überprüfen.
  • Sie können Adressen bei Umfragen oder verschiedenen Werbeaktionen erfassen und später im Onlinesystem aktualisieren. Sie möchten überprüfen, ob die Adressen beim Eingeben in das System korrekt sind.

Technische Details

Für die Zwecke dieses Dokuments gehen wir von Folgendem aus:

  • Sie rufen die Address Validation API mit Adressen aus einer Kundendatenbank auf (d. h. einer Datenbank mit Kundendaten).
  • Sie können Gültigkeitskennzeichen für einzelne Adressen in Ihrer Datenbank zwischenspeichern.
  • Gültigkeitskennzeichnungen werden über die Address Validation API abgerufen, wenn sich ein einzelner Kunde anmeldet.

Cache für die Produktion

Wenn Sie die Address Validation API verwenden, möchten Sie oft einen Teil der Antwort aus dem API-Aufruf im Cache speichern. Unsere Nutzungsbedingungen schränken zwar ein, welche Daten zwischengespeichert werden dürfen, aber alle Daten, die aus der Address Validation API zwischengespeichert werden können, müssen in einem Nutzerkonto zwischengespeichert werden. Das bedeutet, dass die Adresse oder die Adressmetadaten in der Datenbank anhand der E-Mail-Adresse oder einer anderen primären ID eines Nutzers im Cache gespeichert werden müssen.

Beim Anwendungsfall „Adressvalidierung mit hohem Volumen“ muss das Zwischenspeichern von Daten den dienstspezifischen Nutzungsbedingungen der Address Validation API entsprechen, die in Abschnitt 11.3 beschrieben sind. Anhand dieser Informationen können Sie feststellen, ob die Adresse eines Nutzers ungültig ist. In diesem Fall fordern Sie den Nutzer bei der nächsten Interaktion mit Ihrer Anwendung auf, eine korrigierte Adresse anzugeben.

  • Daten aus dem AddressComponent-Objekt
    • confirmationLevel
    • inferred
    • spellCorrected
    • replaced
    • unexpected

Wenn Sie Informationen zur tatsächlichen Adresse im Cache speichern möchten, dürfen Sie dies nur mit Einwilligung des Nutzers tun. So wird sichergestellt, dass der Nutzer genau weiß, warum ein bestimmter Dienst seine Adresse speichert, und mit den Bedingungen für die Weitergabe seiner Adresse einverstanden ist.

Ein Beispiel für die Einwilligung des Nutzers ist die direkte Interaktion mit einem E-Commerce-Adressformular auf einer Checkout-Seite. Es wird davon ausgegangen, dass Sie die Adresse für den Versand eines Pakets zwischenspeichern und verarbeiten.

Mit der Einwilligung des Nutzers können Sie formattedAddress und andere Schlüsselkomponenten aus der Antwort im Cache speichern. In einem Headless-Szenario kann ein Nutzer jedoch keine Einwilligung erteilen, da die Adressvalidierung im Backend erfolgt. Daher können Sie in diesem Headless-Szenario nur sehr wenige Informationen im Cache speichern.

Antwort verstehen

Wenn die Antwort der Address Validation API die folgenden Markierungen enthält, können Sie davon ausgehen, dass die eingegebene Adresse für die Zustellung geeignet ist:

  • Der addressComplete-Marker im Objekt Verdict ist true.
  • Der validationGranularity im Verdict-Objekt ist PREMISE oder SUB_PREMISE.
  • Keine der AddressComponent-Elemente ist als Folgendes gekennzeichnet:
    • Inferred(Hinweis: inferred=truekann in folgenden Fällen auftreten: addressComplete=true)
    • spellCorrected
    • replaced
    • unexpected und
  • confirmationLevel: Die Bestätigungsstufe für die AddressComponent ist aufCONFIRMEDoderUNCONFIRMED_BUT_PLAUSIBLEfestgelegt.

Wenn die API-Antwort die oben genannten Markierungen nicht enthält, war die Eingabeadresse wahrscheinlich von schlechter Qualität. Sie können Flags in Ihrem Cache speichern, um dies zu berücksichtigen. Zwischengespeicherte Flags weisen darauf hin, dass die Adresse insgesamt von schlechter Qualität ist. Detailliertere Flags wie „Rechtschreibfehler korrigiert“ geben den spezifischen Typ des Problems mit der Adressqualität an. Bei der nächsten Kundeninteraktion mit einer Adresse, die als von schlechter Qualität gekennzeichnet ist, können Sie die Address Validation API mit der vorhandenen Adresse aufrufen. Die Address Validation API gibt die korrigierte Adresse zurück, die Sie in einem UI-Prompt anzeigen können. Sobald der Kunde die formatierte Adresse akzeptiert hat, können Sie Folgendes aus der Antwort im Cache speichern:

  • formattedAddress
  • postalAddress
  • addressComponent componentNamesoder
  • UspsData standardizedAddress

Headless-Adressvalidierung implementieren

Basierend auf der obigen Diskussion:

  • Aus geschäftlichen Gründen ist es oft erforderlich, einen Teil der Antwort der Address Validation API im Cache zu speichern.
  • Die Nutzungsbedingungen der Google Maps Platform schränken jedoch ein, welche Daten im Cache gespeichert werden dürfen.

Im folgenden Abschnitt wird ein zweistufiger Prozess beschrieben, mit dem Sie die Nutzungsbedingungen einhalten und die Adressvalidierung mit hohem Volumen implementieren können.

Schritt 1:

Im ersten Schritt sehen wir uns an, wie ein Skript zur Adressvalidierung für große Mengen aus einer vorhandenen Datenpipeline implementiert wird. So können Sie bestimmte Felder aus der Antwort der Address Validation API in einer Art und Weise speichern, die den Nutzungsbedingungen entspricht.

Diagramm A:Das folgende Diagramm zeigt, wie eine Datenpipeline mit einer Logik zur Adressvalidierung für hohes Volumen optimiert werden kann.

alt_text

Gemäß den Nutzungsbedingungen dürfen Sie die folgenden Daten aus addressComponent im Cache speichern:

  • confirmationLevel
  • inferred
  • spellCorrected
  • replaced
  • unexpected

Daher werden in diesem Schritt der Implementierung die oben genannten Felder anhand der UserID im Cache gespeichert.

Weitere Informationen finden Sie unter Tatsächliche Datenstruktur.

Schritt 2:

In Schritt 1 haben wir Feedback erhalten, dass einige Adressen im Eingabedatensatz möglicherweise nicht von hoher Qualität sind. Im nächsten Schritt werden diese gekennzeichneten Adressen dem Nutzer präsentiert und er wird um seine Einwilligung gebeten, die gespeicherte Adresse zu korrigieren.

Diagramm B: In diesem Diagramm wird gezeigt, wie eine End-to-End-Integration des Ablaufs für die Nutzereinwilligung aussehen könnte:

alt_text

  1. Wenn sich der Nutzer anmeldet, prüfen Sie zuerst, ob Sie Validierungsflags in Ihrem System zwischengespeichert haben.
  2. Wenn es Flags gibt, sollten Sie dem Nutzer eine Benutzeroberfläche präsentieren, über die er seine Adresse korrigieren und aktualisieren kann.
  3. Sie können die Address Validation API noch einmal mit der aktualisierten oder im Cache gespeicherten Adresse aufrufen und dem Nutzer die korrigierte Adresse zur Bestätigung präsentieren.
  4. Wenn die Adresse eine gute Qualität hat, gibt die Address Validation API eine formattedAddress zurück.
  5. Sie können dem Nutzer diese Adresse präsentieren, wenn Korrekturen vorgenommen wurden, oder sie stillschweigend akzeptieren, wenn keine Korrekturen erforderlich sind.
  6. Sobald der Nutzer die Anfrage akzeptiert hat, können Sie die formattedAddress in der Datenbank zwischenspeichern.

Fazit

Die Adressvalidierung mit hohem Volumen ist ein häufiger Anwendungsfall, der in vielen Anwendungen vorkommt. In diesem Dokument werden einige Szenarien und ein Designmuster für die Implementierung einer solchen Lösung gemäß den Nutzungsbedingungen der Google Maps Platform beschrieben.

Außerdem haben wir eine Referenzimplementierung der Adressvalidierung mit hohem Volumen als Open-Source-Bibliothek auf GitHub geschrieben. Dort finden Sie Informationen, die Ihnen den Einstieg in die Entwicklung mit High Volume Address Validation erleichtern. Im Artikel zu Designmustern erfahren Sie, wie Sie die Bibliothek in verschiedenen Szenarien verwenden können.

Nächste Schritte

Laden Sie das Whitepaper zum Optimieren von Bezahlvorgang, Lieferung und Betrieb mit gültigen Adressen herunter und sehen Sie sich das Webinar zum Optimieren von Bezahlvorgang, Lieferung und Betrieb mit der Adressvalidierung an.

Empfohlene Artikel:

Beitragende

Dieser Artikel wird von Google verwaltet. Die folgenden Mitwirkenden haben den Artikel ursprünglich verfasst.
Hauptautoren:

Henrik Valve | Solutions Engineer
Thomas Anglaret | Solutions Engineer
Sarthak Ganguly | Solutions Engineer