Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

All custom endpoints made for the Page / Play integration are served under api/sp/...

...

  • Seasons

    Code Block
    [
    	{
    		"seasonId": "2024-25",
    		"name": "2024-25",
    		"externalId": "daa35de9-a983-11ee-bfcd-02d1437f326a",
    		"firstGameDate": "2024-04-13",
    		"lastGameDate": "2024-09-28",
    		"isCurrent": true
    	},
    	{
    		"seasonId": "2023-24",
    		"name": "2023-24",
    		"externalId": "56a3ed23-96b0-11ed-aabf-026841454e5e",
    		"firstGameDate": "2023-05-03",
    		"lastGameDate": "2024-04-24",
    		"isCurrent": false
    	},
    	{
    		"seasonId": "2022-23",
    		"name": "2022-23",
    		"externalId": null,
    		"firstGameDate": null,
    		"lastGameDate": null,
    		"isCurrent": false
    	},
    	{
    		"seasonId": "2021-22",
    		"name": "2021-22",
    		"externalId": null,
    		"firstGameDate": null,
    		"lastGameDate": null,
    		"isCurrent": false
    	},
    	{
    		"seasonId": "2020-21",
    		"name": "2020-21",
    		"externalId": null,
    		"firstGameDate": null,
    		"lastGameDate": null,
    		"isCurrent": false
    	},
    	{
    		"seasonId": "2019-20",
    		"name": "2019-20",
    		"externalId": null,
    		"firstGameDate": null,
    		"lastGameDate": null,
    		"isCurrent": false
    	},
    	{
    		"seasonId": "2018-19",
    		"name": "2018-19",
    		"externalId": null,
    		"firstGameDate": null,
    		"lastGameDate": null,
    		"isCurrent": false
    	}
    ]

All Activities

...

GET api/sp/allactivites

Goal is for Spordle Page to be able to display a calendar with all the events that are happening within an office.

Games: For offices of type League, Tournament, Cup it will grab all games directly in the office. For all other type of offices (Non-game offices) it will find all the teams that are within the office and the games associated to those teams. Ex. in an Association, games from a team that is in the association that played in a random tournament will show up.

Practices: All practices within the office (effectiveOffices, no includeMembers).

A practice record has an array of teams as opposed to 2 teams and can have no teams. (teamIds: [])

This is how they are displayed in Play currently:

...

allActivites

This endpoint supplies Games and Practices given a startDate, endDate, officeId, seasonId and a few other optional params.

Accepts

Required = *

officeId*:

number

Office to query on

seasonId*:
string

Season to query on

startDate*:
string

The minimum date of the range to query on

endDate*:
string

The max date of the range to query on

types:
array

Types of activity, possible values Game or Practice

Default: ["Game", "Practice"]

effectiveOffices:
boolean

Weather or not you want to get activities only for this office or all offices under

Default: true

includeTeamActivities:

boolean

Weather or not you want to get all activities of the teams under the office that might be in a different office (e.g. Laval team going to a Montreal tournament)

Default: true

All types of events can have one of the following status: Active Cancelled, Conflict, Postponed, Rescheduled, Rink Changed

...

Accepts

...

officeId (required)

...

startDate (required)

...

endDate (required)

...

type (optional) default: Game / Practice

...

Response

Code Block
games: [{
  "number": "M18-517",
  "date": "2022-11-11",
  "startTime": "2022-11-11T21:30:00.000Z",
  "endTime": "2022-11-11T23:00:00.000Z",
  "timezone": "America/Vancouver",
  "division": "U18",
  "gender": "Integrated",
  "categoryId": "37cd78a9-662e-4dac-be18-8ec715692c53",
  "seasonId": "2023-24",
  "arenaId": 128,
  "scheduleId": 4801,
  "groupId": null,
  "crossGroupId": null,
  "crossScheduleId": null,
  "officeId": 661,
  "homeTeamId": 17426,
  "awayTeamId": 20414,
  "homeTeam": {...},
  "awayTeam": {...},
  "status": "Active",
  "comments": null,
  "isApproved": true,
  "isCertified": false,
  "id": 128984,
  "category": "C"
}...],
practices: [{
  "id": "7f69e234-a131-4f0a-a9da-24bc14d5d3cc",
  "name": "Practice - OTTAWA MYERS AUTOMOTIVE U14 AAA",
  "teamIds": [],
  "teams": [...]
  "arenaId": 9209,
  "comments": null,
  "date": "2024-02-21",
  "startTime": "2024-02-21T14:00:00.000Z",
  "endTime": "2024-02-21T15:30:00.000Z",
  "officeId": 4695,
  "seasonId": "2024-25",
  "status": "Active",
  "timezone": "America/Toronto"
}...]