GET
/api/v1/feed/gtfs.zipGTFS-Feed
Derselbe GTFS(-Flex)-Feed wie der öffentliche Stadt-Feed, nur schlüsselgeschützt. Unterstützt ETag/If-None-Match.
Wofür
Wenn Ihr System GTFS ohnehin lesen kann, ist das der kürzeste Weg zum kompletten Fahrplan — ein Download statt drei paginierter Listen. Für Städte, die ihren Feed nicht öffentlich freigeschaltet haben.
Anfrage
Erfordert das Recht
read:schedule.curl -sS \
-H "Authorization: Bearer rb_live_…" \
"https://rufbusle.de/api/v1/feed/gtfs.zip"Antwort
Kein JSON, sondern
application/zip.Die Antwort ist ein ZIP-Archiv mit den GTFS(-Flex)-Dateien der Stadt. Welche Dateien es enthält und wie der Feed aufgebaut ist, steht bei den offenen Fahrplandaten.
# Erster Abruf: ETag merken
curl -sS -D headers.txt \
-H "Authorization: Bearer rb_live_…" \
"https://rufbusle.de/api/v1/feed/gtfs.zip" -o gtfs.zip
# Folgeabruf: 304, solange sich nichts geändert hat
curl -sS -o /dev/null -w '%{http_code}\n' \
-H "Authorization: Bearer rb_live_…" \
-H 'If-None-Match: "<etag>"' \
"https://rufbusle.de/api/v1/feed/gtfs.zip"Worauf zu achten ist
Die Punkte, an denen Integrationen erfahrungsgemäß hängen bleiben.
- Antwortet mit
ETag. Senden Sie ihn beim nächsten Abruf alsIf-None-Match, dann kommt bei unverändertem Fahrplan ein304ohne Nutzlast zurück. - Hat die Stadt den Feed öffentlich freigeschaltet, ist er ohne Schlüssel unter
/api/<stadt>/gtfs.ziperreichbar — inhaltlich identisch.