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.
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.
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.
/v1/connection
| 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. |
| 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. |
curl -H "API-Key: YOURAPIKEY" "https://BASEURL/v1/connection?from=Z%C3%BCrich,%20Central&to=Fiesch"
| 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. |
| Field | Type | Description |
|---|---|---|
| statusCode | int | Statuscode des Fehlers |
| msg | String | Beschreibung des Fehlers. |
/v1/departures
| 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. |
| 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. |
curl -H "API-Key: YOURAPIKEY" "https://BASEURL/v1/departures?from=Z%C3%BCrich,%20Central"
| 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. |
| Field | Type | Description |
|---|---|---|
| statusCode | int | Statuscode des Fehlers |
| msg | String | Beschreibung des Fehlers. |
/v1/stations
| 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. |
| 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. |
curl -H "API-Key: YOURAPIKEY" "https://BASEURL/v1/stations?query=Z%C3%BCrich,%20C"
| Field | Type | Description |
|---|---|---|
| Location[] | Array von Locations die zum eingegebenen Query passen. |
| Field | Type | Description |
|---|---|---|
| statusCode | int | Statuscode des Fehlers |
| msg | String | Beschreibung des Fehlers. |
Hier folgt eine Beschreibung der verschiedenen Daten-Objekte.
| 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. |
| 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. |
| Field | Type | Description |
|---|---|---|
| name | String | Name der Location |
| latitude | double | Latitude der Location |
| longitude | double | Longitude der Location |
| type | String | Momentan immer "station". |
| 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. |
| 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 |
| Field | Type | Description |
|---|---|---|
| from | Checkpoint | Start der Section |
| to | Checkpoint | Ende der Section |
| type | String | Typ des Verkehrsmittels |
| line | String | Liniennummer des Verkehrsmittels |
| Field | Type | Description |
|---|---|---|
| attributeId | String | ID des Attributes |
| attributeDescription | String | Beschreibung des Attributes |
| 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. |