Files
sailing-analytics/java/com.sap.sailing.server.gateway/webservices/api/v1/index.html
T
2019-07-24 16:37:22 +02:00

377 lines
16 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<link href='../../../../sailing-fontface-1.0.cache.css' media='screen' rel='stylesheet' title='Default stylesheet' type='text/css' />
<link href='../../../main.css' media='screen' rel='stylesheet' title='Default stylesheet' type='text/css' />
<link rel='icon' href='../../../../sap.ico' type='image/x-icon'>
<title>SAP Sailing Analytics Webservices API Version 1.0</title>
</head>
<body>
<h1>SAP Sailing Analytics Webservices API Version 1.0 - Overview</h1>
<p>
A number of web services are available to query the state of a SAP Sailing Analytics server instance.
Note that different server instances exist, and not all servers hold the same data. Usually, events get
their own URL which is then made sure to point to a server instance holding the data for that event.
We use an Apache reverse proxy to map URLs (and in particular the sub-domain) to a particular server instance.
So, <a href="http://www.sapsailing.com">www.sapsailing.com</a> may end up on a different server instance than
<a href="http://tw2013.sapsailing.com">tw2013.sapsailing.com</a>
or <a href="http://ess40-2013.sapsailing.com">ess40-2013.sapsailing.com</a>. Usually, we hand out a per-event
or per-series URL, such as the ones above (except www.sapsailing.com which is the general landing page),
and you would only fetch the content for the event you're interested in, even if the server instance has more.
In all subsequent explanations, you may replace the "www.sapsailing.com" hostname by an according per-event host
name to make sure you get to the event you're interested in.
</p>
<div style="height: 1em;"></div>
<table>
<thead>
<tr>
<td>Webservice URL</td>
<td>Description</td>
</tr>
</thead>
<tbody>
<tr>
<td><a href="eventCreateEvent.html">/api/v1/events/createEvent</a></td>
<td>Creates a new event</td>
</tr>
<tr>
<td><a href="eventUpdate.html">/api/v1/events/{event-id}/update</a></td>
<td>Updates an existing event</td>
</tr>
<tr>
<td><a href="eventMigrate.html">/api/v1/events/{event-id}/migrate</a></td>
<td>Migrates an existing event</td>
</tr>
<tr>
<td><a href="eventGetDoc.html">/api/v1/events</a></td>
<td>Gets all events</td>
</tr>
<tr>
<td><a href="eventGetDoc.html">/api/v1/events/{id}</a></td>
<td>Gets the details of an event</td>
</tr>
<tr>
<td><a href="eventRaceStatesGetDoc.html">/api/v1/events/{id}/racestates</a></td>
<td>Gets the race states of all races of an event</td>
</tr>
<tr>
<td><a href="regattasGetDoc.html">/api/v1/regattas</a></td>
<td>Gets all regattas</td>
</tr>
<tr>
<td><a href="regattaGetDoc.html">/api/v1/regattas/{name}</a></td>
<td>Gets the details of a regatta</td>
</tr>
<tr>
<td><a href="racesGetDoc.html">/api/v1/regattas/{name}/races</a></td>
<td>Gets the list of races in a regatta</td>
</tr>
<tr>
<td><a href="entriesGetDoc.html">/api/v1/regattas/{name}/entries</a></td>
<td>Gets the entries of a regatta</td>
</tr>
<tr>
<td><a href="raceEntriesGetDoc.html">/api/v1/regattas/{regattaname}/races/{racename}/entries</a></td>
<td>Gets the entries of a race</td>
</tr>
<tr>
<td><a href="raceBearingOfFirstLegGetDoc.html">/api/v1/regattas/{regattaname}/races/{racename}/firstlegbearing</a></td>
<td>Gets the bearing of the first leg</td>
</tr>
<tr>
<td><a href="raceMarkPassingsGetDoc.html">/api/v1/regattas/{regattaname}/races/{racename}/markpassings</a></td>
<td>Gets all mark passings of a race, by competitor and by waypoint</td>
</tr>
<tr>
<td><a href="raceCompetitorPositionsGetDoc.html">/api/v1/regattas/{regattaname}/races/{racename}/competitors/positions</a></td>
<td>Gets the GPS positions of the competitors of a race</td>
</tr>
<tr>
<td><a href="raceCompetitorLiveGetDoc.html">/api/v1/regattas/{regattaname}/races/{racename}/competitors/live</a></td>
<td>Gets some competitor information (e.g current rank, current leg) for a live race</td>
</tr>
<tr>
<td><a href="raceCompetitorLegsGetDoc.html">/api/v1/regattas/{regattaname}/races/{racename}/competitors/legs</a></td>
<td>Gets some leg information (e.g. rank, distance traveled) for all competitors of a race</td>
</tr>
<tr>
<td><a href="raceMarkPositionsGetDoc.html">/api/v1/regattas/{regattaname}/races/{racename}/marks/positions</a></td>
<td>Gets all GPS positions of the course marks of a race</td>
</tr>
<tr>
<td><a href="raceCourseGetDoc.html">/api/v1/regattas/{regattaname}/races/{racename}/course</a></td>
<td>Gets the course of a race</td>
</tr>
<tr>
<td><a href="raceTimesGetDoc.html">/api/v1/regattas/{regattaname}/races/{racename}/times</a></td>
<td>Gets the timing data for a race, including the start/end times, the tracking start/end times
as well as the "split times" or "mark passing times" of the first competitor rounding each mark.</td>
</tr>
<tr>
<td><a href="raceTargetTimeGetDoc.html">/api/v1/regattas/{regattaname}/races/{racename}/targettime</a></td>
<td>Gets the estimated target time of a race</td>
</tr>
<tr>
<td><a href="raceWindGetDoc.html">/api/v1/regattas/{regattaname}/races/{racename}/wind</a></td>
<td>Gets all GPS positions and data values for the wind of a race</td>
</tr>
<tr>
<td><a href="regattasDataMiningGetDoc.html">/api/v1/regattas/datamining</a></td>
<td>Gets all query identifiers for regattas</td>
</tr>
<tr>
<td><a href="regattaRunQueryGetDoc.html">/api/v1/regattas/{regattaname}/datamining/{queryidentifier}</a></td>
<td>Executes the query for the regatta and gets the result</td>
</tr>
<tr>
<td><a href="regattaAddRaceColumns.html">/api/v1/regattas/{regattaname}/addracecolumns</a></td>
<td>Adds one or more race columns to a regatta</td>
</tr>
<tr>
<td><a href="regattaRemoveRaceColumn.html">/api/v1/regattas/{regattaname}/removeracecolumn</a></td>
<td>Removes a race column from a regatta</td>
</tr>
<tr>
<td><a href="regattaCompetitorsGet.html">/api/v1/regattas/{regattaname}/competitors</a></td>
<td>Obtains the competitors participating in a regatta</td>
</tr>
<tr>
<td><a href="regattaWindsummaryGet.html">/api/v1/regattas/{regattaname}/windsummary</a></td>
<td>Obtains a summary of the wind conditions for one or more races in the regatta</td>
</tr>
<tr>
<td><a href="regattaUpdateOrCreateSeries.html">/api/v1/regattas/updateOrCreateSeries</a></td>
<td>Creates a Series in an regatta, and configures the Series it contains</td>
</tr>
<tr>
<td><a href="regattasCompetitorsCreateAndAddWithBoat.html">/api/v1/regattas/{regattaname}/competitors/createandaddwithboat</a></td>
<td>Creates a competitor using an already exising boat and adds it to the regatta</td>
</tr>
<tr>
<td><a href="regattasCompetitorsCreateAndAdd.html">/api/v1/regattas/{regattaname}/competitors/createandadd</a></td>
<td>Creates a competitor and adds it to the regatta</td>
</tr>
<tr>
<td><a href="regattasCompetitorAdd.html">/api/v1/regattas/{regattaname}/competitors/{competitorId}/add</a></td>
<td>Registers a competitor with a regatta (POST)</td>
</tr>
<tr>
<td>/api/v1/regattas/{regattaname}/competitors/{competitorId}/remove</td>
<td>Removes a competitor from a regatta (POST)</td>
</tr>
<tr>
<td><a href="regattasTrackingDevicesGet.html">/api/v1/regattas/{regattaName}/tracking_devices</a></td>
<td>Gets the status for all GPS trackers associated to a regatta (GET)</td>
</tr>
<tr>
<td><a href="raceRunQueryGetDoc.html">/api/v1/regattas/{regattaname}/races/{racename}/datamining/{queryidentifier}</a></td>
<td>Executes the query for the race and gets the result</td>
</tr>
<tr>
<td><a href="leaderboardgroupsGetDoc.html">/api/v1/leaderboardgroups</a></td>
<td>Gets all leaderboard groups</td>
</tr>
<tr>
<td><a href="leaderboardgroupGetDoc.html">/api/v1/leaderboardgroups/{name}</a></td>
<td>Gets the details of a group of leaderboards</td>
</tr>
<tr>
<td><a href="leaderboardGroupMigrate.html">/api/v1/leaderboardgroups/{name}/migrate</a></td>
<td>Migrates an existing leaderboardGroup</td>
</tr>
<tr>
<td><a href="leaderboardsGetDoc.html">/api/v1/leaderboards</a></td>
<td>Gets all leaderboards</td>
</tr>
<tr>
<td><a href="leaderboardGetDoc.html">/api/v1/leaderboards/{name}</a></td>
<td>Gets the details of a leaderboard</td>
</tr>
<tr>
<td><a href="leaderboardCheckinPostDoc.html">/api/v1/leaderboards/{name}/device_mappings/start</a></td>
<td>Tracking App Device Checkin on leaderboard</td>
</tr>
<tr>
<td><a href="leaderboardCheckoutPostDoc.html">/api/v1/leaderboards/{name}/device_mappings/end</a></td>
<td>Tracking App Device Checkout on leaderboard</td>
</tr>
<tr>
<td><a href="leaderboardCompetitorGetDoc.html">/api/v1/leaderboards/{name}/competitors/{id}</a></td>
<td>Gets the details of a competitor in the context of a leaderboard</td>
</tr>
<tr>
<td><a href="leaderboardRaceAutocourse.html">/api/v1/leaderboards/{name}/autocourse</a></td>
<td>Automatically infers a trivial course for a race to have something to start with.</td>
</tr>
<tr>
<td><a href="leaderboardRaceMarksGetDoc.html">/api/v1/leaderboards/{name}/marks</a></td>
<td>Gets the marks of a race (from the RaceLog and if possible the TrackedRace)</td>
</tr>
<tr>
<td><a href="leaderboardRaceMarkGetDoc.html">/api/v1/leaderboards/{name}/marks/{markId}</a></td>
<td>Gets a defined mark</td>
</tr>
<tr>
<td><a href="leaderboardRaceStartorderGetDoc.html">/api/v1/leaderboards/{name}/startorder</a></td>
<td>Gets the order in which competitors have started or are expected to start for a race</td>
</tr>
<tr>
<td><a href="leaderboardRaceSetTrackingTimes.html">/api/v1/leaderboards/{name}/settrackingtimes</a></td>
<td>Modifies the race's tracking interval</td>
</tr>
<tr>
<td><a href="leaderboardRaceStartTracking.html">/api/v1/leaderboards/{name}/starttracking</a></td>
<td>Starts tracking for a race log / smart phone-tracked race</td>
</tr>
<tr>
<td><a href="leaderboardRaceStopTracking.html">/api/v1/leaderboards/{name}/stoptracking</a></td>
<td>Stops tracking for a race</td>
</tr>
<tr>
<td><a href="leaderboardRaceRemove.html">/api/v1/leaderboards/{name}/removeTrackedRace</a></td>
<td>Removes a tracked race</td>
</tr>
<tr>
<td><a href="leaderboardRaceDenoteForTracking.html">/api/v1/leaderboards/{name}/denoteForTracking</a></td>
<td>Denotes a race for tracking</td>
</tr>
<tr>
<td><a href="leaderboardRaceEnableRaceLogForCompetitorRegistration.html">/api/v1/leaderboards/{name}/leaderboardRaceEnableRaceLogForCompetitorRegistration</a></td>
<td>Enables racelog useage for competitor registration</td>
</tr>
<tr>
<td><a href="leaderboardMigrate.html">/api/v1/leaderboards/{name}/migrate</a></td>
<td>Migrates an existing leaderboard</td>
</tr>
<tr>
<td><a href="leaderboardMarkGpsFixesPostDoc.html">/api/v1/leaderboards/{name}/marks/{id}/gps_fixes</a></td>
<td>Pings the location of a mark via the RegattaLog</td>
</tr>
<tr>
<td><a href="gpsFixesPostDoc.html">/api/v1/gps_fixes</a></td>
<td>Adds GPS-fixes that originated from a device with a unique identifier</td>
</tr>
<tr>
<td><a href="competitorGetDoc.html">/api/v1/competitors/{id}</a></td>
<td>Gets the details of a competitor</td>
</tr>
<tr>
<td><a href="competitorTeamGetDoc.html">/api/v1/competitors/{id}/team</a></td>
<td>Gets the details of a competitor's team</td>
</tr>
<tr>
<td><a href="competitorTeamImagePostDoc.html">/api/v1/competitors/{id}/team/image</a></td>
<td>Sets the team image</td>
</tr>
<tr>
<td><a href="maneuversGetDoc.html">/api/v1/regattas/{regattaname}/races/{racename}/maneuvers</a></td>
<td>Gets all maneuvers performed by all competitors of a race</td>
</tr>
<tr>
<td><a href="statisticsGetDoc.html">/api/v1/statistics/years?[years={year}[&amp;years={year}]]</a></td>
<td>Gets statistics regarding regattas and races grouped by years</td>
</tr>
<tr>
<td><a href="allRacesGetDoc.html">/api/v1/trackedRaces/allRaces</a></td>
<td>Gets all TrackedRaces found on the local instance as well as the collected TrackedRaces from all remote instances
and provides them in a list sorted by race start time, together with a sequence number for each one. This is a
simple way to check how many races have been tracked altogether and which one may be an "anniversary race."
</td>
</tr>
<tr>
<td><a href="getRacesGetDoc.html">/api/v1/trackedRaces/getRaces</a></td>
<td>Gets all TrackedRaces found on the local instance with a valid start time.</td>
</tr>
<tr>
<td><a href="raceDetailsGetDoc.html">/api/v1/trackedRaces/raceDetails</a></td>
<td>Gets more information about a specified RegattaAndRace identifier</td>
</tr>
<tr>
<td><a href="boatclasses.html">/api/v1/boatclasses</a></td>
<td>Obtains information about all or a single boat class</td>
</tr>
<tr>
<td><a href="boats.html">/api/v1/boats/{id}</a></td>
<td>Obtains information about a single boat</td>
</tr>
<tr>
<td><a href="countrycodes.html">/api/v1/countrycodes</a></td>
<td>Obtains information about all country codes known by the system</td>
</tr>
<tr>
<td><a href="putWind.html">/api/v1/wind/putWind</a></td>
<td>Allows to add wind values to 1-x races, similar to AdminConsole</td>
</tr>
<tr>
<td><a href="addCompetitorToRace.html">/api/v1/mark/addCompetitorToRace</a></td>
<td>Updates the competitor registrations</td>
</tr>
<tr>
<td><a href="addCourseDefinitionToRaceLog.html">/api/v1/mark/addCourseDefinitionToRaceLog</a></td>
<td>Allows to create a Coursedefinition that is then inserted into the racelog</td>
</tr>
<tr>
<td><a href="addMarkFix.html">/api/v1/mark/addMarkFix</a></td>
<td>Adds a fix to a specified Mark, the Marks uuid must be known</td>
</tr>
<tr>
<td><a href="addMarkToRegatta.html">/api/v1/mark/addMarkToRegatta</a></td>
<td>Adds a Mark to a specified Regatta</td>
</tr>
<tr>
<td><a href="tagsCRUDDoc.html">/api/v1/{leaderboard}/{racecolumn}/{fleet}/tags</a></td>
<td>Gets, creates, updates and deletes tags.</td>
</tr>
<tr>
<td><a href="preferencesPut.html">/api/v1/preferences/{SETTINGS_KEY}</a></td>
<td>Stores a document into the preferences of a user</td>
</tr>
<tr>
<td><a href="preferencesGet.html">/api/v1/preferences/{SETTINGS_KEY}</a></td>
<td>Retrives a document that was stored into the preferences of a user</td>
</tr>
<tr>
<td><a href="preferencesDelete.html">/api/v1/preferences/{SETTINGS_KEY}</a></td>
<td>Removes a document from the preferences of a user</td>
</tr>
<tr>
<td><a href="usergroupsGet.html">/api/v1/usergroups/</a></td>
<td>Lists all usergroups and their id's the current user is part of, required to obtain id's for migration for example</td>
</tr>
<tr>
<td><a href="status.html">/api/v1/status</a></td>
<td>Returns a status description for the "RacingEventService" core service</td>
</tr>
<tr>
<td><a href="trackedeventsGetDoc.html">/api/v1/trackedevents</a></td>
<td>Gets all tracked events with the associated device-to-competitor/boat/mark elements for the current user.</td>
</tr>
<tr>
<td><a href="trackedeventsPutDoc.html">/api/v1/trackedevents</a></td>
<td>Create or update a tracked event for the current user.</td>
</tr>
<tr>
<td><a href="trackedeventsPostDoc.html">/api/v1/trackedevents</a></td>
<td>Update the archived status of a tracked event for the current user.</td>
</tr>
<tr>
<td><a href="trackedeventsDeleteDoc.html">/api/v1/trackedevents</a></td>
<td>Delete a tracked event for the current user.</td>
</tr>
<tr>
<td><a href="trackingDeviceStatusGet.html">/api/v1/tracking_devices/{deviceUUID}</a></td>
<td>Gets the status of an app based tracking device (GET)</td>
</tr>
<tr>
<td><a href="trackingDeviceStatusesGet.html">/api/v1/tracking_devices</a></td>
<td>Gets the status of multiple app based tracking devices (GET)</td>
</tr>
</tbody>
</table>
<div style="height: 1em;"></div>
<a href="../../index.html">Back to Web Services Home</a>
</body>
</html>