Dokumentation
GET/api/v1/feed/gtfs.zip

GTFS-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.
AnfrageShell
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.

Mit ETag abrufenShell
# 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 als If-None-Match, dann kommt bei unverändertem Fahrplan ein 304 ohne Nutzlast zurück.
  • Hat die Stadt den Feed öffentlich freigeschaltet, ist er ohne Schlüssel unter /api/<stadt>/gtfs.zip erreichbar — inhaltlich identisch.