Address Validation API zum Verarbeiten von Adressen mit hohem Volumen

Ziel

Als Entwickler arbeiten Sie oft mit Datasets mit Kundenadressen, die eventuell nicht von guter Qualität sind. Die Adressen müssen für Anwendungsfälle wie die Bestätigung der Kunden-ID, die Zustellung usw. korrekt sein.

Die Address Validation API ist ein Produkt der Google Maps Platform, mit dem Sie eine Adresse validieren können. Allerdings wird jeweils nur eine Adresse verarbeitet. In diesem Dokument erfahren Sie, wie Sie die Adressvalidierung mit hohem Volumen in verschiedenen Szenarien verwenden, von API-Tests bis hin zu einmaligen und wiederkehrenden Adressvalidierungen.

Anwendungsfälle

Sehen wir uns nun die Anwendungsfälle an, bei denen die High Volume Address Validation nützlich ist.

Testen

Sie möchten die Address Validation API oft testen, indem Sie Tausende von Adressen ausführen. Vielleicht haben Sie die Adressen in einer Datei mit kommagetrennten Werten gespeichert und möchten die Qualität der Adressen überprüfen.

Einmalige Überprüfung von Adressen

Während der Einrichtung der Address Validation API möchten Sie Ihre vorhandene Adressdatenbank mit der Nutzerdatenbank vergleichen.

Wiederkehrende Validierung von Adressen

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

  • Möglicherweise haben Sie geplante Aufträge eingerichtet, um Adressen anhand von Details zu validieren, die im Laufe des Tages erfasst werden, z. B. Kundenanmeldungen, Bestelldetails oder Lieferpläne.
  • Möglicherweise erhalten Sie Datendumps mit Adressen aus verschiedenen Abteilungen, z.B. vom Vertrieb bis zur Marketingabteilung. Die neue Abteilung, die die Adressen erhält, möchte diese oft vor der Verwendung überprüfen.
  • Sie können Adressen im Rahmen von Umfragen oder bei verschiedenen Werbeaktionen erfassen und später im Onlinesystem aktualisieren. Sie möchten überprüfen, ob die Adressen bei der Eingabe in das System korrekt sind.

Technische Details

Im Rahmen dieses Dokuments gehen wir von folgenden Punkten aus:

  • Sie rufen die Address Validation API mit Adressen aus einer Kundendatenbank auf (d. h. einer Datenbank mit Kundendaten).
  • Sie können Gültigkeits-Flags für einzelne Adressen in Ihrer Datenbank im Cache speichern.
  • Gültigkeits-Flags werden aus der Address Validation API abgerufen, wenn sich ein einzelner Kunde anmeldet.

Caching für Produktionszwecke

Wenn Sie die Address Validation API verwenden, möchten Sie häufig einen Teil der Antwort des API-Aufrufs im Cache speichern. Welche Daten im Cache gespeichert werden können, ist durch unsere Nutzungsbedingungen eingeschränkt. Daten, die über die Address Validation API im Cache gespeichert werden können, müssen jedoch in einem Nutzerkonto im Cache gespeichert werden. Das bedeutet, dass die Adresse oder Adressmetadaten in der Datenbank zwischen der E-Mail-Adresse oder einer anderen primären ID eines Nutzers im Cache gespeichert werden müssen.

Beim Anwendungsfall „High Volume Address Validation“ muss das Daten-Caching den dienstspezifischen Nutzungsbedingungen der Address Validation API entsprechen, die in Abschnitt 11.3 beschrieben sind. Anhand dieser Informationen können Sie bestimmen, ob die Adresse eines Nutzers möglicherweise ungültig ist. In diesem Fall werden Sie den Nutzer bei der nächsten Interaktion mit Ihrer App zur korrigierten Adresse auffordern.

  • Daten aus dem Verdict-Objekt

    • inputGranularity
    • validationGranularity
    • geocodeGranularity
    • addressComplete
    • hasUnconfirmedComponents
    • hasInferredComponents
    • hasReplacedComponents
  • Daten aus dem AddressComponent-Objekt

    • confirmationLevel
    • inferred
    • spellCorrected
    • replaced
    • unexpected

Wenn Sie Informationen über die tatsächliche Adresse im Cache speichern möchten, dürfen diese Daten nur mit Zustimmung des Nutzers im Cache gespeichert werden. Dadurch wird sichergestellt, dass der Nutzer weiß, warum ein bestimmter Dienst seine Adresse speichert, und dass er mit den Bedingungen für die Weitergabe seiner Adresse einverstanden ist.

Ein Beispiel für die Nutzereinwilligung wäre die direkte Interaktion mit einem E-Commerce-Adressformular auf einer Zahlungsseite. Es besteht ein Verständnis, dass Sie die Adresse zwischenspeichern und verarbeiten, um ein Paket zu versenden.

Mit der Einwilligung des Nutzers können Sie formattedAddress und andere Schlüsselkomponenten aus der Antwort im Cache speichern. In einem monitorlosen Szenario kann ein Nutzer jedoch keine Einwilligung erteilen, da die Adressüberprüfung über das Back-End erfolgt. Daher können in diesem monitorlosen Szenario nur sehr begrenzte Informationen im Cache gespeichert werden.

Die Antwort verstehen

Wenn die Antwort der Address Validation API die folgenden Markierungen enthält, können Sie sicher sein, dass die Eingabeadresse lieferbar ist:

  • Die Markierung addressComplete im Objekt Verdict ist true.
  • validationGranularity im Objekt Verdict ist PREMISE oder SUB_PREMISE.
  • Keine der AddressComponent ist als:
    • Inferred(Hinweis: inferred=truekann passieren, wenn addressComplete=true)
    • spellCorrected
    • replaced
    • unexpected und
  • confirmationLevel: Die Bestätigungsebene für AddressComponent ist auf CONFIRMEDoderUNCONFIRMED_BUT_PLAUSIBLE festgelegt.

Wenn die API-Antwort die oben genannten Markierungen nicht enthält, war die Eingabeadresse wahrscheinlich von schlechter Qualität, und Sie können Flags in Ihrer Datenbank zwischenspeichern, um dies widerzuspiegeln. Im Cache gespeicherte Markierungen weisen darauf hin, dass die gesamte Adresse von schlechter Qualität ist, während detailliertere Flags wie „Rechtschreibkorrektur“ die Art des Qualitätsproblems für die Adresse angeben. Bei der nächsten Kundeninteraktion mit einer Adresse, die als minderwertig 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 über eine Eingabeaufforderung auf der Benutzeroberfläche anzeigen lassen können. Sobald der Kunde die formatierte Adresse akzeptiert, können Sie Folgendes aus der Antwort im Cache speichern:

  • formattedAddress
  • postalAddress
  • addressComponent componentNames oder
  • UspsData standardizedAddress

Monitorlose Adressvalidierung implementieren

Basierend auf der obigen Diskussion:

  • Häufig ist es aus geschäftlichen Gründen erforderlich, einen Teil der Antwort der Address Validation API im Cache zu speichern.
  • In den Nutzungsbedingungen der Google Maps Platform ist jedoch eingeschränkt, welche Daten im Cache gespeichert werden können.

Im folgenden Abschnitt wird ein zweistufiges Verfahren zur Einhaltung der Nutzungsbedingungen und zur Implementierung einer Adressvalidierung mit hohem Volumen erläutert.

Schritt 1:

Im ersten Schritt sehen wir uns an, wie Sie ein Validierungsskript für Adressen mit hohem Volumen aus einer vorhandenen Datenpipeline implementieren. Dadurch haben Sie die Möglichkeit, bestimmte Felder aus der Address Validation API-Antwort so zu speichern, dass die Nutzungsbedingungen eingehalten werden.

Diagramm A:Das folgende Diagramm zeigt, wie eine Datenpipeline durch eine Logik zur Adressüberprüfung mit hohem Volumen erweitert werden kann.

alt_text

  • Gemäß den Nutzungsbedingungen kannst du addressComplete,validationGranularity and validationFlags bei der monitorlosen Validierung von Adressen im Cache speichern .

  • Du kannst die addressComplete,validationGranularity and validationFlags, PlaceID anhand einer bestimmten UserID in der Kundendatenbank im Cache speichern.

Daher werden die oben genannten Felder in diesem Implementierungsschritt mit der UserID im Cache gespeichert.

Weitere Informationen finden Sie in den Details zur tatsächlichen Datenstruktur.

Schritt 2:

In Schritt 1 haben wir das Feedback eingeholt, dass einige Adressen im Eingabe-Dataset möglicherweise nicht von hoher Qualität sind. Im nächsten Schritt werden wir diese markierten Adressen dem Nutzer präsentieren und seine Einwilligung zur Korrektur der gespeicherten Adresse einholen.

Diagramm B: Dieses Diagramm zeigt, wie eine End-to-End-Integration des Einwilligungsvorgangs für Nutzer aussehen könnte:

alt_text

  1. Prüfen Sie bei der Nutzeranmeldung zuerst, ob Validierungs-Flags in Ihrem System im Cache gespeichert sind, z. B.:

    • addressComplete ist „true“
    • validationGranularity ist nicht PREMISE oder SUB_PREMISE
    • validationFlags“ ist „inferred,spellCorrected,replaced,unexpected“.
      • Wenn keine Flags vorhanden sind, ist die Wahrscheinlichkeit hoch, dass die vorhandene im Cache gespeicherte Adresse von guter Qualität ist und verwendet werden kann.
  2. Wenn Flags vorhanden sind, sollten Sie dem Nutzer eine Benutzeroberfläche anzeigen, über die er seine Adresse korrigieren bzw. 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 vorlegen.

  4. Wenn die Adresse eine gute Qualität hat, gibt die Address Validation API einen formattedAddress-Fehler zurück.

  5. Sie können diese Adresse dem Nutzer präsentieren, wenn Korrekturen vorgenommen wurden, oder sie ohne Meldung annehmen, wenn keine Korrekturen vorgenommen wurden.

  6. Sobald der Nutzer zugestimmt hat, können Sie das formattedAddress in der Datenbank zwischenspeichern.

Pseudocode zur Implementierung von Schritt 2:

If addressComplete is FALSE

OR

If validationGranularity is Not PREMISE OR SUB_PREMISE

OR

If validationFlags is inferred OR spellCorrected OR replaced OR unexpected
  {

    # This means there are issues with the existing cached address

    Call UI to present the address to user

}
Else{

    # This means existing address is good
  Proceed to checkout
}

Fazit

Die Adressüberprüfung mit hohem Volumen ist ein häufiger Anwendungsfall, auf den Sie wahrscheinlich in vielen Anwendungen stoßen. In diesem Dokument werden einige Szenarien und ein Designmuster für die Implementierung einer solchen Lösung gezeigt, die den Nutzungsbedingungen der Google Maps Platform entspricht.

Auf GitHub finden Sie außerdem eine Referenzimplementierung von High Volume Address Validation als Open-Source-Bibliothek. Probieren Sie es aus und legen Sie schnell mit der Adressüberprüfung mit hohem Volumen los. Lesen Sie auch den Artikel über Designmuster für die Verwendung der Bibliothek in verschiedenen Szenarien.

Nächste Schritte

Laden Sie das Whitepaper Verbessern der Kasse, der Zustellung und der Abläufe mit zuverlässigen Adressen herunter und sehen Sie sich das Webinar Kasse, Zustellung und Abläufe mit Adressüberprüfung verbessern an.

Leseempfehlungen:

Beitragende

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

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