Fragen · Adressen

Wie füge ich meinem Formular eine Adress-Autovervollständigung hinzu?

Sie verbinden das Widget mit dem Adressfeld Ihres Formulars: Während der Nutzer tippt, erscheinen die Straßen aus dem Register mit ihrem Ort, und bei der Auswahl füllen sich die Felder von selbst mit der Adresse in der korrekten Form, Postleitzahl inbegriffen. Ihr Server dient als Vermittler zu unserer API, sodass das Token nie in den Browser gelangt.

Was der Ausfüllende sieht

Er schreibt „neuer wall“ und sieht „Neuer Wall“, mit den Orten, in denen es diese Straße gibt; hat er den Ort schon ausgefüllt, beschränken sich die Vorschläge darauf. Nach der Wahl der Straße tippt er die Hausnummer, und das Formular sagt ihm, ob sie existiert: In den Großstädten entscheidet die Hausnummer über die Postleitzahl, und die Postleitzahl, die ankommt, ist die richtige für diese Nummer, nicht eine der vielen der Stadt.

Bei der Auswahl füllen sich die Felder Straße, Postleitzahl und Ort mit dem Datensatz aus dem System, demselben wie bei der Adressprüfung. Der Bestand entsteht sauber, statt hinterher bereinigt zu werden.

Wie es abgerechnet wird

Pro Sitzung, nicht pro Tastendruck. Die Vorschlagsanfragen während des Tippens sind kostenlos; ein einziger Vorgang wird gezählt, wenn der Nutzer die Adresse auswählt und die Felder sich füllen. Ändert er danach die Hausnummer und wählt in derselben Sitzung neu, wird nicht noch einmal gezählt. Jede Sitzung erlaubt bis zu dreißig Anfragen und gilt zehn Minuten. Die Preise stehen auf der Preisseite.

Wie man es einbaut

Drei Teile:

  1. Ein API-Token, aus dem persönlichen Bereich.
  2. Ein kleiner Proxy auf Ihrem Server, eine Seite, die die Anfrage aus dem Browser entgegennimmt, das Token hinzufügt und sie an unseren Endpunkt weiterleitet. Er ist nötig, weil das Token nie im Code stehen darf, der im Browser läuft.
  3. Das Widget ra-suggerisci.js, ohne Abhängigkeiten: Sie geben ihm die Adresse des Proxys und die Selektoren der Formularfelder, und den Rest macht es selbst: die Wartezeit beim Tippen, den Kontext der schon ausgefüllten Felder und das Füllen bei der Auswahl.

Wer es lieber selbst macht, ruft direkt den Endpunkt /api/v1/suggest auf: eine vom Client erzeugte Sitzungskennung, der getippte Text, die schon bekannten Felder als Kontext; dann die Auswahlaktion mit der gewählten Straße und der Hausnummer. Alles steht in der API-Dokumentation und in der OpenAPI-Spezifikation.

Besondere Fälle

  • Andere Länder: Die Vorschläge gibt es in jedem Land mit Adressregister im Dienst (die Liste); das Formular übergibt das vom Nutzer gewählte Land, und das Widget sucht dort, mit der Form der Hausnummer und der Postleitzahl dieses Landes. Der Nutzer kann alles in ein einziges Feld schreiben („Neuer Wall 10 Hamburg“): Die Antwort sagt, wie sie es gelesen hat (parsed: Straße, Hausnummer, Postleitzahl). In einem Land ohne Register sagt die Antwort es und öffnet keine Sitzung: Das Ausfüllen geht von Hand weiter, ohne Abbuchung.
  • WooCommerce und PrestaShop: Da muss nichts geschrieben werden, es gibt das WooCommerce-Plugin und das PrestaShop-Modul mit der Autovervollständigung im Checkout und der Prüfung der Bestellungen.
  • Straße, die nicht erscheint: Der Nutzer kann die Adresse immer vollständig schreiben; der Datensatz durchläuft die Prüfung später, aus der Datei oder über die API.
  • Mehrere Formulare, mehrere Websites: Dasselbe Token bedient alle Formulare; der Proxy kann auf jeder Website stehen oder ein einziger sein.

Was mit den Feldern passiert

Vorher
Straße: neuer wall, 10
Ort: hamburg
Nachher
Neuer Wall 10
20354 HAMBURG

Die Straße wird in der korrekten Form vervollständigt, der Ort unter denen gewählt, die diese Straße haben, die Postleitzahl vom System gesetzt und der Ortsteil (Neustadt) dazu. In den Großstädten kommt mit der Hausnummer die Postleitzahl des richtigen Abschnitts.

Die Fragen, die folgen

Braucht es eine bestimmte Bibliothek oder ein Framework?

Nein. Das Widget ist eine JavaScript-Datei ohne Abhängigkeiten, die sich über ihre Selektoren an die vorhandenen Felder hängt. Es funktioniert mit jedem HTML-Formular, in einem CMS wie in einer selbst gebauten Anwendung.

Warum braucht es einen Proxy auf meinem Server?

Weil das API-Token ein Schlüssel zu Ihrem Konto ist: Stünde es im Code, der im Browser läuft, könnte jeder es lesen und auf Ihre Kosten verwenden. Der Proxy ist eine Seite mit wenigen Zeilen, die die Anfrage entgegennimmt, das Token hinzufügt und sie weiterleitet.

Was kostet es, wenn der Nutzer tippt und dann nichts auswählt?

Nichts. Die Vorschlagsanfragen sind kostenlos: Ein Vorgang wird nur gezählt, wenn der Nutzer eine Adresse auswählt und die Felder gefüllt werden.

Funktioniert es auch bei den Hausnummern?

Ja. Nach der Wahl der Straße kommen mit der angefangenen Hausnummer die vorhandenen Hausnummern dieser Straße, und das Formular weiß, ob die getippte existiert. In den Großstädten bestimmt die Hausnummer die genaue Postleitzahl.

Kann ich es für ausländische Adressen verwenden?

Ja, in jedem Land mit Adressregister im Dienst: Das Formular übergibt das Land, und die Vorschläge kommen aus diesem Register, in der Form dieses Landes. In einem Land ohne Register weist die Antwort darauf hin, ohne eine Sitzung zu öffnen, sodass das Formular ohne Kosten mit der Eingabe von Hand weitermacht.

Was kommt bei der Auswahl in die Felder?

Die Adresse, wie sie das Prüfsystem liefert: Straße in der korrekten Form, Postleitzahl, Ort und, wo die Stadt welche hat, der Ortsteil. Es ist derselbe Datensatz, den Sie von der Prüfung einer Adresse bekämen, erhalten in dem Moment, in dem die Angabe eingeht.

Ich habe einen WooCommerce- oder PrestaShop-Shop: Muss ich das Widget von Hand einbauen?

Nein: Das RadarAddress-Plugin für WooCommerce und das Modul für PrestaShop bringen die Autovervollständigung in den Checkout und prüfen jede Bestellung. Installieren, Token einfügen, fertig.

Die Dokumentation der Autovervollständigung lesen

Endpunkt, Sitzung, Widget und Proxy: alles, was Sie brauchen, um sie in Ihr Formular zu bringen.

Die Dokumentation der Autovervollständigung lesen

Lesen Sie auch: Die API zur Adressnormalisierung · Die Adressen einer Excel-Datei prüfen · Das Plugin für WooCommerce · Das Modul für PrestaShop