API-Dokumentation


Die Verkehrsdaten API gibt Entwicklern die Möglichkeit weltweite Echtzeitverkehrsdaten in öffentlich zugänglichen Mobil- und Webanwendungen zu verwenden. Zur Nutzung benötigen Sie einen API-Key, den Sie mit einem kostenfreien API-Account erhalten. Sie können die Verkehrsdaten-API nach folgender Spezifikation verwenden:


API-Call

Der Abruf von Verkehrsdaten erfolgt mit Übermittlung eines Request an den Verkehrsdatenserver. Sie können den API-Call hier über eine grafische Benutzeroberfläche erstellen. Die Übermittlung kann per HTTP-GET oder HTTP-POST erfolgen.

URI-Aufbau {base-url}?tir={tir}&tiz={tiz}&tif={tif}&til={til}&tik={tik}

Beispiel https://www.b30oberschwaben.de/verkehrsdaten.api?tir=6020674.4486462,1033673.2176647949,6195693.483179452,1143769.7156602743&tiz=12&tif=json&til=de&tik=YourApiKey


Request Parameter

Parameter
Beschreibung
base-url
string
URL des Verkehrsdatenservers
Wert: https://www.b30oberschwaben.de/verkehrsdaten.api
tir
array of float
Geographischer Bereich über den Verkehrsdaten abgerufen werden. Erwartet werden EPSG:3857-Koordinaten, auch bekannt als Web Mercator Projection. Wenn Sie einen ungültigen, zu kleinen oder zu großen Bereich angeben, erhalten Sie einen Fehlermeldung oder es werden keine Verkehrsdaten ausgegeben.
Wert: minLat,minLon,maxLat,maxLon
tiz
integer
Zoom-Level. Detaillierungsgrad der Verkehrsdaten. Der Zoom-Level hat Auswirkungen darauf, welche Verkehrsdaten ausgegeben werden. Wenn Sie einen zu kleinen oder zu großen Zoom-Level wählen, erhalten Sie eine Fehlermeldung oder es werden keine Verkehrsdaten ausgegeben. Typischerweise ist ein Zoom-Level von 10 bis 12 zu empfehlen.
Wert: 0..22
tif
string
Ausgabe-Datenformat. Datenformat, das zurückgegeben wird.
Wert: json, xml
til
string
Ausgabe-Sprache. Sprache in der Verkehrsdaten zurückgegeben werden. Aktuell ist eine vollständige Übersetzung nicht implementiert. In bestimmten Fällen können Teile von Verkehrsdaten in englischer Sprache zurückgegeben werden. Standardsprache ist Englisch. Möglich sind diverse ISO 639-1-Codes. Außerdem steht die Sprache "Schwäbisch" unter dem Code "sb" zur Verfügung.
Wert: ar, ca, cs, da, de, el, en, es, et, fi, fr, he, hu, id, it, lt, lv, nb, nl, no, pl, pt, ro, ru, sb, sk, sv, th, tr, zh
tik
string
API-Key. Ihr API-Key, den Sie nach Einrichtung eines API-Accounts erhalten. Der API-Key wird zur Verifizierung verwendet. Wenn Sie einen API-Aufruf ohne API-Key ausführen, erhalten Sie eine Fehlermeldung.
Wert: web-GUID



Server Response

Der Verkehrsdatenserver gibt nach dem API-Aufruf entweder eine Fehlermeldung zurück (als Text und/oder HTTP-Statuscode) oder die gewünschten Daten im JSON- oder XML-Format.

Die Server-Rückgabe enthält in der Regel zwei Datenteile: Im ersten und oberen Teil sind die von Verkehrsmeldungen betroffene Cluster (Verkehrszellen) mit der Position, Art- und Typ der Verkehrsmeldung aufgeführt - jedoch ohne weitere Angabe wie Straße und Erläuterungen. Im zweiten und unteren Teil finden sich die detailliert beschriebenen Verkehrsmeldungen.

Die zurückgegebenen Datenblöcke enthalten nur die zur Verfügung stehenden Daten (Felder). Sie sind daher im Umfang nicht einheitlich.

Feld
Beschreibung
tm
object
Hauptobjekt der Rückgabe. Das Attribut id gibt das der Ausgabe zugrundeliegende Verkehrsmodell an.
poi
array
Ein Cluster mit Verkehrsmeldungen oder eine einzelne Verkehrsmeldung.
cpoi
array
Eine einzelne Verkehrsmeldung in einem erweiterten Cluster.
id
string
Eindeutige Nummer (ID) eines Clusters oder einer Verkehrsmeldung.
p
object
EPSG:3857-Koordinaten einer Verkehrsmeldung. Dieser Wert hängt vom Zoom-Level und dem Straßentyp ab.
op
object
EPSG:3857-Koordinaten der aktuellen Position der Verkehrsmeldung.
ic
integer
Art der Verkehrsmeldung:
0: Unbekannt
1: Unfall
2: Nebel
3: Gefährliche Situation
4: Regen
5: Glätte
6: Stau
7: Fahrstreifen gesperrt
8: Straße gesperrt
9: Baustelle
10: Sturm
11: Überflutung
12: Umleitung
13: Das Cluster enthält mehrere Arten von Verkehrsmeldungen
ty
integer
Behinderungswahrscheinlichkeit:
0: Unbekannt
1: Gering (HBS/HCM QSV/LOS D)
2: Mittel (HBS/HCM QSV/LOS E)
3: Hoch (HBS/HCM QSV/LOS F)
4: Nicht festgelegt. Wird bei Sperrungen verwendet oder anderen nicht genauer definierten Verkehrsstörungen.
cbl
object
EPSG:3857-Koordinate der linken unteren Ecke eines Clusters
ctr
object
EPSG:3857-Koordinate der rechten oberen Ecke eines Clusters
cs
integer
Anzahl der Verkehrsmeldungen innerhalb eines Clusters
d
string
Beschreibung einer Verkehrsmeldung
ed
string
Voraussichtliches Ende einer Verkehrsstörung im ISO 8601-Format.
c
string
Ursache einer Verkehrsstörung
f
string
Ort an dem eine Verkehrsmeldung beginnt (Beispiel: von Adorf)
t
string
Ort an dem eine Verkehrsmeldung endet (Beispiel: nach Bdorf)
l
integer
Länge in Meter
dl
integer
Zeitverlust in Sekunden, außer bei Sperrungen.
r
string
Straße. Bezeichnung der betroffenen Straße, wenn vorhanden. Wenn mehrere Straßen betroffen sind, werden diese mit einem Komma getrennt.
v
string
Vector-Geometrie der Verkehrsmeldung im Google Polyline-Format



HTTP-Response Codes

Code
Beschreibung
200
OK. API-Call erfolgreich ausgeführt.
400
Bad Request. Der API-Call ist fehlerhaft aufgebaut oder enthält ungültige Zeichen.
403
Forbidden. Der API-Call enthält ungültige Zeichen oder der API-Key ist ungültig.
429
Too Many Requests. Es wurden gleichzeitig zu viele Anfragen an den Server gesandt.
500
Internal Server Error. Der API-Call ist fehlerhaft, enthält fehlerhafte Zeichen, eine Schutzverletzung oder ein Fehler ist in der Serversoftware aufgetreten.
503
Service Unavailable. Der Server steht vorübergehend nicht zur Verfügung. Beispielsweise wegen Überlastung oder Wartungsarbeiten.



Error Response Codes

Code
Beschreibung
0x000000
Allgemeine Schutzverletzung. Ein Konflikt mit einem Modi liegt vor.
1_0x000000
Ungültiger Benutzer. Das API-Konto existiert nicht mehr.
1_0x000001
Ungültiger Benutzer. Das API- Konto ist ungültig.
1_0x000002
Ungültiger Benutzer. Das API-Konto ist unbekannt.
1_0x000007
Parameter tir fehlt.
1_0x000008
Der Wert des Parameters tir ist ungültig. Übergeben Sie einen gültigen EPSG:3857-Bounding-Box-Wert.
1_0x000009
Parameter tiz fehlt.
1_0x00000A
Der Wert des Parameters tiz ist ungültig. Übergeben Sie einen gültigen Zoom-Level-Wert. Typischerweise ist ein Wert von 10 bis 12 empfehlenswert.
1_0x00000B
Parameter tif fehlt.
1_0x00000C
Der Wert des Parameters tif ist ungültig. Übergeben Sie ein gültiges Datenformat.
1_0x00000D
Parameter til fehlt.
1_0x00000E
Der Wert des Parameters til ist ungültig. Übergeben Sie einen gültigen Wert für die Ausgabe-Sprache.
1_0x00000F
Parameter tik fehlt.
1_0x000010
Der Wert des Parameters tik ist ungültig. Übergeben Sie einen gültigen API-Key.
1_0x000011
Interner Datenbankfehler. Der Fehler wird intern geloggt und an den Administrator gesandt. Nehmen sie Kontakt mit uns auf, wenn das Problem über längere Zeit besteht.
1_0x000012
Ungültiger API-Key. Der API-Key scheint syntaktisch korrekt zu sein, wurde aber nicht gefunden.
1_0x000013
API-Aufrufe aufgebraucht. Es stehen keine weiteren API-Aufrufe zur Verfügung. Melden Sie sich an Ihrem API-Account an und laden Sie Ihre API-Aufrufe auf.
1_0x000014
Server lookup fehlgeschlagen. Typischerweise im Zusammenhang mit CURL. Versuchen Sie es erneut. Der Fehler wird intern geloggt und an den Administrator gesandt. Nehmen Sie Kontakt mit uns auf, wenn das Problem über einen längeren Zeitraum besteht.
1_0x000015
JSON. Unbekannter Fehler. Wenn das Problem längere Zeit besteht, verwenden Sie XML als Datenformat.
1_0x000016
JSON. Stacküberlauf. Wenn das Problem längere Zeit besteht, verwenden Sie XML als Datenformat.
1_0x000017
JSON. Ungültiges oder missgebildetes Format. Wenn das Problem längere Zeit besteht, verwenden Sie XML als Datenformat.
1_0x000018
JSON. Falsch codiertes Steuerzeichen. Wenn das Problem längere Zeit besteht, verwenden Sie XML als Datenformat.
1_0x000019
JSON. Syntaxfehler. Wenn das Problem längere Zeit besteht, verwenden Sie XML als Datenformat.
1_0x00001A
JSON. Falsch kodierte utf-8-Zeichen. Wenn das Problem längere Zeit besteht, verwenden Sie XML als Datenformat.
1_0x00001B
JSON. Rekursionsfehler. Wenn das Problem längere Zeit besteht, verwenden Sie XML als Datenformat.
1_0x00001C
JSON. Ein oder mehrere INF- oder NAN-Zeichen. Wenn das Problem längere Zeit besteht, verwenden Sie XML als Datenformat.
1_0x00001D
JSON. Nicht codierbarer Typ. Wenn das Problem längere Zeit besteht, verwenden Sie XML als Datenformat.
1_0x00001E
JSON. Ungültige Eigenschaft. Wenn das Problem längere Zeit besteht, verwenden Sie XML als Datenformat.
1_0x00001F
JSON. Falsch codierte utf-16-Zeichen. Wenn das Problem längere Zeit besteht, verwenden Sie XML als Datenformat.
1_0x000020
Zugriff verweigert. Die erforderlichen Zugriffsrechte bestehen vorläufig oder dauerhaft nicht mehr, Sie versuchen von einem in einer Blacklist gelisteten Server oder über ein privates Netzwerk oder einen Proxy auf den Verkehrsdatenserver zuzugreifen, es wurden zu viele Anfragen auf einmal an den Server gesandt oder der Server ist vorübergehend wegen Überlastung oder Wartungsarbeiten nicht verfügbar.


Letzte Aktualisierung: 13. Apr. 2020
Seite erstellt am: 31. März 2020