Von BVG-APIs migrieren

Inhaltsverzeichnis

Die BVG stellt proprietäre JSON-APIs für Aufzugsdaten und Störungsmeldungen bereit. Transit importiert beide Datenströme automatisch und bietet sie über eine einheitliche REST-API an.

Gegenüberstellung: Aufzugs-Stammdaten

BVG API

Transit API

Hinweis

bahnhof

location.site → internal_description

Haltestellenname (normalisiert)

fabrikNummer

linked_data.operator_inventory_id

Betreiber-Inventarnummer

aufzugsNummer

linked_data.original_data.aufzugsNummer

Aufzugsnummer am Standort

geokoordinaten

geometry (PostGIS Point)

Koordinaten

meldungsTextDE

function.short_visual (de)

Bereinigt: <> → ⟷, S 1 → S1

meldungsTextEN

function.short_visual (en)

Bereinigt

–

function.short_tts

TTS-optimiert: <> → und / and

–

function.long_tts

Volltext mit Präfix „Zwischen …" / „Between …"

Gegenüberstellung: Störungsmeldungen

BVG Störungs-API

Transit API

Hinweis

meldungsId

Status Span external_reference_id

Eindeutige Störungs-ID

fabrikNummer

Status Span original_elevator_id

Zur Zuordnung zum Aufzug

bahnhofHafasId

Status Span original_site_id

Stations-ID

meldungsTextDE

Status Span description

Bereinigter Störungstext

gueltigVonDatum + gueltigVonZeit

Status Span start_date

ISO-8601 Zeitstempel

gueltigBisDatum + gueltigBisZeit

Status Span end_date

ISO-8601 Zeitstempel

–

Status Span reason_type

Automatisch abgeleitet aus Meldungstext

–

Status Span operational_status

out_of_service

Automatische Störungsgrund-Erkennung

Transit erkennt den Störungsgrund automatisch aus dem deutschen Meldungstext:

Schlüsselwort

Erkannter Grund

„wartung"

maintenance

„baumaßnahme"

under_construction

(sonst)

failure

Beispiel: Aufzüge einer BVG-Station abfragen

BVG API (vorher):

GET https://bvg-api.example.com/aufzuege?bahnhof=Alexanderplatz

Transit API (nachher):

GET /api/elevators?where[stop_place_name][contains]=Alexanderplatz&where[feed][equals]={bvg-feed-id}&depth=2

Beispiel: Aktuelle Störungen von BVG-Aufzügen

BVG API (vorher):

GET https://bvg-api.example.com/stoerungen

Transit API (nachher):

GET /api/status-spans?where[operational_status][equals]=out_of_service&where[feed][equals]={bvg-disruption-feed-id}&sort=-start_date&depth=2

Die Antwort enthält für jeden Status Span die verknüpften Aufzüge und Haltestellen (durch depth=2).

Wesentliche Unterschiede

Aspekt

BVG API

Transit API

Scope

Nur BVG-Aufzüge

Alle Betreiber

Haltestellennamen

BVG-eigene Schreibweise

Normalisiert + DHID-Zuordnung

Störungsgrund

Freitext

Automatisch kategorisiert (reason_type)

Beschreibungen

Roh

Bereinigt + TTS-Varianten

Koordinaten

Evtl. ungültig

Fallback auf Stop-Place-Koordinaten

Authentifizierung

BVG-spezifisch

Bearer-Token