Dokumentation
Auf dieser Seite sind die verschiedenen Funktionalitäten des Viadi Routing Service beschrieben. Um auf die API zugreifen zu können, müssen Sie sich registrieren. Danach erhalten Sie die Base-URL sowie Ihren persönlichen API-Key.
Allgemein
Die Viadi Routing Service API ist nach dem REST-Prinzip aufgebaut. Als Antwortformat wird zur Zeit nur JSON unterstützt. Als Transportprotokoll wird HTTP und HTTPS unterstützt.
Verbindungen
/v1/connection
Parameter
Field | Type | Default | Description |
---|---|---|---|
from | String | required | Name (oder ID) der Abfahrtsstation der gesuchten Verbindung. |
fromLat | double | Anstelle von from kann mit fromLat/fromLon eine Startposition angegeben werden, es wird dann die nächstgelegene Station als Startpunkt gewählt. |
|
fromLon | double | Anstelle von from kann mit fromLat/fromLon eine Startposition angegeben werden, es wird dann die nächstgelegene Station als Startpunkt gewählt. |
|
to | String | required | Name (oder ID) der Ankunftsstation der gesuchten Verbindung. |
toLat | double | Anstelle von to kann mit toLat/toLon eine Startposition angegeben werden, es wird dann die nächstgelegene Station als Startpunkt gewählt. |
|
toLon | double | Anstelle von to kann mit toLat/toLon eine Startposition angegeben werden, es wird dann die nächstgelegene Station als Startpunkt gewählt. |
|
via | String | Name der Via-Station der gesuchten Verbindung. |
|
time | long | jetzt | Unix-Zeitstempel in Millisekunden der gesuchten Abfahrts-/Ankunftszeit. |
departure | boolean | true | Bei 'true' werden Verbindungen gesucht die nach der angegebenen Zeit abfahren, bei 'false' solche die vor der angegebenen Zeit ankommen. |
minNumberOfConnections | int | 5 | Gibt an wie viele Verbindungen die Antwort mindestens enthalten kann. Möglicherweise werden mehr Verbindungen als die gewünschte Anzahl zurückgeliefert. |
apiKeyWeb | String | Kann verwendet werden, wenn der Api-Key nicht als Header übergeben werden kann. |
Headers
Field | Type | Default | Description |
---|---|---|---|
API-Key | String | API-Key um Zugriff auf die Schnittstelle zu erhalten. |
|
Accept-Language | String | en | Sprache für Text-Inhalte. Unterstützt werden de/en/fr/it. |
Beispiel:
curl -H "API-Key: YOURAPIKEY" "https://BASEURL/v1/connection?from=Z%C3%BCrich,%20Central&to=Fiesch"
Antwort
Success 200
Field | Type | Description |
---|---|---|
connections | Connection[] | Falls dieser Array leer ist, wurden keine Verbindungen für die angegebene Zeit gefunden. |
nextRequest | String | URL um spätere Verbindungen zu laden. |
prevRequest | String | URL um frühere Verbindungen zu laden. |
Error 400
Field | Type | Description |
---|---|---|
statusCode | int | Statuscode des Fehlers |
msg | String | Beschreibung des Fehlers. |
Beispiel-Antwort:
Abfahrten
/v1/departures
Parameter
Field | Type | Default | Description |
---|---|---|---|
from | String | required | Name der Station für die Abfahrten gesucht werden. |
time | long | jetzt | Unix-Zeitstempel in Millisekunden der gesuchten Abfahrts-/Ankunftszeit. |
apiKeyWeb | String | Kann verwendet werden, wenn der Api-Key nicht als Header übergeben werden kann. |
Headers
Field | Type | Default | Description |
---|---|---|---|
API-Key | String | API-Key um Zugriff auf die Schnittstelle zu erhalten. |
|
Accept-Language | String | en | Sprache für Text-Inhalte. Unterstützt werden de/en/fr/it. |
Beispiel:
curl -H "API-Key: YOURAPIKEY" "https://BASEURL/v1/departures?from=Z%C3%BCrich,%20Central"
Antwort
Success 200
Field | Type | Description |
---|---|---|
departures | Section[] | Falls dieser Array leer ist, wurden keine Abfahrten für die angegebene Zeit gefunden. |
nextRequest | String | URL um spätere Abfahrten zu laden. |
prevRequest | String | URL um frühere Abfahrten zu laden. |
Error 400
Field | Type | Description |
---|---|---|
statusCode | int | Statuscode des Fehlers |
msg | String | Beschreibung des Fehlers. |
Beispiel-Antwort:
Stationen
/v1/stations
Parameter
Field | Type | Default | Description |
---|---|---|---|
query | String | required | User input der zu Stationsname vervollständigt werden soll. |
apiKeyWeb | String | Kann verwendet werden, wenn der Api-Key nicht als Header übergeben werden kann. |
Headers
Field | Type | Default | Description |
---|---|---|---|
API-Key | String | API-Key um Zugriff auf die Schnittstelle zu erhalten. |
|
Accept-Language | String | en | Sprache für Text-Inhalte. Unterstützt werden de/en/fr/it. |
Beispiel:
curl -H "API-Key: YOURAPIKEY" "https://BASEURL/v1/stations?query=Z%C3%BCrich,%20C"
Antwort
Success 200
Field | Type | Description |
---|---|---|
Location[] | Array von Locations die zum eingegebenen Query passen. |
Error 400
Field | Type | Description |
---|---|---|
statusCode | int | Statuscode des Fehlers |
msg | String | Beschreibung des Fehlers. |
Beispiel-Antwort:
Models
Hier folgt eine Beschreibung der verschiedenen Daten-Objekte.
Connection
Field | Type | Description |
---|---|---|
from | Checkpoint | Abfahrtsort |
to | Checkpoint | Ankunftsort |
duration | long | Dauer der Verbindung in Millisekunden. |
transfers | int | Anzahl Umstiege für diese Verbindung. |
sections | Section[] | Teilstrecken der Verbindung |
railServiceInfos | RailServiceInfo[] | Ankunftsort |
hasInfo | boolean | Flag ob es für diese Verbindung Info-RailServiceInfos gibt. |
hasTrouble | boolean | Flag ob es für diese Verbindung Störungs-RailServiceInfos gibt. |
realArrivalTime | long | Abfahrtszeit als Zeitstempel in Millisekunden inkl. dem ersten Fussweg. |
realDepartureTime | long | Ankunftszeit als Zeitstempel in Millisekunden inkl. dem letzten Fussweg. |
Checkpoint
Field | Type | Description |
---|---|---|
location | Location | Ort des Checkpoints |
time | long | Zeitstempel des Checkpoints in Millisekunden |
delay | long | Verspätung gegenüber time in Millisekunden |
platform | String | Name des Gleis oder null falls keine Information vorhanden ist. |
Location
Field | Type | Description |
---|---|---|
name | String | Name der Location |
latitude | double | Latitude der Location |
longitude | double | Longitude der Location |
type | String | Momentan immer "station". |
Section
Field | Type | Description |
---|---|---|
from | Checkpoint | Start der Section |
to | Checkpoint | Ende der Section |
route | Route | Route dieser Section, null falls die Section einen Fussweg beschreibt. |
Route
Field | Type | Description |
---|---|---|
name | String | Name des Verkehrsmittels |
infoName | String | Ergänzung zum Namen des Verkehrsmittels |
company | String | ID der Betreiber-Firma. |
destination | String | Name der Zielstation des Verkehrsmittels |
tripId | String | GTFS Trip ID |
sections | IntermediateSection[] | Zwischenhalte des Verkehrsmittels (nur gefahrener Bereich) |
attributes | Attribute[] | Attribute für dieses Verkehrsmittel |
IntermediateSection
Field | Type | Description |
---|---|---|
from | Checkpoint | Start der Section |
to | Checkpoint | Ende der Section |
type | String | Typ des Verkehrsmittels |
line | String | Liniennummer des Verkehrsmittels |
Attribute
Field | Type | Description |
---|---|---|
attributeId | String | ID des Attributes |
attributeDescription | String | Beschreibung des Attributes |
RailServiceInfo
Field | Type | Description |
---|---|---|
text | String | Beschreibung der Meldung |
header | String | Kurze Beschreibung der Meldung |
isInfo | boolean | Ist diese Meldung eine Info-Meldung. |
isTrouble | boolean | Ist diese Meldung eine Störungs-Meldung. |