summaryrefslogtreecommitdiff
path: root/templates
diff options
context:
space:
mode:
authorDaniel Friesel <derf@finalrewind.org>2019-12-14 21:53:23 +0100
committerDaniel Friesel <derf@finalrewind.org>2019-12-14 21:53:23 +0100
commit46fc64de4831e90971c4a3db91d6fcfa3628a2d0 (patch)
treeba6a21e9695cac5fa28709abd42c0339a0df828c /templates
parent5fe4174febbf833e0fdbfd5f1500883720c420df (diff)
Add travel (checkin/checkout/undo) API
Diffstat (limited to 'templates')
-rw-r--r--templates/account.html.ep2
-rw-r--r--templates/api_documentation.html.ep64
2 files changed, 59 insertions, 7 deletions
diff --git a/templates/account.html.ep b/templates/account.html.ep
index a9f1bb0..be61518 100644
--- a/templates/account.html.ep
+++ b/templates/account.html.ep
@@ -183,7 +183,7 @@
<td>
%= form_for 'set_token' => begin
%= csrf_field
- %= hidden_field 'token' => 'action'
+ %= hidden_field 'token' => 'travel'
<button class="btn waves-effect waves-light" type="submit" name="action" value="generate">
Generieren
</button>
diff --git a/templates/api_documentation.html.ep b/templates/api_documentation.html.ep
index de0231d..b831e33 100644
--- a/templates/api_documentation.html.ep
+++ b/templates/api_documentation.html.ep
@@ -64,17 +64,69 @@
</p>
</div>
</div>
-<!--
-<h3>History</h3>
+
+<h2>Travel</h2>
<div class="row">
<div class="col s12">
<p>
- Coming soon.
+ Checkin per API. Sobald eine Zielstation bekannt ist, erfolgt der
+ Checkout wie beim Webinterface automatisch zehn Minuten nach Ankunft.
+ </p>
+ <p style="font-family: Monospace;">
+ curl -X POST -H "Content-Type: application/json" -d '{"token":"<%= $uid %>-<%= $token->{travel} // 'TOKEN' %>"}' <%= $api_root %>/travel
+ </p>
+ <p>Payload zum Einchecken, optional mit Zielwahl:</p>
+ <p style="font-family: Monospace;">
+ {<br/>
+ "token" : "<%= $uid %>-<%= $token->{import} // 'TOKEN' %>",<br/>
+ "action" : "checkin",<br/>
+ "train" : {<br/>
+ "type" : "ICE",<br/>
+ "no" : "1234",<br/>
+ }<br/>
+ "fromStation" : "Essen Hbf", (DS100 oder EVA-Nummer sind ebenfalls möglich)<br/>
+ "toStation" : "Berlin Hbf" (optional, DS100 oder EVA-Nummer sind ebenfalls möglich)<br/>
+ }
+ </p>
+ <p>Payload zur Wahl eines neuen Ziels, wenn bereits eingecheckt:</p>
+ <p style="font-family: Monospace;">
+ {<br/>
+ "token" : "<%= $uid %>-<%= $token->{import} // 'TOKEN' %>",<br/>
+ "action" : "checkout",<br/>
+ "force" : True/False, (wenn True: Checkout jetzt durchführen und auftretende Fehler ignorieren. Kann zu Logeinträgen ohne Ankunftsdaten führen.)<br/>
+ "toStation" : "Berlin Hbf" (DS100 oder EVA-Nummer sind ebenfalls möglich)<br/>
+ }
+ </p>
+ <p>Payload zum Rückgängigmachen eines Checkins (nur während der Fahrt möglich):</p>
+ <p style="font-family: Monospace;">
+ {<br/>
+ "token" : "<%= $uid %>-<%= $token->{import} // 'TOKEN' %>",<br/>
+ "action" : "undo"<br/>
+ }
+ </p>
+ <p>
+ Antwort bei Erfolg:
+ </p>
+ <p style="font-family: Monospace;">
+ {<br/>
+ "success" : True,<br/>
+ "status" : { aktueller Nutzerstatus gemäß Status-API }<br/>
+ }
+ </p>
+ <p>
+ Antwort bei Fehler:
+ </p>
+ <p style="font-family: Monospace;">
+ {<br/>
+ "success" : False,<br/>
+ "error" : "Begründung",<br/>
+ "status" : { aktueller Nutzerstatus gemäß Status-API }<br/>
+ }
</p>
</div>
-</div>-->
+</div>
-<h3>Import</h3>
+<h2>Import</h2>
<div class="row">
<div class="col s12">
<p>
@@ -86,7 +138,7 @@
<p>Payload (alle nicht als optional markierten Felder sind Pflicht):</p>
<p style="font-family: Monospace;">
{<br/>
- "token" : "<%= $token->{import} // 'TOKEN' %>",<br/>
+ "token" : "<%= $uid %>-<%= $token->{import} // 'TOKEN' %>",<br/>
"dryRun" : True/False, (optional: wenn True, wird die Eingabe validiert, aber keine Zugfahrt angelegt)<br/>
"cancelled" : True/False, (Zugausfall?)<br/>
"train" : {<br/>