diff options
author | Daniel Friesel <derf@finalrewind.org> | 2019-12-14 21:53:23 +0100 |
---|---|---|
committer | Daniel Friesel <derf@finalrewind.org> | 2019-12-14 21:53:23 +0100 |
commit | 46fc64de4831e90971c4a3db91d6fcfa3628a2d0 (patch) | |
tree | ba6a21e9695cac5fa28709abd42c0339a0df828c /templates | |
parent | 5fe4174febbf833e0fdbfd5f1500883720c420df (diff) |
Add travel (checkin/checkout/undo) API
Diffstat (limited to 'templates')
-rw-r--r-- | templates/account.html.ep | 2 | ||||
-rw-r--r-- | templates/api_documentation.html.ep | 64 |
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/> |