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/events
or GET api/sp/calendar
Goal is for Spordle Page to be able to display a calendar with all the events that are happening within an office or a schedule.
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
Questions:
For, let say, an association, would you want to see games from a tournament that is outside the association but teams from the association are participating? → Create parameter for it
Is the calendar going to be shown just at the office level or is it also going to be shown at the schedule level? → NO, just office
Is there information in the response we might not need?
Any other parameters we might need?
Accepts
...
officeId (required)
...
startDate (required)
...
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" }...] |