From d6264b5ca8a0192c02bb3aff676fd8aebe87c29e Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Sat, 16 Mar 2019 13:56:56 +0100 Subject: Add JSON API --- templates/account.html.ep | 119 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 119 insertions(+) (limited to 'templates/account.html.ep') diff --git a/templates/account.html.ep b/templates/account.html.ep index 74af719..b23c9af 100644 --- a/templates/account.html.ep +++ b/templates/account.html.ep @@ -33,6 +33,125 @@ +

API

+% my $token = get_api_token(); +
+
+

+ Die folgenden API-Token erlauben den passwortlosen automatisierten Zugriff auf + API-Endpunkte. Bitte umsichtig behandeln – sobald ein Token gesetzt + ist, können mit Kenntnis von Token und Nutzer-ID alle zugehörigen + API-Aktionen ausgeführt werden. Logindaten sind dazu nicht + erforderlich. +

+ + + + + + + + + + + + + + + + +
Status + % if ($token->{status}) { + %= $acc->{id} . '-' . $token->{status} + % } + % else { + — + % } + + %= form_for 'set_token' => begin + %= csrf_field + %= hidden_field 'token' => 'status' + + + %= end +
History + % if ($token->{history}) { + %= $acc->{id} . '-' . $token->{history} + % } + % else { + — + % } + + %= form_for 'set_token' => begin + %= csrf_field + %= hidden_field 'token' => 'history' + + + %= end +
Travel + % if ($token->{action}) { + %= $acc->{id} . '-' . $token->{action} + % } + % else { + — + % } + + %= form_for 'set_token' => begin + %= csrf_field + %= hidden_field 'token' => 'action' + + + %= end +
+
+
+ +

Status

+% my $api_root = $self->url_for('/api/v0')->to_abs->scheme('https'); +
+
+

+ Das Format der API v0 kann sich noch ändern, ab v1 ist es stabil. +

+

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

+

+ {
+ "checked_in" : true / false,
+ "station_ds100" : "EE", (DS100-Kürzel der letzten Station)
+ "station_name" : "Essen Hbf", (Name der letzten Station)
+ "train_type" : "ICE", (aktueller / letzter Zugtyp)
+ "train_line" : "", (Linie, ggf. null)
+ "train_no" : "1234", (Zugnummer)
+ "action_ts" : 1234567, (UNIX-Timestamp des letzten Checkin/Checkout)
+ "sched_ts" : 1234567, (UNIX-Timestamp der zugehörigen Ankunft/Abfahrt gemäß Fahrplan. Ggf. 0)
+ "real_ts" : 1234567, (UNIX-Timestamp der zugehörigen Ankunft/Abfahrt laut Echtzeitdaten. Ggf. 0)
+ } +

+

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

+
+
+

Export

-- cgit v1.2.3