diff options
author | Birte Kristina Friesel <derf@finalrewind.org> | 2024-11-06 21:22:42 +0100 |
---|---|---|
committer | Birte Kristina Friesel <derf@finalrewind.org> | 2024-11-06 21:22:42 +0100 |
commit | 645509be80db9e518d38df399fd194de7b4c1ca3 (patch) | |
tree | 248beca99283a23dbd01c9b9f8bf8c850aecf757 | |
parent | 45845964a3028b8baf35e447e3fdb4c67e39eec0 (diff) |
API description: most pages have JSON; document header
-rw-r--r-- | templates/layouts/app.html.ep | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/templates/layouts/app.html.ep b/templates/layouts/app.html.ep index ce82662..7ff1cf7 100644 --- a/templates/layouts/app.html.ep +++ b/templates/layouts/app.html.ep @@ -278,24 +278,17 @@ Bitte eine Station aus der Liste auswählen</div> DD.MM.[YYYY]-Format abgefragt werden, z.B. "ICE 921 (1.1.)" oder "ICE 921 @ 1.1.". Das Datum bezieht sich auf die geplante Abfahrtszeit am Startbahnhof der Zugfahrt.</li> - <li>Die Parameter <span style="font-family: monospace;">mode=json&version=3</span> - (alternativ <span style="font-family: - monospace;">https://dbf.finalrewind.org/Bahnhofsname.json?version=3</span>) - bieten ein JSON-Interface für IRIS- und HAFAS-Abfahrten. - Die route-Elemente können zusätzlich - die Felder "isAdditional" oder "isCancelled" enthalten, der Rest sollte - selbsterklärend sein. Im Fehlerfall fehlt das "departures"-Element, - stattdessen wird ein "error"-Element mit Fehlermeldung zurückgegeben. - Bitte maximal 30 Anfragen pro Minute und insbesondere nur eine Anfrage + <li>Viele Seiten sind auch als JSON verfügbar, wahlweise mittels + <span style="font-family: monospace;">Accept: application/json</span> oder + durch <span style="font-family: monospace;">.json</span> in der URL. + HAFAS- und IRIS-Abfahrtstafeln liefern mit dem GET-Parameter <span style="font-family: monospace;">version=3</span> eine stabile JSON-API. + Alle anderen Endpunkte (sowie Abfahrtstafeln mit <span style="font-family: monospace;">version=raw</span>) erlauben direkten Zugriff auf die serialisierten Travel::Status::DE::{EFA,HAFAS,IRIS}-Objekte ohne stabile API.</li> + <li>Bitte maximal 30 Anfragen pro Minute und insbesondere nur eine Anfrage pro Station und Minute – eine höhere Auflösung haben die Backenddaten ohnehin nicht.</li> <li>Mit <span style="font-family: monospace;">limit</span> kann die Anzahl der angezeigten / im JSON enthaltenen Abfahrten eingeschränkt werden, z.B. <span style="font-family: monospace;">limit=10</span> für die ersten zehn.</li> - <li><span style="font-family: monospace;">mode=json&version=raw</span> - erlaubt direkten Zugriff auf die serialisierten Travel::Status::DE::{EFA,HAFAS,IRIS}-Objekte. - Hier gibt es keine stabile API.</li> - <li>Zugdetails sind ebenfalls per JSON verfügbar und ebenso ohne stabile API.</li> <li>Dieser Dienst ist Open Source-Software und kann leicht auf eigenen Servern <a href="https://github.com/derf/db-fakedisplay/blob/master/README.md">installiert</a> werden. Automatisierte Crawler, die mehrere Dutzend Stationen pro Minute |