% my $api_root = $self->url_for('/api/v1')->to_abs->scheme('https'); % my $token = {}; % my $uid; % if (is_user_authenticated()) { % $uid = current_user()->{id}; % $token = get_api_token(); % }

API

Die folgenden API-Endpunkte werden aktuell unterstützt.

Status

% if ($token->{status}) { curl <%= $api_root %>/status/<%= $uid %>-<%= $token->{status} // 'TOKEN' %> % } % else { curl <%= $api_root %>/status/TOKEN % }

Beispiel / Layout:

{
"deprecated" : true / false, (falls true: Diese API-Version wird irgendwann abgeschaltet, bitte auf eine neue umsteigen)
"checkedIn" : true / false,
"fromStation" : { (letzter Checkin)
"name" : "Essen Hbf",
"ds100" : "EE",
"uic" : 8000098,
"latitude" : 51.451355,
"longitude" : 7.014793,
"scheduledTime": 1556083680,
"realTime": 1556083680,
},
"fromStation" : { (zugehöriger Checkout. Wenn noch nicht eingetragen, sind alle Felder null)
"name" : "Essen Stadtwald",
"ds100" : "EESA",
"uic" : 8001896,
"latitude" : 51.422853,
"longitude" : 7.023296,
"scheduledTime": 1556083980, (ggf. null)
"realTime": 1556083980, (ggf. null)
},
"train" : {
"type" : "S", (aktueller / letzter Zugtyp)
"line" : "6", (Linie als String, nicht immer numerisch, ggf. null)
"no" : "30634", (Zugnummer als String)
"id" : "7512500863736016593", (IRIS-spezifische Zug-ID)
},
"actionTime" : 1234567, (UNIX-Timestamp des letzten Checkin/Checkout)
}

Im Fehlerfall: { "error" : "Begründung" }