Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
software:api:start [2021/12/17 12:14] henriksoftware:api:start [2024/10/02 07:47] (current) – external edit 127.0.0.1
Line 17: Line 17:
 ^ Endpoint ^ Parameters  ^ Description  | ^ Endpoint ^ Parameters  ^ Description  |
 | /event/races     | None         | List all races |  | /event/races     | None         | List all races | 
 +| /event/waves     | None         | List all waves | 
 | /timing/locations     | None         | List all timing locations |  | /timing/locations     | None         | List all timing locations | 
 | /timing/points | None         | List all timing points |  | /timing/points | None         | List all timing points | 
Line 25: Line 26:
 | /results/list | race_id, \\ racenum, \\ search, \\ page, page_size       | List all results in the event, regardless of finish status. Optional filtering on race, race number or text search |  | /results/list | race_id, \\ racenum, \\ search, \\ page, page_size       | List all results in the event, regardless of finish status. Optional filtering on race, race number or text search | 
 | /results/leaders | race_id (required), \\ gender (optional), \\ page_size       | Show the leaderboard of a specific race, optionally filtered by gender |  | /results/leaders | race_id (required), \\ gender (optional), \\ page_size       | Show the leaderboard of a specific race, optionally filtered by gender | 
 +| /results/participant | race_id (optional), \\ result_id (optional) \\ racenum (optional)       | Get the result of a single participant, including split times. At least one of result_id or racenum should be specified. race_id can be used to distinguish if multiple participants have the same race number. 
  
 Default values if not set: page =1,  page_size = 50. Default values if not set: page =1,  page_size = 50.
 +
 +=== WebSocket push ===
 +
 +If is possible to get pushed some basic events via a WebSocket connection.
 +It is important to note that WebSockets are not supported via a BBT Extender connection.
 +The endpoint to register and receive events is: 
 +
 +**/api/1.1/push?events=xxx**   (xxx is a comma-seperated list of one or more event types to subscribe for)
 +
 +The events will be pushed whenever they occur in JSON format. They all have a basic structure indicating the event type. Depending on the event, more data might be included.
 +{"event":"xxx"}
 +
 +^ Event type ^  Description  |
 +| results     | Every time a result is recomputed or changed, this will trigger an event. The event will include the basics of the result (id, race, finish time etc). | 
 +| eventdata     | Some event data was added or modified. This might be races, waves, settings, timing setup etc. The event will currently not include any detail about the change. | 
 +
 +