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.
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:
...
Activities: All activities within the office.
Activities are always linked to a team. (teamId: 1
). The location of an activity is free flow text, not an address, ex. “Gymnase école secondaire Des Chutes”. An activity can have one of these 4 types: Training
, Meeting
, Meal
, Accomodation
. We do not have i18n set up for this resource, meaning the location or name they put in will show up in the language they wrote it in.
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?
...
...
Is there information in the response we might not need?
...
Any other parameters we might need?
Accepts
officeId or scheduleId (required)
startDate
endDate
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" }...], activites: [{ "id": "e01a2a6b-ab8d-4d6b-9892-86b990ead88b", "teamId": 52422, "Team": {...} "type": "Training", "name": "Dryland", "date": "2024-02-13", "startTime": "2024-02-13T22:30:00.000Z", "endTime": "2024-02-13T23:30:00.000Z", "timezone": "America/Vancouver", "location": "Semiahmoo Athletic Club", "status": "Active", "comments": null, "parentId": null }] |