Commit e7f27857 authored by Birte Kristina Friesel's avatar Birte Kristina Friesel
Browse files

more travel API documentation

parent 11a2e94a
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -737,6 +737,11 @@ sub startup {
				my $tx = $db->begin;

				if ( defined $train ) {

					if ( not $train->arrival ) {
						die("Train has no arrival timestamp\n");
					}

					$has_arrived = $train->arrival->epoch < $now->epoch ? 1 : 0;
					my $json = JSON->new;
					$db->update(
+5 −4
Original line number Diff line number Diff line
@@ -281,7 +281,8 @@ sub travel_v1 {
				$self->render(
					json => {
						success => \0,
						error   => 'Fehler am Abfahrtsbahnhof: '
						error =>
						  'Error requesting departures from fromStation: '
						  . $status->{errstr},
						status => $self->get_user_status_json_v1($uid)
					}
@@ -297,7 +298,7 @@ sub travel_v1 {
					json => {
						success    => \0,
						deprecated => \0,
						error      => 'Zug nicht gefunden',
						error      => 'Train not found at fromStation',
						status     => $self->get_user_status_json_v1($uid)
					}
				);
@@ -320,7 +321,7 @@ sub travel_v1 {
				json => {
					success    => \0,
					deprecated => \0,
					error      => $error,
					error      => 'Checkin/Checkout error: ' . $error,
					status     => $self->get_user_status_json_v1($uid)
				}
			);
@@ -362,7 +363,7 @@ sub travel_v1 {
				json => {
					success    => \0,
					deprecated => \0,
					error      => $error,
					error      => 'Checkout error: ' . $error,
					status     => $self->get_user_status_json_v1($uid)
				}
			);
+11 −1
Original line number Diff line number Diff line
@@ -73,6 +73,10 @@
		<p>
			Checkin per API. Sobald eine Zielstation bekannt ist, erfolgt der
			Checkout wie beim Webinterface automatisch zehn Minuten nach Ankunft.
			Bitte beachten: Es wird nicht überprüft, ob die angegebene Zielstation
			in der vorgesehenen Route des Zugs vorkommt oder nicht.
		</p>
		<p>
			Falls du zum Checkinzeitpunkt bereits in einen anderen Zug eingecheckt
			bist, wirst du zunächst am gewählten Startbahnhof aus diesem ausgecheckt.
			Der Checkout erfolgt unabhängig davon, ob der vorherige Zug an dieser
@@ -80,6 +84,12 @@
			innerhalb von 48 Stunden kein Zielbahnhof nachgetragen wird, wird der
			Checkin automatisch rückgängig gemacht.
		</p>
		<p>
			Das Verhalten des Checkout-Endpunkts hängt vom Zeitpunkt ab. Wenn der
			Zug den angegebenen Zielbahnhof bereits erreicht hat, wird dort
			ausgecheckt. Andernfalls wird das Reiseziel aktualisiert und etwa zehn
			Minuten nach Ankunft automatisch ausgecheckt.
		</p>
		<p style="font-family: Monospace;">
			curl -X POST -H "Content-Type: application/json" -d '{"token":"<%= $uid %>-<%= $token->{travel} // 'TOKEN' %>"}' <%= $api_root %>/travel
		</p>
@@ -102,7 +112,7 @@
		{<br/>
			"token" : "<%= $uid %>-<%= $token->{travel} // '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/>
			"force" : true/false, (wenn true: Checkout jetzt durchführen und auftretende Fehler ignorieren. Kann zu Logeinträgen ohne Ankunftszeit führen.)<br/>
			"toStation" : "Berlin Hbf", (DS100 oder EVA-Nummer sind ebenfalls möglich)<br/>
			"comment" : "Beliebiger Text" (optional, überschreibt vorherigen Kommentar)<br/>
		}