Neuigkeiten

Drop-in-Kompatibilität mit PositionStack ist live

PositionStack taucht meist in schlankeren Integrationen auf, oft als eine einzelne Service-Klasse, die einen API-Aufruf innerhalb einer größeren Anwendung kapselt. Eine solche Integration ist klein genug, um leicht übersehen zu werden, und gerade groß genug, um das Neuschreiben lästig zu machen. Unser Kompatibilitäts-Host soll dieses Neuschreiben vollständig überflüssig machen.

Der Host bildet die Anfrageparameter und den Antwortinhalt von PositionStack exakt nach, abgesehen von den Texten zu Urheberrecht, Nutzungsbedingungen und Datenschutz, die von uns stammen statt vom ursprünglichen Anbieter. Eine Anfrage, die für den Geokodierungs-Endpunkt von PositionStack aufgebaut ist, kann unverändert an unseren Host gesendet werden, und die Antwort kommt in derselben Struktur zurück, die bestehender Code bereits auswertet.

Was sich ändert, sind ein Hostname und ein Schlüssel. Dieser Schlüssel authentifiziert sich über diejenige unserer vier Standardmethoden, die Ihre Integration bereits verwendet: ein X-API-Key-Header, ein Authorization: Bearer-Header, HTTP Basic Auth mit dem Schlüssel als Benutzernamen oder ein Query-Parameter.

Eine einzelne Service-Klasse um einen Aufruf ist außerdem die Art von Integration, für die niemand Dokumentation pflegt, sodass Fragen später meist als Support-Tickets von demjenigen auftauchen, der den Code geerbt hat. Die Support-Warteschlange von My Geocode hält für genau diese wiederkehrenden Kompatibilitätsfragen vorgefertigte Antworten bereit, zur Bedeutung der Header, zu Schlüsselformaten, zu dem, was sich ändert und was nicht, sodass eine einfache Migrationsfrage schnell beantwortet wird, statt hinter aufwendigeren Anliegen zu warten.

Auch die Struktur einer Antwort zu testen, bevor Sie Code anfassen, ist einfach: Die interaktive Demo unter /demo/ kann eine Beispielanfrage an jeden Endpunkt oder Kompatibilitäts-Host senden und die genauen Felder anzeigen, die zurückkommen. Das reicht oft aus, um zu bestätigen, dass ein Aufruf im PositionStack-Format nachgelagert sauber ausgewertet wird.

Die Preise hängen nicht davon ab, welcher Kompatibilitäts-Host eine Anfrage verarbeitet hat. Jede Adresse erhält 2.500 kostenlose Anfragen pro Tag ganz ohne Schlüssel, gezählt pro Netz. Ein Schlüssel fügt weitere eigene 2.500 kostenlose Anfragen pro Tag hinzu. Jenseits beider Kontingente kostet Prepaid-Guthaben 0,0001 € pro Anfrage, oder ein Unlimited-Paket deckt die Nutzung für 50 € im Monat ab, genau wie bei jedem anderen Endpunkt und Host der Plattform.

Jede Antwort enthält außerdem unsere Kontingent-Header: X-Quota-Limit, X-Quota-Used, X-Quota-Free-Remaining, X-Quota-Network-Used, X-Credits-Remaining, X-Key-IPs-Used, X-Key-IPs-Limit und X-Quota-Reset, die einen Einblick in die Nutzung bieten, den eine einfache PositionStack-Integration sonst nicht offenlegen würde.

Für alles, was über die Standardfelder der kompatiblen Antwort hinausgeht, fügt mg_extras=1 in der Anfrage oder ein X-MG-Extras-Header optionale Extras hinzu, rein optional und standardmäßig deaktiviert.

Der Host ist unter /compatibility/positionstack/ dokumentiert, und einen umfassenderen Überblick darüber, wie alle siebzehn Kompatibilitäts-Hosts funktionieren, finden Sie unter /docs/compatibility/. Wenn PositionStack irgendwo in einem Service Ihres Stacks steckt, ist die Umstellung hierher eine kleine, umkehrbare Änderung zum Testen.