summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBirte Kristina Friesel <derf@finalrewind.org>2024-11-06 21:22:42 +0100
committerBirte Kristina Friesel <derf@finalrewind.org>2024-11-06 21:22:42 +0100
commit645509be80db9e518d38df399fd194de7b4c1ca3 (patch)
tree248beca99283a23dbd01c9b9f8bf8c850aecf757
parent45845964a3028b8baf35e447e3fdb4c67e39eec0 (diff)
API description: most pages have JSON; document header
-rw-r--r--templates/layouts/app.html.ep19
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&amp;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&amp;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