Anleitungen

Postleitzahlen-Autovervollständigung in ein Versandformular einbauen

Ein Versandformular mit getrennten Feldern für Postleitzahl, Stadt und Region verlangt von einem Kunden, Angaben einzutippen, die sich oft schon aus einer einzigen Postleitzahl ergeben.

Die Postleitzahl abfragen

Sobald ein Kunde eine Postleitzahl fertig eingegeben und ein Land ausgewählt hat, oder wenn das Land bereits aus seinem Konto bekannt ist, senden Sie beides an /v1/postcode.

GET /v1/postcode?code=SW1A 1AA&country=GB
{
  "status": "ok",
  "postcode": "SW1A 1AA",
  "country_code": "GB",
  "results": [
    {"lat": 51.5014, "lon": -0.1419, "components": {"city": "London", "region": "Greater London", "country": "GB"}}
  ]
}

Die Formularfelder ausfüllen

Füllen Sie die Felder für Stadt und Region direkt aus dem Objekt components im Ergebnis und lassen Sie den Kunden sie bestätigen oder korrigieren, statt die Felder komplett zu sperren, da eine Postleitzahl gelegentlich eine Grenze überschreitet oder mehr als einen gebräuchlichen Ortsnamen abdeckt.

Ein zweites Beispiel: eine Rechnungsregion für steuerliche Zwecke vorausfüllen

Dieselbe Abfrage passt nicht nur zu einem Versandformular, sondern auch zu einem Registrierungs- oder Rechnungsformular, das die Region eines Kunden für die Steuerberechnung benötigt. Wird dieselbe Postleitzahlabfrage ausgelöst, sobald eine Rechnungspostleitzahl eingegeben ist, wird das Regionsfeld in beiden Kontexten einheitlich mit identischer Anfrage- und Antwortstruktur ausgefüllt, sodass derselbe client- und serverseitige Verarbeitungscode beide Formulare bedienen kann.

Die Abfrage im richtigen Moment auslösen

Führen Sie die Abfrage aus, sobald das Postleitzahlfeld den Fokus verliert oder die für das gewählte Land erwartete Länge erreicht, statt bei jedem Tastendruck, denn eine Postleitzahl lässt sich erst sinnvoll abfragen, wenn sie vollständig ist. So bleibt die Funktion bei einer Anfrage pro fertig ausgefülltem Feld statt einer pro eingegebenem Zeichen.

Ein häufiger Fehler, den Sie vermeiden sollten

Legen Sie nicht für das Postleitzahlformat jedes Landes eine feste erwartete Länge im Code fest. Eine Annahme von fünf Ziffern, die für ein Land funktioniert, löst die Abfrage bei einem Land mit einer anderen Länge oder einem alphanumerischen Format wie im Beispiel oben zu früh oder überhaupt nie aus. Lösen Sie entweder unabhängig von der Länge beim Verlassen des Feldes aus, oder pflegen Sie eine kleine Längentabelle pro Land, wenn Sie für die Länder, die Sie am häufigsten bedienen, früher auslösen möchten.

Umgang mit einer nicht erkannten Postleitzahl

Ein leeres Array results bedeutet, dass die Postleitzahl für dieses Land nicht erkannt wurde, meist wegen eines Tippfehlers. Lassen Sie die Felder für Stadt und Region leer und den Kunden sie von Hand ausfüllen, statt das Absenden des Formulars zu blockieren. Das Feld wegen eines fehlgeschlagenen automatischen Ausfüllens komplett abzulehnen, ist ein schlechteres Erlebnis, als in diesem einen Fall einfach um eine manuelle Eingabe zu bitten.

Ein Sonderfall: eine Postleitzahl für mehr als einen Ortsnamen

Manche Postleitzahlen decken berechtigterweise ein Gebiet ab, das vor Ort unter mehr als einem Ortsnamen bekannt ist, oder liegen genau an der Grenze zwischen zwei gebräuchlichen Städtenamen. In diesem Fall können Sie den zurückgegebenen Wert als bearbeitbaren Vorschlag statt als feste Bezeichnung anzeigen, damit der Kunde ihn auf den Namen korrigieren kann, den er tatsächlich verwendet, ohne einen der beiden als mehr oder weniger offiziell zu behandeln.

Exakte Koordinaten, sobald die Adresse vollständig ist

Das automatische Ausfüllen anhand der Postleitzahl liefert einen Standort auf Gebietsebene, was für die Felder Stadt und Region genügt. Sobald der Kunde aber zusätzlich eine vollständige Straßenadresse eingegeben hat, erhalten Sie mit der gesamten Adresse über /v1/forward die präzisen Koordinaten, die ein Versandetikett oder ein System zur Zustellroutenplanung tatsächlich benötigt.

Was es kostet

Jedes ausgefüllte Postleitzahlfeld löst eine Anfrage aus. Ein Versandformular, das täglich viele Bestellungen verarbeitet, nutzt diese Funktion trotzdem in maßvollem Umfang, eine Abfrage pro Bestellung statt pro Tastendruck, und bleibt damit für die meisten Shops deutlich innerhalb der 2.500 kostenlosen Anfragen pro Tag, die in jedem Schlüssel enthalten sind.

Das automatische Ausfüllen von Stadt und Region anhand der Postleitzahl erspart der großen Mehrheit der Kunden, die eine gültige Postleitzahl eingeben, zwei Felder im Versandformular. Die vollständigen Felddefinitionen finden Sie in der Dokumentation zur Postleitzahlabfrage.