Skip to content

Latest commit

 

History

History
705 lines (569 loc) · 17.7 KB

File metadata and controls

705 lines (569 loc) · 17.7 KB

API Reference

add_game

Adds a new game and sends a create incident message to BOS.

POST /add_game/:create_message

{% tabs %} {% tab title="Parameters" %}

  • create_message: Object of type create {% endtab %}

{% tab title="Response" %}

  • Success
  • Failure
    • status: 400: Bad Request
    • subcode: One of Error Objects
    • title: One of ``` **Error Objects`**
    • message: One of Error Objects

Error Objects

{% tab title="Example" %}

var http: HttpClient;
var headers = new HttpHeaders({'Content-Type' : 'application/json'});
var postData:any = {};
postData.sport = "Soccer";
postData.league = "EPL";
postData.user = 1;
postData.home = "Chelsea";
postData.away = "Manchester United";
postData.start_time = "2020-02-04T18:33:00Z";
http.post(url + "add_game.php?" , postData, {headers}).map();

{% endtab %} {% endtabs %}

start_game

Starts an existing game and sends an in_progress incident message to BOS.

POST /start_game/:in_progress_message

{% tabs %} {% tab title="Parameters" %}

  • in_progress_message: Object of type in_progress {% endtab %}

{% tab title="Response" %}

  • Success
  • Failure
    • status: 400: Bad Request
    • subcode: One of Error Objects
    • title: One of ``` **Error Objects`**
    • message: One of Error Objects

Error Objects

{% tab title="Example" %}

var http: HttpClient;
var headers = new HttpHeaders({'Content-Type' : 'application/json'});
var postData:any = {};
postData.sport = "Soccer";
postData.league = "EPL";
postData.user = 1;
postData.home = "Chelsea";
postData.away = "Manchester United";
postData.start_time = "2020-02-04T18:33:00.000Z";
postData.whistle_start_time = "2020-02-04T18:45:00.000Z";
postData.match_id: 24;
http.post(url + "start_game.php?" , postData, {headers}).map();

{% endtab %} {% endtabs %}

add_score

Add scores to a game.

POST /add_score/:result_message

{% tabs %} {% tab title="Parameters" %}

  • result_message: Object of type result {% endtab %}

{% tab title="Response" %}

  • Success
  • Failure
    • status: 400: Bad Request
    • subcode: One of Error Objects
    • title: One of ``` **Error Objects`**
    • message: One of Error Objects

Error Objects

{% tab title="Example" %}

var http: HttpClient;
var headers = new HttpHeaders({'Content-Type' : 'application/json'});
var postData:any = {};
postData.sport = "Soccer";
postData.league = "EPL";
postData.user = 1;
postData.home = "Chelsea";
postData.away = "Manchester United";
postData.start_time = "2020-02-04T18:33:00.000Z";
postData.home_score = 4;
postData.away_score = 2;
postData.match_id: 24;
http.post(url + "add_score.php?" , postData, {headers}).map();

{% endtab %} {% endtabs %}

finish_game

Finish a game

POST /finish_game/:finish_game_message

{% tabs %} {% tab title="Parameters" %}

  • finish_game_message: Object of type finish {% endtab %}

{% tab title="Response" %}

  • Success
  • Failure
    • status: 400: Bad Request
    • subcode: One of Error Objects
    • title: One of ``` **Error Objects`**
    • message: One of Error Objects

Error Objects

{% tab title="Example" %}

var http: HttpClient;
var headers = new HttpHeaders({'Content-Type' : 'application/json'});
var postData:any = {};
postData.sport = "Soccer";
postData.league = "EPL";
postData.user = 1;
postData.home = "Chelsea";
postData.away = "Manchester United";
postData.start_time = "2020-02-04T18:33:00.000Z";
postData.whistle_end_time = "2020-02-04T20:33:00.000Z";
postData.match_id: 24;
http.post(url + "finish_game.php?" , postData, {headers}).map();

{% endtab %} {% endtabs %}

cancel_game

Cancel a game

POST /add_score/:cancel_game_message

{% tabs %} {% tab title="Parameters" %}

  • cancel_game_message: Object of type canceled {% endtab %}

{% tab title="Response" %}

  • Success
  • Failure
    • status: 400: Bad Request
    • subcode: One of Error Objects
    • title: One of ``` **Error Objects`**
    • message: One of Error Objects

Error Objects

{% tab title="Example" %}

var http: HttpClient;
var headers = new HttpHeaders({'Content-Type' : 'application/json'});
var postData:any = {};
postData.sport = "Soccer";
postData.league = "EPL";
postData.user = 1;
postData.home = "Chelsea";
postData.away = "Manchester United";
postData.start_time = "2020-02-04T18:33:00.000Z";
postData.match_id: 24;
http.post(url + "cancel_game.php" , postData, {headers}).map();

{% endtab %} {% endtabs %}

delete_event

Delete an event according to the league and date.

DELETE /delete_event/:date/:league

{% tabs %} {% tab title="Parameters" %}

  • date: The date of the event. Format is YYYY-MM-DD (UTC)
  • league: The name of the league {% endtab %}

{% tab title="Response" %}

  • Success - 200
    • title: League Deleted
    • message:[league]
  • Failure - 400

{% tab title="Example" %}

var http: HttpClient;
var headers = new HttpHeaders({'Content-Type' : 'application/x-www-form-urlencoded'});
let httpParams = new HttpParams().set('date', '2020-02-29', 'league', 'EPL');
return http.delete(url + "delete_event.php", { 
        params: httpParams, headers: headers});

{% endtab %} {% endtabs %}

delete_game

Delete an event according to the league and date.

DELETE /delete_game/:game_id

{% tabs %} {% tab title="Parameters" %}

  • game_id: The id of the game to be deleted. {% endtab %}

{% tab title="Response" %}

  • Success - 200
    • title: League Deleted
    • message:[league]
  • Failure - 400

{% tab title="Example" %}

var http: HttpClient;
var headers = new HttpHeaders({'Content-Type' : 'application/x-www-form-urlencoded'});
let httpParams = new HttpParams().set('game_id', 24);
return this.http.delete(this.url + "delete_game.php", { 
        params: httpParams, headers: headers});

{% endtab %} {% endtabs %}

get_all_data_by_date_range

Get all games data between a date range.

GET /get_all_data_by_date_range/:start_date/:end_date

{% tabs %} {% tab title="Parameters" %}

  • start_date: The start of the date range. Format is YYYY-MM-DDTHH:MM:SS.000Z
  • end_date: The end of the date range. Format is YYYY-MM-DDTHH:MM:SS.000Z {% endtab %}

{% tab title="Response" %}

  • Success - 200
    • List of all games between start_date and end_date
  • Failure - 400

{% tab title="Example" %}

http.get(url + "get_all_data_by_date_range.php", {
        params:{startdate: "2020-02-19T12:00:00.000Z", 
                enddate: "2020-02-29T12:00:00.000Z"}}).map();

{% endtab %} {% endtabs %}

get_all_games

Get all games.

GET /get_all_games/

{% tabs %} {% tab title="Response" %}

  • Success - 200
    • List of all games
  • Failure - 400

{% tab title="Example" %}

http.get(url + "get_all_games.php").map()

{% endtab %} {% endtabs %}

get_all_sports

Get all sports.

GET /get_all_sports/

{% tabs %} {% tab title="Response" %}

  • Success - 200
    • List of all sports
  • Failure - 400

{% tab title="Example" %}

http.get(url + "get_all_sports.php").map()

{% endtab %} {% endtabs %}

get_games_by_league_and_date

Get all games data between a date range and for a league.

GET /get_games_by_league_and_date/:league/:start_date/:end_date

{% tabs %} {% tab title="Parameters" %}

  • league: ``The sport league (event group).
  • start: The start of the date range. Format is YYYY-MM-DDTHH:MM:SS.000Z.
  • end: The end of the date range. Format is YYYY-MM-DDTHH:MM:SS. {% endtab %}

{% tab title="Response" %}

  • Success - 200
    • List of all games for league between start and end
  • Failure - 400

{% tab title="Example" %}

http.get(url + "get_games_by_league_and_date.php", {
        params:{league: "NFL",
                startdate: "2020-02-19T12:00:00.000Z", 
                enddate: "2020-02-29T12:00:00.000Z"}}).map();

{% endtab %} {% endtabs %}

get_games_by_league

Get all games for a league.

GET /get_games_by_league/:league

{% tabs %} {% tab title="Parameters" %}

  • league: ``The league (event group). {% endtab %}

{% tab title="Response" %}

  • Success - 200
    • List of all games for league
  • Failure - 400

{% tab title="Example" %}

http.get(url + "get_games_by_league.php", {
        params:{league: "NFL" }}).map();

{% endtab %} {% endtabs %}

get_leagues_by_sport

Get all leagues from a league.

GET /get_leagues_by_sport/:sport

{% tabs %} {% tab title="Parameters" %}

  • sport: The id of the sport. {% endtab %}

{% tab title="Response" %}

  • Success - 200
    • List of all leagues for sport
  • Failure - 400

{% tab title="Example" %}

http.get(url + "get_leagues_by_sport.php", {
        params:{sport: 0}}).map();

{% endtab %} {% endtabs %}

get_sports_and_leagues

Get all sports and leagues

GET /get_sports_and_leagues/

{% tabs %} {% tab title="Response" %}

  • Success - 200
    • List of all sports
  • Failure

{% tab title="Example" %}

http.get(url + "get_sports_and_leagues.php").map()

{% endtab %} {% endtabs %}

get_teams_by_league

Get all teams from a league.

GET /get_teams_by_league/:league

{% tabs %} {% tab title="Parameters" %}

  • league: The id of the league. {% endtab %}

{% tab title="Response" %}

  • Success - 200
    • List of all teams for the league
  • Failure - 400

{% tab title="Example" %}

http.get(url + "get_teams_by_league.php", {
        params:{league: 1}}).map();

{% endtab %} {% endtabs %}

get_league_data_by_name

Get all league information from its name.

GET /get_league_data_by_name/:leaguename

{% tabs %} {% tab title="Parameters" %}

  • leaguename: The name of the league. {% endtab %}

{% tab title="Response" %}

  • Success - 200
    • All fields for the selected league
  • Failure - 400

last_event_id_by_date_and_league

Get the event id of the last event on a date and for the league.

GET /last_event_id_by_date_and_league/:date/:league

{% tabs %} {% tab title="Parameters" %}

  • date: Event date in the format YYYY-MM_DD
  • league: The name of the league. {% endtab %}

{% tab title="Response" %}

  • Success - 200
    • The last event id for league on date
  • Failure - 400

{% tab title="Example" %}

http.get(url + "last_event_id_by_date_and_league.php", {
        params:{
                date: "2020-02-29",
                league: 1}}).map();

{% endtab %} {% endtabs %}

last_event_id

Get the id of the last event.

GET /last_event_id/

{% tabs %} {% tab title="Parameters" %}

  • Success - 200
    • The last event_id for all leagues
  • Failure - 400

{% tab title="Example" %}

http.get(url + "last_event_id.php").map()

{% endtab %} {% endtabs %}

last_game_id_by_date_and_league

Get the game id of the last game on a date and for the league.

GET /last_game_id_by_date_and_league/:date/:league

{% tabs %} {% tab title="Parameters" %}

  • date: Game date in the format YYYY-MM_DD
  • league: The name of the league. {% endtab %}

{% tab title="Response" %}

  • Success - 200
    • The last game id for league on date
  • Failure - 400

{% tab title="Example" %}

http.get(url + "last_game_id_by_date_and_league.php", {
        params:{
                date: "2020-02-29",
                league: 1}}).map();

{% endtab %} {% endtabs %}

last_game_id

Get the game id of the last game for all sports.

GET /last_game_id

{% tabs %} {% tab title="Response" %}

  • Success - 200
    • The last game id for all sports.
  • Failure - 400

{% tab title="Example" %}

http.get(url + "last_game_id.php").map();

{% endtab %} {% endtabs %}

last_game

Get the game details of all games sorted descending so the most recent (last) game is the first record

GET /last_game

{% tabs %} {% tab title="Response" %}

  • Success - 200
    • All game records sorted descending.
  • Failure - 400

{% tab title="Example" %}

http.get(url + "last_game").map();

{% endtab %} {% endtabs %}

run_replay

Run a data replay for the selected sport and league(s)

GET /run_replay/:sport/:leagues/:start/:end

{% tabs %} {% tab title="Parameters" %}

  • sport: The name of the sport
  • leagues: The name of the leagues. Pipe separated list, e.g "EPL|La Liga|Serie A
  • start: Start date in the format YYYY-MM_DD
  • end: End date in the format YYYY-MM_DD {% endtab %}

{% tab title="Response" %}

  • Success - 200
    • title: Replay completed
    • message: [sport]: { [league]: total, [league]: total, ... }
  • Failure - 400

{% tab title="Example" %}

http.get(url + "run_replay.php", {params:{
                sport: "Soccer", 
                leagues: "EPL | La Liga", 
                start: "2020-02-01", 
                end: "2020-01-08"}}).map();

{% endtab %} {% endtabs %}

{% hint style="warning" %} Note: Replays can only be run for one sport at a time. {% endhint %}