diff --git a/docs/meet/challenges/challenge.md b/docs/meet/challenges/challenge.md index a79093e..0868c29 100644 --- a/docs/meet/challenges/challenge.md +++ b/docs/meet/challenges/challenge.md @@ -5,7 +5,7 @@ url: https://meet.trackmania.nadeo.club method: GET route: /api/challenges/{challengeId} -audience: NadeoClubServices +audience: NadeoLiveServices parameters: path: @@ -20,41 +20,44 @@ Gets challenge details for a challenge ID. --- **Remarks**: + - Note that challenges are different from competitions - challenges are separate leaderboard structures that can be part of a competition (for example in the form of a qualifying session). - Typically challenges are used for qualifiers in larger competitions - the relevant `challengeId` can be retrieved using the [competition rounds endpoint](/meet/competitions/rounds). --- **Example request**: + ```plain GET https://meet.trackmania.nadeo.club/api/challenges/409 ``` **Example response**: + ```json { - "id": 409, - "uid": "8c4a18cc-dca7-4fe2-8dc3-55e40120ad26", - "name": "Cup of the Day 2021-08-14 #2 - Challenge", - "scoreDirection": "ASC", - "startDate": 1628989260, - "endDate": 1628990160, - "status": "SERVER_DELETED", - "resultsVisibility": "PUBLIC", - "creator": "afe7e1c1-7086-48f7-bde9-a7e320647510", - "admins": [ - "0060a0c1-2e62-41e7-9db7-c86236af3ac4", - "54e4dda4-522d-496f-8a8b-fe0d0b5a2a8f", - "2116b392-d808-4264-923f-2bfcfa60a570", - "6ce163d5-f240-4741-870b-f2adad843865" - ], - "nbServers": 0, - "autoScale": true, - "nbMaps": 1, - "leaderboardId": 2003, - "deletedOn": null, - "leaderboardType": "SUM", - "completeTimeout": 5 + "id": 409, + "uid": "8c4a18cc-dca7-4fe2-8dc3-55e40120ad26", + "name": "Cup of the Day 2021-08-14 #2 - Challenge", + "scoreDirection": "ASC", + "startDate": 1628989260, + "endDate": 1628990160, + "status": "SERVER_DELETED", + "resultsVisibility": "PUBLIC", + "creator": "afe7e1c1-7086-48f7-bde9-a7e320647510", + "admins": [ + "0060a0c1-2e62-41e7-9db7-c86236af3ac4", + "54e4dda4-522d-496f-8a8b-fe0d0b5a2a8f", + "2116b392-d808-4264-923f-2bfcfa60a570", + "6ce163d5-f240-4741-870b-f2adad843865" + ], + "nbServers": 0, + "autoScale": true, + "nbMaps": 1, + "leaderboardId": 2003, + "deletedOn": null, + "leaderboardType": "SUM", + "completeTimeout": 5 } ``` diff --git a/docs/meet/challenges/challenges.md b/docs/meet/challenges/challenges.md index 7969b81..2632324 100644 --- a/docs/meet/challenges/challenges.md +++ b/docs/meet/challenges/challenges.md @@ -5,7 +5,7 @@ url: https://meet.trackmania.nadeo.club method: GET route: /api/challenges?length={length}&offset={offset} -audience: NadeoClubServices +audience: NadeoLiveServices parameters: query: @@ -27,92 +27,95 @@ Gets a list of challenges. --- **Remarks**: + - Note that challenges are different from competitions - challenges are separate leaderboard structures that can be part of a competition (for example in the form of a qualifying session). --- **Example request**: + ```plain GET https://meet.trackmania.nadeo.club/api/challenges?length=3 ``` **Example response**: + ```json [ - { - "id": 2388, - "uid": "07f3ff0b-fc51-47ed-8b98-0380a8824d99", - "name": "COTD 2023-02-07 #3 - Challenge", - "scoreDirection": "ASC", - "startDate": 1675850460, - "endDate": 1675851360, - "status": "INIT", - "resultsVisibility": "PUBLIC", - "creator": "afe7e1c1-7086-48f7-bde9-a7e320647510", - "admins": [ - "0060a0c1-2e62-41e7-9db7-c86236af3ac4", - "54e4dda4-522d-496f-8a8b-fe0d0b5a2a8f", - "2116b392-d808-4264-923f-2bfcfa60a570", - "6ce163d5-f240-4741-870b-f2adad843865", - "a76653e1-998a-4c53-8a91-0a396e15bfb5" - ], - "nbServers": 0, - "autoScale": false, - "nbMaps": 1, - "leaderboardId": 12307, - "deletedOn": null, - "leaderboardType": "SUM", - "completeTimeout": 5 - }, - { - "id": 2387, - "uid": "73650840-53eb-4921-a193-70b26f0ac789", - "name": "COTD 2023-02-07 #2 - Challenge", - "scoreDirection": "ASC", - "startDate": 1675821660, - "endDate": 1675822560, - "status": "INIT", - "resultsVisibility": "PUBLIC", - "creator": "afe7e1c1-7086-48f7-bde9-a7e320647510", - "admins": [ - "0060a0c1-2e62-41e7-9db7-c86236af3ac4", - "54e4dda4-522d-496f-8a8b-fe0d0b5a2a8f", - "2116b392-d808-4264-923f-2bfcfa60a570", - "6ce163d5-f240-4741-870b-f2adad843865", - "a76653e1-998a-4c53-8a91-0a396e15bfb5" - ], - "nbServers": 0, - "autoScale": false, - "nbMaps": 1, - "leaderboardId": 12304, - "deletedOn": null, - "leaderboardType": "SUM", - "completeTimeout": 5 - }, - { - "id": 2386, - "uid": "063f5cfc-ade1-456e-9db3-f5ba3d4c8d3a", - "name": "COTD 2023-02-07 #1 - Challenge", - "scoreDirection": "ASC", - "startDate": 1675792860, - "endDate": 1675793760, - "status": "HAS_SERVERS", - "resultsVisibility": "PUBLIC", - "creator": "afe7e1c1-7086-48f7-bde9-a7e320647510", - "admins": [ - "0060a0c1-2e62-41e7-9db7-c86236af3ac4", - "54e4dda4-522d-496f-8a8b-fe0d0b5a2a8f", - "2116b392-d808-4264-923f-2bfcfa60a570", - "6ce163d5-f240-4741-870b-f2adad843865", - "a76653e1-998a-4c53-8a91-0a396e15bfb5" - ], - "nbServers": 0, - "autoScale": false, - "nbMaps": 1, - "leaderboardId": 12301, - "deletedOn": null, - "leaderboardType": "SUM", - "completeTimeout": 5 - } + { + "id": 2388, + "uid": "07f3ff0b-fc51-47ed-8b98-0380a8824d99", + "name": "COTD 2023-02-07 #3 - Challenge", + "scoreDirection": "ASC", + "startDate": 1675850460, + "endDate": 1675851360, + "status": "INIT", + "resultsVisibility": "PUBLIC", + "creator": "afe7e1c1-7086-48f7-bde9-a7e320647510", + "admins": [ + "0060a0c1-2e62-41e7-9db7-c86236af3ac4", + "54e4dda4-522d-496f-8a8b-fe0d0b5a2a8f", + "2116b392-d808-4264-923f-2bfcfa60a570", + "6ce163d5-f240-4741-870b-f2adad843865", + "a76653e1-998a-4c53-8a91-0a396e15bfb5" + ], + "nbServers": 0, + "autoScale": false, + "nbMaps": 1, + "leaderboardId": 12307, + "deletedOn": null, + "leaderboardType": "SUM", + "completeTimeout": 5 + }, + { + "id": 2387, + "uid": "73650840-53eb-4921-a193-70b26f0ac789", + "name": "COTD 2023-02-07 #2 - Challenge", + "scoreDirection": "ASC", + "startDate": 1675821660, + "endDate": 1675822560, + "status": "INIT", + "resultsVisibility": "PUBLIC", + "creator": "afe7e1c1-7086-48f7-bde9-a7e320647510", + "admins": [ + "0060a0c1-2e62-41e7-9db7-c86236af3ac4", + "54e4dda4-522d-496f-8a8b-fe0d0b5a2a8f", + "2116b392-d808-4264-923f-2bfcfa60a570", + "6ce163d5-f240-4741-870b-f2adad843865", + "a76653e1-998a-4c53-8a91-0a396e15bfb5" + ], + "nbServers": 0, + "autoScale": false, + "nbMaps": 1, + "leaderboardId": 12304, + "deletedOn": null, + "leaderboardType": "SUM", + "completeTimeout": 5 + }, + { + "id": 2386, + "uid": "063f5cfc-ade1-456e-9db3-f5ba3d4c8d3a", + "name": "COTD 2023-02-07 #1 - Challenge", + "scoreDirection": "ASC", + "startDate": 1675792860, + "endDate": 1675793760, + "status": "HAS_SERVERS", + "resultsVisibility": "PUBLIC", + "creator": "afe7e1c1-7086-48f7-bde9-a7e320647510", + "admins": [ + "0060a0c1-2e62-41e7-9db7-c86236af3ac4", + "54e4dda4-522d-496f-8a8b-fe0d0b5a2a8f", + "2116b392-d808-4264-923f-2bfcfa60a570", + "6ce163d5-f240-4741-870b-f2adad843865", + "a76653e1-998a-4c53-8a91-0a396e15bfb5" + ], + "nbServers": 0, + "autoScale": false, + "nbMaps": 1, + "leaderboardId": 12301, + "deletedOn": null, + "leaderboardType": "SUM", + "completeTimeout": 5 + } ] ``` diff --git a/docs/meet/challenges/leaderboard.md b/docs/meet/challenges/leaderboard.md index 70aa1b0..9cab722 100644 --- a/docs/meet/challenges/leaderboard.md +++ b/docs/meet/challenges/leaderboard.md @@ -5,7 +5,7 @@ url: https://meet.trackmania.nadeo.club method: GET route: /api/challenges/{challengeId}/leaderboard?length={length}&offset={offset} -audience: NadeoClubServices +audience: NadeoLiveServices parameters: path: @@ -32,94 +32,97 @@ Gets leaderboard entries for a challenge ID. --- **Remarks**: + - Note that challenges are different from competitions - challenges are separate leaderboard structures that can be part of a competition (for example in the form of a qualifying session). - Typically challenges are used for qualifiers in larger competitions - the relevant `challengeId` can be retrieved using the [competition rounds endpoint](/meet/competitions/rounds). --- **Example request**: + ```plain GET https://meet.trackmania.nadeo.club/api/challenges/409/leaderboard ``` **Example response**: + ```json { - "challengeId": 409, - "cardinal": 399, - "scoreUnit": "time", - "results": [ - { - "points": 38106, - "player": "b90e91eb-bd87-41fd-8c69-6560dbeedd2e", - "score": 38106, - "rank": 1, - "zone": "World|Europe|Poland|Kujawsko-Pomorskie" - }, - { - "points": 38156, - "player": "dade4799-0761-41b7-8df1-cf413e5c8eef", - "score": 38156, - "rank": 2, - "zone": "World|Asia|Brunei" - }, - { - "points": 38206, - "player": "d46fb45d-d422-47c9-9785-67270a311e25", - "score": 38206, - "rank": 3, - "zone": "World|Europe|Czechia|Středočeský kraj" - }, - { - "points": 38251, - "player": "8f08302a-f670-463b-9f71-fbfacffb8bd1", - "score": 38251, - "rank": 4, - "zone": "World|Europe|Germany|Saarland|Saarbrücken" - }, - { - "points": 38252, - "player": "70bd004b-b948-4a9c-9013-4282487f035b", - "score": 38252, - "rank": 5, - "zone": "World|Europe|France|Nouvelle-Aquitaine|Pyrénées-Atlantiques" - }, - { - "points": 38264, - "player": "5c78b27a-908e-41f5-bce7-09e4367dbc0d", - "score": 38264, - "rank": 6, - "zone": "World|North America|United States|Wisconsin" - }, - { - "points": 38278, - "player": "9688a134-3562-470c-a06d-2275da464643", - "score": 38278, - "rank": 7, - "zone": "World|Europe|Finland" - }, - { - "points": 38308, - "player": "70e6f70b-5670-48d8-8551-fb8bb5181f03", - "score": 38308, - "rank": 8, - "zone": "World|North America|Jamaica" - }, - { - "points": 38321, - "player": "6b14adfa-90d6-486f-8c32-66756d4c93d5", - "score": 38321, - "rank": 9, - "zone": "World|Europe|Poland|Lubelskie" - }, - { - "points": 38331, - "player": "fcae33dd-70f2-4da1-b493-cd77c4399d0e", - "score": 38331, - "rank": 10, - "zone": "World|South America|Brazil|São Paulo" - } - ] + "challengeId": 409, + "cardinal": 399, + "scoreUnit": "time", + "results": [ + { + "points": 38106, + "player": "b90e91eb-bd87-41fd-8c69-6560dbeedd2e", + "score": 38106, + "rank": 1, + "zone": "World|Europe|Poland|Kujawsko-Pomorskie" + }, + { + "points": 38156, + "player": "dade4799-0761-41b7-8df1-cf413e5c8eef", + "score": 38156, + "rank": 2, + "zone": "World|Asia|Brunei" + }, + { + "points": 38206, + "player": "d46fb45d-d422-47c9-9785-67270a311e25", + "score": 38206, + "rank": 3, + "zone": "World|Europe|Czechia|Středočeský kraj" + }, + { + "points": 38251, + "player": "8f08302a-f670-463b-9f71-fbfacffb8bd1", + "score": 38251, + "rank": 4, + "zone": "World|Europe|Germany|Saarland|Saarbrücken" + }, + { + "points": 38252, + "player": "70bd004b-b948-4a9c-9013-4282487f035b", + "score": 38252, + "rank": 5, + "zone": "World|Europe|France|Nouvelle-Aquitaine|Pyrénées-Atlantiques" + }, + { + "points": 38264, + "player": "5c78b27a-908e-41f5-bce7-09e4367dbc0d", + "score": 38264, + "rank": 6, + "zone": "World|North America|United States|Wisconsin" + }, + { + "points": 38278, + "player": "9688a134-3562-470c-a06d-2275da464643", + "score": 38278, + "rank": 7, + "zone": "World|Europe|Finland" + }, + { + "points": 38308, + "player": "70e6f70b-5670-48d8-8551-fb8bb5181f03", + "score": 38308, + "rank": 8, + "zone": "World|North America|Jamaica" + }, + { + "points": 38321, + "player": "6b14adfa-90d6-486f-8c32-66756d4c93d5", + "score": 38321, + "rank": 9, + "zone": "World|Europe|Poland|Lubelskie" + }, + { + "points": 38331, + "player": "fcae33dd-70f2-4da1-b493-cd77c4399d0e", + "score": 38331, + "rank": 10, + "zone": "World|South America|Brazil|São Paulo" + } + ] } ``` diff --git a/docs/meet/challenges/map-records.md b/docs/meet/challenges/map-records.md index 9b22576..f1e4d9b 100644 --- a/docs/meet/challenges/map-records.md +++ b/docs/meet/challenges/map-records.md @@ -5,7 +5,7 @@ url: https://meet.trackmania.nadeo.club method: GET route: /api/challenges/{challengeId}/records/maps/{mapUid}?length={length}&offset={offset} -audience: NadeoClubServices +audience: NadeoLiveServices parameters: path: @@ -36,6 +36,7 @@ Gets map records for a challenge ID. --- **Remarks**: + - Note that challenges are different from competitions - challenges are separate leaderboard structures that can be part of a competition (for example in the form of a qualifying session). - Typically challenges are used for qualifiers in larger competitions - the relevant `challengeId` can be retrieved using the [competition rounds endpoint](/meet/competitions/rounds). - This endpoint can be very similar to the [challenge leaderboard endpoint](/meet/challenges/leaderboard) - with the difference that you can retrieve map-specific rankings instead of the overall leaderboard. @@ -43,83 +44,85 @@ Gets map records for a challenge ID. --- **Example request**: + ```plain GET https://meet.trackmania.nadeo.club/api/challenges/409/records/maps/IM5eN8vx4kZfEedkLo2N5p548j3 ``` **Example response**: + ```json [ - { - "time": 38106, - "uid": "IM5eN8vx4kZfEedkLo2N5p548j3", - "player": "b90e91eb-bd87-41fd-8c69-6560dbeedd2e", - "score": 38106, - "rank": 1 - }, - { - "time": 38156, - "uid": "IM5eN8vx4kZfEedkLo2N5p548j3", - "player": "dade4799-0761-41b7-8df1-cf413e5c8eef", - "score": 38156, - "rank": 2 - }, - { - "time": 38206, - "uid": "IM5eN8vx4kZfEedkLo2N5p548j3", - "player": "d46fb45d-d422-47c9-9785-67270a311e25", - "score": 38206, - "rank": 3 - }, - { - "time": 38251, - "uid": "IM5eN8vx4kZfEedkLo2N5p548j3", - "player": "8f08302a-f670-463b-9f71-fbfacffb8bd1", - "score": 38251, - "rank": 4 - }, - { - "time": 38252, - "uid": "IM5eN8vx4kZfEedkLo2N5p548j3", - "player": "70bd004b-b948-4a9c-9013-4282487f035b", - "score": 38252, - "rank": 5 - }, - { - "time": 38264, - "uid": "IM5eN8vx4kZfEedkLo2N5p548j3", - "player": "5c78b27a-908e-41f5-bce7-09e4367dbc0d", - "score": 38264, - "rank": 6 - }, - { - "time": 38278, - "uid": "IM5eN8vx4kZfEedkLo2N5p548j3", - "player": "9688a134-3562-470c-a06d-2275da464643", - "score": 38278, - "rank": 7 - }, - { - "time": 38308, - "uid": "IM5eN8vx4kZfEedkLo2N5p548j3", - "player": "70e6f70b-5670-48d8-8551-fb8bb5181f03", - "score": 38308, - "rank": 8 - }, - { - "time": 38321, - "uid": "IM5eN8vx4kZfEedkLo2N5p548j3", - "player": "6b14adfa-90d6-486f-8c32-66756d4c93d5", - "score": 38321, - "rank": 9 - }, - { - "time": 38331, - "uid": "IM5eN8vx4kZfEedkLo2N5p548j3", - "player": "fcae33dd-70f2-4da1-b493-cd77c4399d0e", - "score": 38331, - "rank": 10 - } + { + "time": 38106, + "uid": "IM5eN8vx4kZfEedkLo2N5p548j3", + "player": "b90e91eb-bd87-41fd-8c69-6560dbeedd2e", + "score": 38106, + "rank": 1 + }, + { + "time": 38156, + "uid": "IM5eN8vx4kZfEedkLo2N5p548j3", + "player": "dade4799-0761-41b7-8df1-cf413e5c8eef", + "score": 38156, + "rank": 2 + }, + { + "time": 38206, + "uid": "IM5eN8vx4kZfEedkLo2N5p548j3", + "player": "d46fb45d-d422-47c9-9785-67270a311e25", + "score": 38206, + "rank": 3 + }, + { + "time": 38251, + "uid": "IM5eN8vx4kZfEedkLo2N5p548j3", + "player": "8f08302a-f670-463b-9f71-fbfacffb8bd1", + "score": 38251, + "rank": 4 + }, + { + "time": 38252, + "uid": "IM5eN8vx4kZfEedkLo2N5p548j3", + "player": "70bd004b-b948-4a9c-9013-4282487f035b", + "score": 38252, + "rank": 5 + }, + { + "time": 38264, + "uid": "IM5eN8vx4kZfEedkLo2N5p548j3", + "player": "5c78b27a-908e-41f5-bce7-09e4367dbc0d", + "score": 38264, + "rank": 6 + }, + { + "time": 38278, + "uid": "IM5eN8vx4kZfEedkLo2N5p548j3", + "player": "9688a134-3562-470c-a06d-2275da464643", + "score": 38278, + "rank": 7 + }, + { + "time": 38308, + "uid": "IM5eN8vx4kZfEedkLo2N5p548j3", + "player": "70e6f70b-5670-48d8-8551-fb8bb5181f03", + "score": 38308, + "rank": 8 + }, + { + "time": 38321, + "uid": "IM5eN8vx4kZfEedkLo2N5p548j3", + "player": "6b14adfa-90d6-486f-8c32-66756d4c93d5", + "score": 38321, + "rank": 9 + }, + { + "time": 38331, + "uid": "IM5eN8vx4kZfEedkLo2N5p548j3", + "player": "fcae33dd-70f2-4da1-b493-cd77c4399d0e", + "score": 38331, + "rank": 10 + } ] ``` diff --git a/docs/meet/club-competitions/club-competition.md b/docs/meet/club-competitions/club-competition.md index 0cc24d9..6f001b3 100644 --- a/docs/meet/club-competitions/club-competition.md +++ b/docs/meet/club-competitions/club-competition.md @@ -5,7 +5,7 @@ url: https://meet.trackmania.nadeo.club method: GET route: /api/club-competitions/{clubCompetitionId} -audience: NadeoClubServices +audience: NadeoLiveServices parameters: path: diff --git a/docs/meet/club-competitions/club-competitions.md b/docs/meet/club-competitions/club-competitions.md index de00fa4..c9df4a5 100644 --- a/docs/meet/club-competitions/club-competitions.md +++ b/docs/meet/club-competitions/club-competitions.md @@ -5,7 +5,7 @@ url: https://meet.trackmania.nadeo.club method: GET route: /api/me/club-competitions?length={length}&offset={offset} -audience: NadeoClubServices +audience: NadeoLiveServices parameters: query: diff --git a/docs/meet/competition-matches/matches-for-round.md b/docs/meet/competition-matches/matches-for-round.md index a84bbbf..d481eb1 100644 --- a/docs/meet/competition-matches/matches-for-round.md +++ b/docs/meet/competition-matches/matches-for-round.md @@ -5,7 +5,7 @@ url: https://meet.trackmania.nadeo.club method: GET route: /api/rounds/{roundId}/matches?length={length}&offset={offset} -audience: NadeoClubServices +audience: NadeoLiveServices parameters: path: @@ -32,56 +32,59 @@ Gets matches for a given round in a competition. --- **Remarks**: + - Note that the match IDs in the response are competition match IDs to be used in [competition match endpoints](/meet/competition-matches) - they are not equivalent to the numerical match IDs used in the [match endpoints](/meet/matches). To use those endpoints based on the response from this endpoint, use the `clubMatchLiveId` field as an identifier. --- **Example request**: + ```plain GET https://meet.trackmania.nadeo.club/api/rounds/9078/matches ``` **Example response**: + ```json { - "matches": [ - { - "id": 38449, - "name": "Baltic Weekly #2 - Quarter Finals - 1", - "clubMatchLiveId": "LID-MTCH-x1accvkawhlput1", - "position": 0, - "isCompleted": true, - "tags": [], - "deletedOn": null - }, - { - "id": 38450, - "name": "Baltic Weekly #2 - Quarter Finals - 2", - "clubMatchLiveId": "LID-MTCH-tmiims2yypi0wvl", - "position": 1, - "isCompleted": true, - "tags": [], - "deletedOn": null - }, - { - "id": 38451, - "name": "Baltic Weekly #2 - Quarter Finals - 3", - "clubMatchLiveId": "LID-MTCH-s0rvc5jgmykdzxu", - "position": 2, - "isCompleted": true, - "tags": [], - "deletedOn": null - }, - { - "id": 38452, - "name": "Baltic Weekly #2 - Quarter Finals - 4", - "clubMatchLiveId": "LID-MTCH-jzk5mckt5e5udej", - "position": 3, - "isCompleted": true, - "tags": [], - "deletedOn": null - } - ] + "matches": [ + { + "id": 38449, + "name": "Baltic Weekly #2 - Quarter Finals - 1", + "clubMatchLiveId": "LID-MTCH-x1accvkawhlput1", + "position": 0, + "isCompleted": true, + "tags": [], + "deletedOn": null + }, + { + "id": 38450, + "name": "Baltic Weekly #2 - Quarter Finals - 2", + "clubMatchLiveId": "LID-MTCH-tmiims2yypi0wvl", + "position": 1, + "isCompleted": true, + "tags": [], + "deletedOn": null + }, + { + "id": 38451, + "name": "Baltic Weekly #2 - Quarter Finals - 3", + "clubMatchLiveId": "LID-MTCH-s0rvc5jgmykdzxu", + "position": 2, + "isCompleted": true, + "tags": [], + "deletedOn": null + }, + { + "id": 38452, + "name": "Baltic Weekly #2 - Quarter Finals - 4", + "clubMatchLiveId": "LID-MTCH-jzk5mckt5e5udej", + "position": 3, + "isCompleted": true, + "tags": [], + "deletedOn": null + } + ] } ``` diff --git a/docs/meet/competition-matches/player-matches.md b/docs/meet/competition-matches/player-matches.md index d0287e6..1335d9a 100644 --- a/docs/meet/competition-matches/player-matches.md +++ b/docs/meet/competition-matches/player-matches.md @@ -5,7 +5,7 @@ url: https://meet.trackmania.nadeo.club method: GET route: /api/competitions/{competitionId}/participants/{accountId}/matches -audience: NadeoClubServices +audience: NadeoLiveServices parameters: path: @@ -24,77 +24,80 @@ Gets matches for a player in the context of a competition. --- **Remarks**: + - There are two different competition IDs which are both supported by this endpoint - the primary `id` is always numerical, while the `liveId` is a string typically starting with `"LID-COMP-`. --- **Example request**: + ```plain GET https://meet.trackmania.nadeo.club/api/competitions/4621/participants/e07e9ea9-daa5-4496-9908-9680e35da02b/matches ``` **Example response**: + ```json [ - { - "matchLiveId": "LID-MTCH-dz3d2qsgeqsy55q", - "roundPosition": 0, - "results": [ - { - "participant": "0da0a251-20e8-4219-86eb-7d9c52847779", - "rank": null, - "score": null, - "zone": "World", - "team": "a6543d8d-b277-4029-92e5-c08ba1d6166a" - }, - { - "participant": "e07e9ea9-daa5-4496-9908-9680e35da02b", - "rank": null, - "score": null, - "zone": "World", - "team": "a6543d8d-b277-4029-92e5-c08ba1d6166a" - } - ], - "scoreUnit": "point", - "teams": [] - }, - ... - { - "matchLiveId": "LID-MTCH-h3t0o1ivvjgbngw", - "roundPosition": 5, - "results": [ - { - "participant": "0da0a251-20e8-4219-86eb-7d9c52847779", - "rank": 1, - "score": 0, - "zone": "World", - "team": "a6543d8d-b277-4029-92e5-c08ba1d6166a" - }, - { - "participant": "e07e9ea9-daa5-4496-9908-9680e35da02b", - "rank": 2, - "score": 0, - "zone": "World", - "team": "a6543d8d-b277-4029-92e5-c08ba1d6166a" - }, - { - "participant": "9f0dae68-3ae7-4396-bb97-44822c302b7c", - "rank": 3, - "score": 0, - "zone": "World", - "team": "ce1f8c64-fb80-4411-bef1-ce6cc2ef6e52" - }, - { - "participant": "54c7bd69-67f6-4544-902a-41c6ed4e0b3a", - "rank": 4, - "score": 0, - "zone": "World", - "team": "ce1f8c64-fb80-4411-bef1-ce6cc2ef6e52" - } - ], - "scoreUnit": "point", - "teams": [] - } + { + "matchLiveId": "LID-MTCH-dz3d2qsgeqsy55q", + "roundPosition": 0, + "results": [ + { + "participant": "0da0a251-20e8-4219-86eb-7d9c52847779", + "rank": null, + "score": null, + "zone": "World", + "team": "a6543d8d-b277-4029-92e5-c08ba1d6166a" + }, + { + "participant": "e07e9ea9-daa5-4496-9908-9680e35da02b", + "rank": null, + "score": null, + "zone": "World", + "team": "a6543d8d-b277-4029-92e5-c08ba1d6166a" + } + ], + "scoreUnit": "point", + "teams": [] + }, + ... + { + "matchLiveId": "LID-MTCH-h3t0o1ivvjgbngw", + "roundPosition": 5, + "results": [ + { + "participant": "0da0a251-20e8-4219-86eb-7d9c52847779", + "rank": 1, + "score": 0, + "zone": "World", + "team": "a6543d8d-b277-4029-92e5-c08ba1d6166a" + }, + { + "participant": "e07e9ea9-daa5-4496-9908-9680e35da02b", + "rank": 2, + "score": 0, + "zone": "World", + "team": "a6543d8d-b277-4029-92e5-c08ba1d6166a" + }, + { + "participant": "9f0dae68-3ae7-4396-bb97-44822c302b7c", + "rank": 3, + "score": 0, + "zone": "World", + "team": "ce1f8c64-fb80-4411-bef1-ce6cc2ef6e52" + }, + { + "participant": "54c7bd69-67f6-4544-902a-41c6ed4e0b3a", + "rank": 4, + "score": 0, + "zone": "World", + "team": "ce1f8c64-fb80-4411-bef1-ce6cc2ef6e52" + } + ], + "scoreUnit": "point", + "teams": [] + } ] ``` diff --git a/docs/meet/competition-matches/results.md b/docs/meet/competition-matches/results.md index 0a81287..0ca1161 100644 --- a/docs/meet/competition-matches/results.md +++ b/docs/meet/competition-matches/results.md @@ -5,7 +5,7 @@ url: https://meet.trackmania.nadeo.club method: GET route: /api/matches/{compMatchId}/results?length={length}&offset={offset} -audience: NadeoClubServices +audience: NadeoLiveServices parameters: path: @@ -32,6 +32,7 @@ Gets results for a given competition match ID. --- **Remarks**: + - This endpoint only supports competition match IDs, which are different from regular match IDs (as found in [the match endpoints](/meet/matches)). They are numerical and have to be retrieved from a competition's rounds (see [here](/meet/competition-matches/matches-for-round)). - If the match does not use teams, the `teams` field will be an empty array, and the `teamPosition` field for each player will be `null`. - For proper team mappings and team names, refer to [the competition teams endpoint](/meet/competitions/teams). @@ -39,60 +40,62 @@ Gets results for a given competition match ID. --- **Example request**: + ```plain GET https://meet.trackmania.nadeo.club/api/matches/54430/results ``` **Example response**: + ```json { - "matchLiveId": "LID-MTCH-wnf4y3emu43rxnk", - "roundPosition": 0, - "results": [ - { - "participant": "7c02bdeb-92dc-4435-b07b-647e0d5699a9", - "rank": 1, - "score": 0, - "zone": "World", - "team": "0c908d55-efa5-401a-b5ba-5afd1eac7686" - }, - { - "participant": "0120bf0b-b567-4224-bd6e-a0b4da089905", - "rank": 2, - "score": 0, - "zone": "World", - "team": "537a040c-dd37-4294-badf-ec7a71b0a4bf" - }, - { - "participant": "a61fffac-b203-4e37-8d32-0ae1b772578f", - "rank": 3, - "score": 0, - "zone": "World", - "team": "0c908d55-efa5-401a-b5ba-5afd1eac7686" - }, - { - "participant": "3905ba40-a668-4e6a-8a95-9591eb20e673", - "rank": 4, - "score": 0, - "zone": "World", - "team": "537a040c-dd37-4294-badf-ec7a71b0a4bf" - } - ], - "scoreUnit": "point", - "teams": [ - { - "position": 0, - "team": "0c908d55-efa5-401a-b5ba-5afd1eac7686", - "rank": 1, - "score": 2 - }, - { - "position": 1, - "team": "537a040c-dd37-4294-badf-ec7a71b0a4bf", - "rank": 2, - "score": 0 - } - ] + "matchLiveId": "LID-MTCH-wnf4y3emu43rxnk", + "roundPosition": 0, + "results": [ + { + "participant": "7c02bdeb-92dc-4435-b07b-647e0d5699a9", + "rank": 1, + "score": 0, + "zone": "World", + "team": "0c908d55-efa5-401a-b5ba-5afd1eac7686" + }, + { + "participant": "0120bf0b-b567-4224-bd6e-a0b4da089905", + "rank": 2, + "score": 0, + "zone": "World", + "team": "537a040c-dd37-4294-badf-ec7a71b0a4bf" + }, + { + "participant": "a61fffac-b203-4e37-8d32-0ae1b772578f", + "rank": 3, + "score": 0, + "zone": "World", + "team": "0c908d55-efa5-401a-b5ba-5afd1eac7686" + }, + { + "participant": "3905ba40-a668-4e6a-8a95-9591eb20e673", + "rank": 4, + "score": 0, + "zone": "World", + "team": "537a040c-dd37-4294-badf-ec7a71b0a4bf" + } + ], + "scoreUnit": "point", + "teams": [ + { + "position": 0, + "team": "0c908d55-efa5-401a-b5ba-5afd1eac7686", + "rank": 1, + "score": 2 + }, + { + "position": 1, + "team": "537a040c-dd37-4294-badf-ec7a71b0a4bf", + "rank": 2, + "score": 0 + } + ] } ``` diff --git a/docs/meet/competitions/competition.md b/docs/meet/competitions/competition.md index e84f26e..21250f3 100644 --- a/docs/meet/competitions/competition.md +++ b/docs/meet/competitions/competition.md @@ -5,7 +5,7 @@ url: https://meet.trackmania.nadeo.club method: GET route: /api/competitions/{competitionId} -audience: NadeoClubServices +audience: NadeoLiveServices parameters: path: @@ -20,49 +20,52 @@ Gets competition details for a competition ID. --- **Remarks**: + - There are two different competition IDs which are both supported by this endpoint - the primary `id` is always numerical, while the `liveId` is a string typically starting with `"LID-COMP-`. --- **Example request**: + ```plain GET https://meet.trackmania.nadeo.club/api/competitions/3633 ``` **Example response**: + ```json { - "id": 3633, - "liveId": "LID-COMP-4uviu3rgnjxr4yx", - "creator": "bb961ea9-bb72-49c2-9294-fb0a34fb7591", - "name": "Baltic Weekly #2", - "participantType": "PLAYER", - "description": "Single Elimination Cup mode event for all Baltic players.\n\n Format\nTime Attack -> (Top 16) Single Elimination Cup Mode\nMaps: FastPoint", - "registrationStart": 1663399920, - "registrationEnd": 1663422900, - "startDate": 1663425300, - "endDate": 1663431300, - "matchesGenerationDate": null, - "nbPlayers": 8, - "spotStructure": "{\"version\":0,\"rounds\":[{\"matchGeneratorData\":{\"matches\":[{\"spots\":[{\"roundPosition\":0,\"rank\":1,\"spotType\":\"round_challenge_participant\"},{\"roundPosition\":0,\"rank\":8,\"spotType\":\"round_challenge_participant\"},{\"roundPosition\":0,\"rank\":9,\"spotType\":\"round_challenge_participant\"},{\"roundPosition\":0,\"rank\":16,\"spotType\":\"round_challenge_participant\"}],\"settings\":[]},{\"spots\":[{\"roundPosition\":0,\"rank\":4,\"spotType\":\"round_challenge_participant\"},{\"roundPosition\":0,\"rank\":5,\"spotType\":\"round_challenge_participant\"},{\"roundPosition\":0,\"rank\":12,\"spotType\":\"round_challenge_participant\"},{\"roundPosition\":0,\"rank\":13,\"spotType\":\"round_challenge_participant\"}],\"settings\":[]},{\"spots\":[{\"roundPosition\":0,\"rank\":2,\"spotType\":\"round_challenge_participant\"},{\"roundPosition\":0,\"rank\":7,\"spotType\":\"round_challenge_participant\"},{\"roundPosition\":0,\"rank\":10,\"spotType\":\"round_challenge_participant\"},{\"roundPosition\":0,\"rank\":15,\"spotType\":\"round_challenge_participant\"}],\"settings\":[]},{\"spots\":[{\"roundPosition\":0,\"rank\":3,\"spotType\":\"round_challenge_participant\"},{\"roundPosition\":0,\"rank\":6,\"spotType\":\"round_challenge_participant\"},{\"roundPosition\":0,\"rank\":11,\"spotType\":\"round_challenge_participant\"},{\"roundPosition\":0,\"rank\":14,\"spotType\":\"round_challenge_participant\"}],\"settings\":[]}]},\"matchGeneratorType\":\"spot_filler\"},{\"matchGeneratorData\":{\"matches\":[{\"spots\":[{\"roundPosition\":0,\"matchPosition\":0,\"rank\":1,\"spotType\":\"match_participant\"},{\"roundPosition\":0,\"matchPosition\":1,\"rank\":2,\"spotType\":\"match_participant\"},{\"roundPosition\":0,\"matchPosition\":2,\"rank\":4,\"spotType\":\"match_participant\"},{\"roundPosition\":0,\"matchPosition\":3,\"rank\":1,\"spotType\":\"match_participant\"}],\"settings\":[]},{\"spots\":[{\"roundPosition\":0,\"matchPosition\":3,\"rank\":2,\"spotType\":\"match_participant\"},{\"roundPosition\":0,\"matchPosition\":2,\"rank\":1,\"spotType\":\"match_participant\"},{\"roundPosition\":0,\"matchPosition\":1,\"rank\":1,\"spotType\":\"match_participant\"},{\"roundPosition\":0,\"matchPosition\":0,\"rank\":2,\"spotType\":\"match_participant\"}],\"settings\":[]}]},\"matchGeneratorType\":\"spot_filler\"},{\"matchGeneratorData\":{\"matches\":[{\"spots\":[{\"roundPosition\":1,\"matchPosition\":0,\"rank\":1,\"spotType\":\"match_participant\"},{\"roundPosition\":1,\"matchPosition\":1,\"rank\":1,\"spotType\":\"match_participant\"},{\"roundPosition\":1,\"matchPosition\":1,\"rank\":2,\"spotType\":\"match_participant\"},{\"roundPosition\":1,\"matchPosition\":0,\"rank\":2,\"spotType\":\"match_participant\"}],\"settings\":[]}]},\"matchGeneratorType\":\"spot_filler\"}]}", - "leaderboardId": 9109, - "manialink": null, - "rulesUrl": "https://discord.gg/G9nr3Pa", - "streamUrl": null, - "websiteUrl": null, - "logoUrl": "https://trackmania-prod-club-public.s3.eu-west-1.amazonaws.com/competitions/club/315965/logo/odckbboirc4wbs53pe4o.png", - "verticalUrl": null, - "allowedZones": [ - "World|Europe|Latvia", - "World|Europe|Estonia", - "World|Europe|Lithuania" - ], - "deletedOn": null, - "autoNormalizeSeeds": true, - "region": null, - "autoGetParticipantSkillLevel": "DISABLED", - "matchAutoMode": "START", - "partition": "crossplay" + "id": 3633, + "liveId": "LID-COMP-4uviu3rgnjxr4yx", + "creator": "bb961ea9-bb72-49c2-9294-fb0a34fb7591", + "name": "Baltic Weekly #2", + "participantType": "PLAYER", + "description": "Single Elimination Cup mode event for all Baltic players.\n\n Format\nTime Attack -> (Top 16) Single Elimination Cup Mode\nMaps: FastPoint", + "registrationStart": 1663399920, + "registrationEnd": 1663422900, + "startDate": 1663425300, + "endDate": 1663431300, + "matchesGenerationDate": null, + "nbPlayers": 8, + "spotStructure": "{\"version\":0,\"rounds\":[{\"matchGeneratorData\":{\"matches\":[{\"spots\":[{\"roundPosition\":0,\"rank\":1,\"spotType\":\"round_challenge_participant\"},{\"roundPosition\":0,\"rank\":8,\"spotType\":\"round_challenge_participant\"},{\"roundPosition\":0,\"rank\":9,\"spotType\":\"round_challenge_participant\"},{\"roundPosition\":0,\"rank\":16,\"spotType\":\"round_challenge_participant\"}],\"settings\":[]},{\"spots\":[{\"roundPosition\":0,\"rank\":4,\"spotType\":\"round_challenge_participant\"},{\"roundPosition\":0,\"rank\":5,\"spotType\":\"round_challenge_participant\"},{\"roundPosition\":0,\"rank\":12,\"spotType\":\"round_challenge_participant\"},{\"roundPosition\":0,\"rank\":13,\"spotType\":\"round_challenge_participant\"}],\"settings\":[]},{\"spots\":[{\"roundPosition\":0,\"rank\":2,\"spotType\":\"round_challenge_participant\"},{\"roundPosition\":0,\"rank\":7,\"spotType\":\"round_challenge_participant\"},{\"roundPosition\":0,\"rank\":10,\"spotType\":\"round_challenge_participant\"},{\"roundPosition\":0,\"rank\":15,\"spotType\":\"round_challenge_participant\"}],\"settings\":[]},{\"spots\":[{\"roundPosition\":0,\"rank\":3,\"spotType\":\"round_challenge_participant\"},{\"roundPosition\":0,\"rank\":6,\"spotType\":\"round_challenge_participant\"},{\"roundPosition\":0,\"rank\":11,\"spotType\":\"round_challenge_participant\"},{\"roundPosition\":0,\"rank\":14,\"spotType\":\"round_challenge_participant\"}],\"settings\":[]}]},\"matchGeneratorType\":\"spot_filler\"},{\"matchGeneratorData\":{\"matches\":[{\"spots\":[{\"roundPosition\":0,\"matchPosition\":0,\"rank\":1,\"spotType\":\"match_participant\"},{\"roundPosition\":0,\"matchPosition\":1,\"rank\":2,\"spotType\":\"match_participant\"},{\"roundPosition\":0,\"matchPosition\":2,\"rank\":4,\"spotType\":\"match_participant\"},{\"roundPosition\":0,\"matchPosition\":3,\"rank\":1,\"spotType\":\"match_participant\"}],\"settings\":[]},{\"spots\":[{\"roundPosition\":0,\"matchPosition\":3,\"rank\":2,\"spotType\":\"match_participant\"},{\"roundPosition\":0,\"matchPosition\":2,\"rank\":1,\"spotType\":\"match_participant\"},{\"roundPosition\":0,\"matchPosition\":1,\"rank\":1,\"spotType\":\"match_participant\"},{\"roundPosition\":0,\"matchPosition\":0,\"rank\":2,\"spotType\":\"match_participant\"}],\"settings\":[]}]},\"matchGeneratorType\":\"spot_filler\"},{\"matchGeneratorData\":{\"matches\":[{\"spots\":[{\"roundPosition\":1,\"matchPosition\":0,\"rank\":1,\"spotType\":\"match_participant\"},{\"roundPosition\":1,\"matchPosition\":1,\"rank\":1,\"spotType\":\"match_participant\"},{\"roundPosition\":1,\"matchPosition\":1,\"rank\":2,\"spotType\":\"match_participant\"},{\"roundPosition\":1,\"matchPosition\":0,\"rank\":2,\"spotType\":\"match_participant\"}],\"settings\":[]}]},\"matchGeneratorType\":\"spot_filler\"}]}", + "leaderboardId": 9109, + "manialink": null, + "rulesUrl": "https://discord.gg/G9nr3Pa", + "streamUrl": null, + "websiteUrl": null, + "logoUrl": "https://trackmania-prod-club-public.s3.eu-west-1.amazonaws.com/competitions/club/315965/logo/odckbboirc4wbs53pe4o.png", + "verticalUrl": null, + "allowedZones": [ + "World|Europe|Latvia", + "World|Europe|Estonia", + "World|Europe|Lithuania" + ], + "deletedOn": null, + "autoNormalizeSeeds": true, + "region": null, + "autoGetParticipantSkillLevel": "DISABLED", + "matchAutoMode": "START", + "partition": "crossplay" } ``` diff --git a/docs/meet/competitions/competitions.md b/docs/meet/competitions/competitions.md index a8170e7..3efda98 100644 --- a/docs/meet/competitions/competitions.md +++ b/docs/meet/competitions/competitions.md @@ -5,7 +5,7 @@ url: https://meet.trackmania.nadeo.club method: GET route: /api/competitions?length={length}&offset={offset} -audience: NadeoClubServices +audience: NadeoLiveServices parameters: query: @@ -27,106 +27,109 @@ Gets a list of competitions. --- **Remarks**: + - The response includes Super Royal and COTD instances as well as community-made competitions. --- **Example request**: + ```plain GET https://meet.trackmania.nadeo.club/api/competitions?length=3&offset=5 ``` **Example response**: + ```json [ - { - "id": 3633, - "liveId": "LID-COMP-4uviu3rgnjxr4yx", - "creator": "bb961ea9-bb72-49c2-9294-fb0a34fb7591", - "name": "Baltic Weekly #2", - "participantType": "PLAYER", - "description": "Single Elimination Cup mode event for all Baltic players.\n\n Format\nTime Attack -> (Top 16) Single Elimination Cup Mode\nMaps: FastPoint", - "registrationStart": 1663399920, - "registrationEnd": 1663422900, - "startDate": 1663425300, - "endDate": 1663431300, - "matchesGenerationDate": null, - "nbPlayers": 8, - "spotStructure": "{\"version\":0,\"rounds\":[{\"matchGeneratorData\":{\"matches\":[{\"spots\":[{\"roundPosition\":0,\"rank\":1,\"spotType\":\"round_challenge_participant\"},{\"roundPosition\":0,\"rank\":8,\"spotType\":\"round_challenge_participant\"},{\"roundPosition\":0,\"rank\":9,\"spotType\":\"round_challenge_participant\"},{\"roundPosition\":0,\"rank\":16,\"spotType\":\"round_challenge_participant\"}],\"settings\":[]},{\"spots\":[{\"roundPosition\":0,\"rank\":4,\"spotType\":\"round_challenge_participant\"},{\"roundPosition\":0,\"rank\":5,\"spotType\":\"round_challenge_participant\"},{\"roundPosition\":0,\"rank\":12,\"spotType\":\"round_challenge_participant\"},{\"roundPosition\":0,\"rank\":13,\"spotType\":\"round_challenge_participant\"}],\"settings\":[]},{\"spots\":[{\"roundPosition\":0,\"rank\":2,\"spotType\":\"round_challenge_participant\"},{\"roundPosition\":0,\"rank\":7,\"spotType\":\"round_challenge_participant\"},{\"roundPosition\":0,\"rank\":10,\"spotType\":\"round_challenge_participant\"},{\"roundPosition\":0,\"rank\":15,\"spotType\":\"round_challenge_participant\"}],\"settings\":[]},{\"spots\":[{\"roundPosition\":0,\"rank\":3,\"spotType\":\"round_challenge_participant\"},{\"roundPosition\":0,\"rank\":6,\"spotType\":\"round_challenge_participant\"},{\"roundPosition\":0,\"rank\":11,\"spotType\":\"round_challenge_participant\"},{\"roundPosition\":0,\"rank\":14,\"spotType\":\"round_challenge_participant\"}],\"settings\":[]}]},\"matchGeneratorType\":\"spot_filler\"},{\"matchGeneratorData\":{\"matches\":[{\"spots\":[{\"roundPosition\":0,\"matchPosition\":0,\"rank\":1,\"spotType\":\"match_participant\"},{\"roundPosition\":0,\"matchPosition\":1,\"rank\":2,\"spotType\":\"match_participant\"},{\"roundPosition\":0,\"matchPosition\":2,\"rank\":4,\"spotType\":\"match_participant\"},{\"roundPosition\":0,\"matchPosition\":3,\"rank\":1,\"spotType\":\"match_participant\"}],\"settings\":[]},{\"spots\":[{\"roundPosition\":0,\"matchPosition\":3,\"rank\":2,\"spotType\":\"match_participant\"},{\"roundPosition\":0,\"matchPosition\":2,\"rank\":1,\"spotType\":\"match_participant\"},{\"roundPosition\":0,\"matchPosition\":1,\"rank\":1,\"spotType\":\"match_participant\"},{\"roundPosition\":0,\"matchPosition\":0,\"rank\":2,\"spotType\":\"match_participant\"}],\"settings\":[]}]},\"matchGeneratorType\":\"spot_filler\"},{\"matchGeneratorData\":{\"matches\":[{\"spots\":[{\"roundPosition\":1,\"matchPosition\":0,\"rank\":1,\"spotType\":\"match_participant\"},{\"roundPosition\":1,\"matchPosition\":1,\"rank\":1,\"spotType\":\"match_participant\"},{\"roundPosition\":1,\"matchPosition\":1,\"rank\":2,\"spotType\":\"match_participant\"},{\"roundPosition\":1,\"matchPosition\":0,\"rank\":2,\"spotType\":\"match_participant\"}],\"settings\":[]}]},\"matchGeneratorType\":\"spot_filler\"}]}", - "leaderboardId": 9109, - "manialink": null, - "rulesUrl": "https://discord.gg/G9nr3Pa", - "streamUrl": null, - "websiteUrl": null, - "logoUrl": "https://trackmania-prod-club-public.s3.eu-west-1.amazonaws.com/competitions/club/315965/logo/odckbboirc4wbs53pe4o.png", - "verticalUrl": null, - "allowedZones": [ - "World|Europe|Latvia", - "World|Europe|Estonia", - "World|Europe|Lithuania" - ], - "deletedOn": null, - "autoNormalizeSeeds": true, - "region": null, - "autoGetParticipantSkillLevel": "DISABLED", - "matchAutoMode": "START" - }, - { - "id": 3631, - "liveId": "LID-COMP-j4euw3yc3cawoxs", - "creator": "afe7e1c1-7086-48f7-bde9-a7e320647510", - "name": "Cup of the Day 2022-09-16 #3", - "participantType": "PLAYER", - "description": null, - "registrationStart": null, - "registrationEnd": null, - "startDate": 1663406190, - "endDate": 1663413390, - "matchesGenerationDate": 1663406165, - "nbPlayers": 280, - "spotStructure": "{\"version\":1,\"rounds\":[{\"matchGeneratorData\":{\"matchSize\":64,\"matchGeneratorType\":\"daily_cup\"},\"matchGeneratorType\":\"daily_cup\"}]}", - "leaderboardId": 9093, - "manialink": null, - "rulesUrl": null, - "streamUrl": null, - "websiteUrl": null, - "logoUrl": null, - "verticalUrl": null, - "allowedZones": [], - "deletedOn": null, - "autoNormalizeSeeds": true, - "region": "eu-west", - "autoGetParticipantSkillLevel": "DISABLED", - "matchAutoMode": "ENABLED" - }, - { - "id": 3627, - "liveId": "LID-COMP-zaarrvawzmixnpv", - "creator": "afe7e1c1-7086-48f7-bde9-a7e320647510", - "name": "Super royal 2022-09-16 #2", - "participantType": "TEAM", - "description": null, - "registrationStart": null, - "registrationEnd": null, - "startDate": 1663381260, - "endDate": 1663388400, - "matchesGenerationDate": 1663381260, - "nbPlayers": 45, - "spotStructure": "{\"version\":1,\"rounds\":[{\"matchGeneratorType\":\"super_royal_first_round\"},{\"matchGeneratorType\":\"super_royal_next_round\"},{\"matchGeneratorType\":\"super_royal_next_round\"},{\"matchGeneratorType\":\"super_royal_next_round\"}]}", - "leaderboardId": 9081, - "manialink": null, - "rulesUrl": null, - "streamUrl": null, - "websiteUrl": null, - "logoUrl": null, - "verticalUrl": null, - "allowedZones": [], - "deletedOn": null, - "autoNormalizeSeeds": false, - "region": null, - "autoGetParticipantSkillLevel": "DISABLED", - "matchAutoMode": "ENABLED" - } + { + "id": 3633, + "liveId": "LID-COMP-4uviu3rgnjxr4yx", + "creator": "bb961ea9-bb72-49c2-9294-fb0a34fb7591", + "name": "Baltic Weekly #2", + "participantType": "PLAYER", + "description": "Single Elimination Cup mode event for all Baltic players.\n\n Format\nTime Attack -> (Top 16) Single Elimination Cup Mode\nMaps: FastPoint", + "registrationStart": 1663399920, + "registrationEnd": 1663422900, + "startDate": 1663425300, + "endDate": 1663431300, + "matchesGenerationDate": null, + "nbPlayers": 8, + "spotStructure": "{\"version\":0,\"rounds\":[{\"matchGeneratorData\":{\"matches\":[{\"spots\":[{\"roundPosition\":0,\"rank\":1,\"spotType\":\"round_challenge_participant\"},{\"roundPosition\":0,\"rank\":8,\"spotType\":\"round_challenge_participant\"},{\"roundPosition\":0,\"rank\":9,\"spotType\":\"round_challenge_participant\"},{\"roundPosition\":0,\"rank\":16,\"spotType\":\"round_challenge_participant\"}],\"settings\":[]},{\"spots\":[{\"roundPosition\":0,\"rank\":4,\"spotType\":\"round_challenge_participant\"},{\"roundPosition\":0,\"rank\":5,\"spotType\":\"round_challenge_participant\"},{\"roundPosition\":0,\"rank\":12,\"spotType\":\"round_challenge_participant\"},{\"roundPosition\":0,\"rank\":13,\"spotType\":\"round_challenge_participant\"}],\"settings\":[]},{\"spots\":[{\"roundPosition\":0,\"rank\":2,\"spotType\":\"round_challenge_participant\"},{\"roundPosition\":0,\"rank\":7,\"spotType\":\"round_challenge_participant\"},{\"roundPosition\":0,\"rank\":10,\"spotType\":\"round_challenge_participant\"},{\"roundPosition\":0,\"rank\":15,\"spotType\":\"round_challenge_participant\"}],\"settings\":[]},{\"spots\":[{\"roundPosition\":0,\"rank\":3,\"spotType\":\"round_challenge_participant\"},{\"roundPosition\":0,\"rank\":6,\"spotType\":\"round_challenge_participant\"},{\"roundPosition\":0,\"rank\":11,\"spotType\":\"round_challenge_participant\"},{\"roundPosition\":0,\"rank\":14,\"spotType\":\"round_challenge_participant\"}],\"settings\":[]}]},\"matchGeneratorType\":\"spot_filler\"},{\"matchGeneratorData\":{\"matches\":[{\"spots\":[{\"roundPosition\":0,\"matchPosition\":0,\"rank\":1,\"spotType\":\"match_participant\"},{\"roundPosition\":0,\"matchPosition\":1,\"rank\":2,\"spotType\":\"match_participant\"},{\"roundPosition\":0,\"matchPosition\":2,\"rank\":4,\"spotType\":\"match_participant\"},{\"roundPosition\":0,\"matchPosition\":3,\"rank\":1,\"spotType\":\"match_participant\"}],\"settings\":[]},{\"spots\":[{\"roundPosition\":0,\"matchPosition\":3,\"rank\":2,\"spotType\":\"match_participant\"},{\"roundPosition\":0,\"matchPosition\":2,\"rank\":1,\"spotType\":\"match_participant\"},{\"roundPosition\":0,\"matchPosition\":1,\"rank\":1,\"spotType\":\"match_participant\"},{\"roundPosition\":0,\"matchPosition\":0,\"rank\":2,\"spotType\":\"match_participant\"}],\"settings\":[]}]},\"matchGeneratorType\":\"spot_filler\"},{\"matchGeneratorData\":{\"matches\":[{\"spots\":[{\"roundPosition\":1,\"matchPosition\":0,\"rank\":1,\"spotType\":\"match_participant\"},{\"roundPosition\":1,\"matchPosition\":1,\"rank\":1,\"spotType\":\"match_participant\"},{\"roundPosition\":1,\"matchPosition\":1,\"rank\":2,\"spotType\":\"match_participant\"},{\"roundPosition\":1,\"matchPosition\":0,\"rank\":2,\"spotType\":\"match_participant\"}],\"settings\":[]}]},\"matchGeneratorType\":\"spot_filler\"}]}", + "leaderboardId": 9109, + "manialink": null, + "rulesUrl": "https://discord.gg/G9nr3Pa", + "streamUrl": null, + "websiteUrl": null, + "logoUrl": "https://trackmania-prod-club-public.s3.eu-west-1.amazonaws.com/competitions/club/315965/logo/odckbboirc4wbs53pe4o.png", + "verticalUrl": null, + "allowedZones": [ + "World|Europe|Latvia", + "World|Europe|Estonia", + "World|Europe|Lithuania" + ], + "deletedOn": null, + "autoNormalizeSeeds": true, + "region": null, + "autoGetParticipantSkillLevel": "DISABLED", + "matchAutoMode": "START" + }, + { + "id": 3631, + "liveId": "LID-COMP-j4euw3yc3cawoxs", + "creator": "afe7e1c1-7086-48f7-bde9-a7e320647510", + "name": "Cup of the Day 2022-09-16 #3", + "participantType": "PLAYER", + "description": null, + "registrationStart": null, + "registrationEnd": null, + "startDate": 1663406190, + "endDate": 1663413390, + "matchesGenerationDate": 1663406165, + "nbPlayers": 280, + "spotStructure": "{\"version\":1,\"rounds\":[{\"matchGeneratorData\":{\"matchSize\":64,\"matchGeneratorType\":\"daily_cup\"},\"matchGeneratorType\":\"daily_cup\"}]}", + "leaderboardId": 9093, + "manialink": null, + "rulesUrl": null, + "streamUrl": null, + "websiteUrl": null, + "logoUrl": null, + "verticalUrl": null, + "allowedZones": [], + "deletedOn": null, + "autoNormalizeSeeds": true, + "region": "eu-west", + "autoGetParticipantSkillLevel": "DISABLED", + "matchAutoMode": "ENABLED" + }, + { + "id": 3627, + "liveId": "LID-COMP-zaarrvawzmixnpv", + "creator": "afe7e1c1-7086-48f7-bde9-a7e320647510", + "name": "Super royal 2022-09-16 #2", + "participantType": "TEAM", + "description": null, + "registrationStart": null, + "registrationEnd": null, + "startDate": 1663381260, + "endDate": 1663388400, + "matchesGenerationDate": 1663381260, + "nbPlayers": 45, + "spotStructure": "{\"version\":1,\"rounds\":[{\"matchGeneratorType\":\"super_royal_first_round\"},{\"matchGeneratorType\":\"super_royal_next_round\"},{\"matchGeneratorType\":\"super_royal_next_round\"},{\"matchGeneratorType\":\"super_royal_next_round\"}]}", + "leaderboardId": 9081, + "manialink": null, + "rulesUrl": null, + "streamUrl": null, + "websiteUrl": null, + "logoUrl": null, + "verticalUrl": null, + "allowedZones": [], + "deletedOn": null, + "autoNormalizeSeeds": false, + "region": null, + "autoGetParticipantSkillLevel": "DISABLED", + "matchAutoMode": "ENABLED" + } ] ``` diff --git a/docs/meet/competitions/leaderboard.md b/docs/meet/competitions/leaderboard.md index 0f207c1..f2d1448 100644 --- a/docs/meet/competitions/leaderboard.md +++ b/docs/meet/competitions/leaderboard.md @@ -5,7 +5,7 @@ url: https://meet.trackmania.nadeo.club method: GET route: /api/competitions/{competitionId}/leaderboard?length={length}&offset={offset} -audience: NadeoClubServices +audience: NadeoLiveServices parameters: path: @@ -32,56 +32,59 @@ Gets leaderboard for a competition ID. --- **Remarks**: + - There are two different competition IDs which are both supported by this endpoint - the primary `id` is always numerical, while the `liveId` is a string typically starting with `"LID-COMP-`. - If a competition hasn't started yet, all `score` values will be `0`, but there will still be `rank` values assigned to each player. --- **Example request**: + ```plain GET https://meet.trackmania.nadeo.club/api/competitions/3629/leaderboard?length=100 ``` **Example response**: + ```json [ - { - "participant": "da4642f9-6acf-43fe-88b6-b120ff1308ba", - "rank": 1, - "score": 2418, - "zone": "World|Europe|Belgium|Liège" - }, - { - "participant": "aceb463a-ed8e-47d6-bc8d-025c229aca5b", - "rank": 2, - "score": 2417, - "zone": "World|Europe|France|Auvergne-Rhône-Alpes|Rhône" - }, - { - "participant": "87e4afbf-fb54-4d60-9ce1-b0698beab097", - "rank": 3, - "score": 2416, - "zone": "World|Europe|Slovakia" - }, - ... - { - "participant": "88347e06-f817-4643-b965-0f1e5fcb753c", - "rank": 98, - "score": 2321, - "zone": "World|Europe|France|Île-de-France|Yvelines" - }, - { - "participant": "edb9dfe7-d7cf-4add-8a5e-d992fa2a35bb", - "rank": 99, - "score": 2320, - "zone": "World|Europe|Italy|Piemonte" - }, - { - "participant": "0d2596bf-b3f4-4b36-8dab-f66c34d8ec74", - "rank": 100, - "score": 2319, - "zone": "World|Europe|Germany|Baden-Württemberg|Stuttgart" - } + { + "participant": "da4642f9-6acf-43fe-88b6-b120ff1308ba", + "rank": 1, + "score": 2418, + "zone": "World|Europe|Belgium|Liège" + }, + { + "participant": "aceb463a-ed8e-47d6-bc8d-025c229aca5b", + "rank": 2, + "score": 2417, + "zone": "World|Europe|France|Auvergne-Rhône-Alpes|Rhône" + }, + { + "participant": "87e4afbf-fb54-4d60-9ce1-b0698beab097", + "rank": 3, + "score": 2416, + "zone": "World|Europe|Slovakia" + }, + ... + { + "participant": "88347e06-f817-4643-b965-0f1e5fcb753c", + "rank": 98, + "score": 2321, + "zone": "World|Europe|France|Île-de-France|Yvelines" + }, + { + "participant": "edb9dfe7-d7cf-4add-8a5e-d992fa2a35bb", + "rank": 99, + "score": 2320, + "zone": "World|Europe|Italy|Piemonte" + }, + { + "participant": "0d2596bf-b3f4-4b36-8dab-f66c34d8ec74", + "rank": 100, + "score": 2319, + "zone": "World|Europe|Germany|Baden-Württemberg|Stuttgart" + } ] ``` diff --git a/docs/meet/competitions/participants.md b/docs/meet/competitions/participants.md index ea66ad0..5ac3802 100644 --- a/docs/meet/competitions/participants.md +++ b/docs/meet/competitions/participants.md @@ -5,7 +5,7 @@ url: https://meet.trackmania.nadeo.club method: GET route: /api/competitions/{competitionId}/participants?length={length}&offset={offset} -audience: NadeoClubServices +audience: NadeoLiveServices parameters: path: diff --git a/docs/meet/competitions/rounds.md b/docs/meet/competitions/rounds.md index 0b913f3..9e00427 100644 --- a/docs/meet/competitions/rounds.md +++ b/docs/meet/competitions/rounds.md @@ -5,7 +5,7 @@ url: https://meet.trackmania.nadeo.club method: GET route: /api/competitions/{competitionId}/rounds -audience: NadeoClubServices +audience: NadeoLiveServices parameters: path: @@ -20,6 +20,7 @@ Gets rounds details for a competition ID. --- **Remarks**: + - There are two different competition IDs which are both supported by this endpoint - the primary `id` is always numerical, while the `liveId` is a string typically starting with `"LID-COMP-`. - If a round has a qualifier attached to it (e.g. the TA qualifier in COTD), its associated `challengeId` can be found in the `qualifierChallengeId` field. This is what you'd use to get more information about the qualifier, for example when [getting the qualifier leaderboards](/meet/challenges/leaderboard). - To retrieve a round's matches (and their results), you can use [the round matches endpoint](/meet/competition-matches/matches-for-round). @@ -27,67 +28,69 @@ Gets rounds details for a competition ID. --- **Example request**: + ```plain GET https://meet.trackmania.nadeo.club/api/competitions/3633/rounds ``` **Example response**: + ```json [ - { - "id": 9078, - "position": 0, - "name": "Quarter Finals", - "startDate": 1663425300, - "endDate": 1663427100, - "lockDate": null, - "status": null, - "isLocked": false, - "autoNeedsMatches": true, - "matchScoreDirection": "DESC", - "leaderboardComputeType": "BRACKET", - "teamLeaderboardComputeType": null, - "deletedOn": null, - "nbMatches": 0, - "qualifierChallengeId": 1805, - "trainingChallengeId": null - }, - { - "id": 9079, - "position": 1, - "name": "SemiFinals", - "startDate": 1663427400, - "endDate": 1663429200, - "lockDate": null, - "status": null, - "isLocked": false, - "autoNeedsMatches": true, - "matchScoreDirection": "DESC", - "leaderboardComputeType": "BRACKET", - "teamLeaderboardComputeType": null, - "deletedOn": null, - "nbMatches": 0, - "qualifierChallengeId": null, - "trainingChallengeId": null - }, - { - "id": 9080, - "position": 2, - "name": "FINAL", - "startDate": 1663429500, - "endDate": 1663431300, - "lockDate": null, - "status": null, - "isLocked": false, - "autoNeedsMatches": true, - "matchScoreDirection": "DESC", - "leaderboardComputeType": "BRACKET", - "teamLeaderboardComputeType": null, - "deletedOn": null, - "nbMatches": 0, - "qualifierChallengeId": null, - "trainingChallengeId": null - } + { + "id": 9078, + "position": 0, + "name": "Quarter Finals", + "startDate": 1663425300, + "endDate": 1663427100, + "lockDate": null, + "status": null, + "isLocked": false, + "autoNeedsMatches": true, + "matchScoreDirection": "DESC", + "leaderboardComputeType": "BRACKET", + "teamLeaderboardComputeType": null, + "deletedOn": null, + "nbMatches": 0, + "qualifierChallengeId": 1805, + "trainingChallengeId": null + }, + { + "id": 9079, + "position": 1, + "name": "SemiFinals", + "startDate": 1663427400, + "endDate": 1663429200, + "lockDate": null, + "status": null, + "isLocked": false, + "autoNeedsMatches": true, + "matchScoreDirection": "DESC", + "leaderboardComputeType": "BRACKET", + "teamLeaderboardComputeType": null, + "deletedOn": null, + "nbMatches": 0, + "qualifierChallengeId": null, + "trainingChallengeId": null + }, + { + "id": 9080, + "position": 2, + "name": "FINAL", + "startDate": 1663429500, + "endDate": 1663431300, + "lockDate": null, + "status": null, + "isLocked": false, + "autoNeedsMatches": true, + "matchScoreDirection": "DESC", + "leaderboardComputeType": "BRACKET", + "teamLeaderboardComputeType": null, + "deletedOn": null, + "nbMatches": 0, + "qualifierChallengeId": null, + "trainingChallengeId": null + } ] ``` diff --git a/docs/meet/competitions/teams.md b/docs/meet/competitions/teams.md index 14f198c..5d39ec7 100644 --- a/docs/meet/competitions/teams.md +++ b/docs/meet/competitions/teams.md @@ -5,7 +5,7 @@ url: https://meet.trackmania.nadeo.club method: GET route: /api/competitions/{competitionId}/mode-teams -audience: NadeoClubServices +audience: NadeoLiveServices parameters: path: @@ -20,90 +20,93 @@ Gets teams for a competition ID. --- **Remarks**: + - There are two different competition IDs which are both supported by this endpoint - the primary `id` is always numerical, while the `liveId` is a string typically starting with `"LID-COMP-`. --- **Example request**: + ```plain GET https://meet.trackmania.nadeo.club/api/competitions/4621/mode-teams ``` **Example response**: + ```json [ - { - "Id": "1a95ea05-6c59-4839-9777-0ce807b2cc76", - "Name": "Southern Speedsters", - "Players": [ - { - "AccountId": "19964586-33bd-4645-8ceb-2ca9f2195060" - }, - { - "AccountId": "fd6ca975-d21b-43db-a416-cd36a1be75fc" - } - ] - }, - { - "Id": "6b38c00f-b820-437b-9871-0f6975f717e3", - "Name": "Orgless", - "Players": [ - { - "AccountId": "1699cffd-862d-4ae0-bbd4-0efbb40ef28b" - }, - { - "AccountId": "3a88d4bc-a2a5-4b38-9fd6-f05c02ef159a" - } - ] - }, - { - "Id": "7bb198d0-2f69-4265-b467-dc0fa8c0a9f0", - "Name": "PF Racing", - "Players": [ - { - "AccountId": "3ca1d081-3872-4a7d-ad8f-a3e785bfbfff" - }, - { - "AccountId": "ac424f5e-5612-4a44-8b87-6403be2b690f" - } - ] - }, - { - "Id": "a6543d8d-b277-4029-92e5-c08ba1d6166a", - "Name": "F10", - "Players": [ - { - "AccountId": "0da0a251-20e8-4219-86eb-7d9c52847779" - }, - { - "AccountId": "e07e9ea9-daa5-4496-9908-9680e35da02b" - } - ] - }, - { - "Id": "ce1f8c64-fb80-4411-bef1-ce6cc2ef6e52", - "Name": "Molotov Gaming", - "Players": [ - { - "AccountId": "54c7bd69-67f6-4544-902a-41c6ed4e0b3a" - }, - { - "AccountId": "9f0dae68-3ae7-4396-bb97-44822c302b7c" - } - ] - }, - { - "Id": "d88996af-5af7-48a0-83ba-1fd0ee2aa5ea", - "Name": "Camurun Icinde", - "Players": [ - { - "AccountId": "9d4f5763-1c07-412e-875c-d9277b102d52" - }, - { - "AccountId": "df3fcb0e-e187-4634-b205-c56e4f52a20b" - } - ] - } + { + "Id": "1a95ea05-6c59-4839-9777-0ce807b2cc76", + "Name": "Southern Speedsters", + "Players": [ + { + "AccountId": "19964586-33bd-4645-8ceb-2ca9f2195060" + }, + { + "AccountId": "fd6ca975-d21b-43db-a416-cd36a1be75fc" + } + ] + }, + { + "Id": "6b38c00f-b820-437b-9871-0f6975f717e3", + "Name": "Orgless", + "Players": [ + { + "AccountId": "1699cffd-862d-4ae0-bbd4-0efbb40ef28b" + }, + { + "AccountId": "3a88d4bc-a2a5-4b38-9fd6-f05c02ef159a" + } + ] + }, + { + "Id": "7bb198d0-2f69-4265-b467-dc0fa8c0a9f0", + "Name": "PF Racing", + "Players": [ + { + "AccountId": "3ca1d081-3872-4a7d-ad8f-a3e785bfbfff" + }, + { + "AccountId": "ac424f5e-5612-4a44-8b87-6403be2b690f" + } + ] + }, + { + "Id": "a6543d8d-b277-4029-92e5-c08ba1d6166a", + "Name": "F10", + "Players": [ + { + "AccountId": "0da0a251-20e8-4219-86eb-7d9c52847779" + }, + { + "AccountId": "e07e9ea9-daa5-4496-9908-9680e35da02b" + } + ] + }, + { + "Id": "ce1f8c64-fb80-4411-bef1-ce6cc2ef6e52", + "Name": "Molotov Gaming", + "Players": [ + { + "AccountId": "54c7bd69-67f6-4544-902a-41c6ed4e0b3a" + }, + { + "AccountId": "9f0dae68-3ae7-4396-bb97-44822c302b7c" + } + ] + }, + { + "Id": "d88996af-5af7-48a0-83ba-1fd0ee2aa5ea", + "Name": "Camurun Icinde", + "Players": [ + { + "AccountId": "9d4f5763-1c07-412e-875c-d9277b102d52" + }, + { + "AccountId": "df3fcb0e-e187-4634-b205-c56e4f52a20b" + } + ] + } ] ``` diff --git a/docs/meet/cup-of-the-day/current.md b/docs/meet/cup-of-the-day/current.md index f23d14b..24662e8 100644 --- a/docs/meet/cup-of-the-day/current.md +++ b/docs/meet/cup-of-the-day/current.md @@ -5,8 +5,7 @@ url: https://meet.trackmania.nadeo.club method: GET route: /api/cup-of-the-day/current -audience: NadeoClubServices - +audience: NadeoLiveServices --- Gets details for the currently ongoing Cup of the Day. @@ -14,16 +13,19 @@ Gets details for the currently ongoing Cup of the Day. --- **Remarks**: + - This endpoint only returns data about the cross-platform/"crossplay" COTD. Platform-specific COTD instances are not included. --- **Example request**: + ```plain GET https://meet.trackmania.nadeo.club/api/cup-of-the-day/current ``` **Example response**: + ```json { "id": 3872, diff --git a/docs/meet/index.md b/docs/meet/index.md index 128f61e..c0bac09 100644 --- a/docs/meet/index.md +++ b/docs/meet/index.md @@ -1,10 +1,12 @@ # Meet API + The Meet API contains endpoints for interacting with competitions, matchmaking and other match infrastructure. As of July 2023, it's the new umbrella API for the previous `competition`, `matchmaking` and `club` domains. -All of its endpoints require a token with the `NadeoClubServices` audience. +All of its endpoints require a token with the `NadeoLiveServices` audience. ## Deprecations - July 2023: The `/participants` endpoint for competition matches has been removed during the move to the central `meet` API - to retrieve a competition match's players, it's recommended to use the [competition match result endpoint](/meet/competition-matches/results). +- January 2024: The Meet API has moved from the `NadeoClubServices` audience to `NadeoLiveServices`. The old audience will continue to work but will eventually get deprecated. diff --git a/docs/meet/matches/match.md b/docs/meet/matches/match.md index 622c605..7975435 100644 --- a/docs/meet/matches/match.md +++ b/docs/meet/matches/match.md @@ -5,7 +5,7 @@ url: https://meet.trackmania.nadeo.club method: GET route: /api/matches/{matchId} -audience: NadeoClubServices +audience: NadeoLiveServices parameters: path: diff --git a/docs/meet/matches/participants.md b/docs/meet/matches/participants.md index bd76e3c..415f947 100644 --- a/docs/meet/matches/participants.md +++ b/docs/meet/matches/participants.md @@ -5,7 +5,7 @@ url: https://meet.trackmania.nadeo.club method: GET route: /api/matches/{matchId}/participants -audience: NadeoClubServices +audience: NadeoLiveServices parameters: path: @@ -20,79 +20,82 @@ Gets players for a given match ID. --- **Remarks**: + - Match information is only stored on Nadeo's servers for about a month - afterwards, requesting it will only result in a `404` response code. - There are two different match IDs which are both supported by this endpoint - the primary `id` is always numerical, while the `liveId` is a string typically starting with `"LID-MTCH-`. --- **Example request**: + ```plain GET https://meet.trackmania.nadeo.club/api/matches/3018551/participants ``` **Example response**: + ```json [ - { - "participant": "d1248c49-9afc-4a94-9e6d-941d3e954496", - "position": 0, - "teamPosition": 0, - "rank": 5, - "score": 12, - "mvp": false, - "leaver": null, - "eliminated": false - }, - { - "participant": "7f2886b1-a735-46d6-8c07-0d6975b468e4", - "position": 1, - "teamPosition": 0, - "rank": 6, - "score": 10, - "mvp": false, - "leaver": null, - "eliminated": false - }, - { - "participant": "d83627a4-2c7c-4be9-969c-1ab41f2f79fa", - "position": 2, - "teamPosition": 0, - "rank": 3, - "score": 17, - "mvp": false, - "leaver": null, - "eliminated": false - }, - { - "participant": "dc203ffc-bab7-4971-bfb3-dec83db1fa4e", - "position": 3, - "teamPosition": 1, - "rank": 2, - "score": 23, - "mvp": false, - "leaver": null, - "eliminated": false - }, - { - "participant": "6a7a889f-cbff-4910-b369-a4201de53cb8", - "position": 4, - "teamPosition": 1, - "rank": 1, - "score": 27, - "mvp": true, - "leaver": null, - "eliminated": false - }, - { - "participant": "bb961ea9-bb72-49c2-9294-fb0a34fb7591", - "position": 5, - "teamPosition": 1, - "rank": 4, - "score": 16, - "mvp": false, - "leaver": null, - "eliminated": false - } + { + "participant": "d1248c49-9afc-4a94-9e6d-941d3e954496", + "position": 0, + "teamPosition": 0, + "rank": 5, + "score": 12, + "mvp": false, + "leaver": null, + "eliminated": false + }, + { + "participant": "7f2886b1-a735-46d6-8c07-0d6975b468e4", + "position": 1, + "teamPosition": 0, + "rank": 6, + "score": 10, + "mvp": false, + "leaver": null, + "eliminated": false + }, + { + "participant": "d83627a4-2c7c-4be9-969c-1ab41f2f79fa", + "position": 2, + "teamPosition": 0, + "rank": 3, + "score": 17, + "mvp": false, + "leaver": null, + "eliminated": false + }, + { + "participant": "dc203ffc-bab7-4971-bfb3-dec83db1fa4e", + "position": 3, + "teamPosition": 1, + "rank": 2, + "score": 23, + "mvp": false, + "leaver": null, + "eliminated": false + }, + { + "participant": "6a7a889f-cbff-4910-b369-a4201de53cb8", + "position": 4, + "teamPosition": 1, + "rank": 1, + "score": 27, + "mvp": true, + "leaver": null, + "eliminated": false + }, + { + "participant": "bb961ea9-bb72-49c2-9294-fb0a34fb7591", + "position": 5, + "teamPosition": 1, + "rank": 4, + "score": 16, + "mvp": false, + "leaver": null, + "eliminated": false + } ] ``` diff --git a/docs/meet/matches/teams.md b/docs/meet/matches/teams.md index 9dce379..0c3c342 100644 --- a/docs/meet/matches/teams.md +++ b/docs/meet/matches/teams.md @@ -5,7 +5,7 @@ url: https://meet.trackmania.nadeo.club method: GET route: /api/matches/{matchId}/teams -audience: NadeoClubServices +audience: NadeoLiveServices parameters: path: @@ -20,29 +20,32 @@ Gets team information for a given match ID. --- **Remarks**: + - Match information is only stored on Nadeo's servers for about a month - afterwards, requesting it will only result in a `404` response code. - There are two different match IDs which are both supported by this endpoint - the primary `id` is always numerical, while the `liveId` is a string typically starting with `"LID-MTCH-`. --- **Example request**: + ```plain GET https://meet.trackmania.nadeo.club/api/matches/3018551/teams ``` **Example response**: + ```json [ - { - "position": 0, - "score": 0, - "rank": 2 - }, - { - "position": 1, - "score": 5, - "rank": 1 - } + { + "position": 0, + "score": 0, + "rank": 2 + }, + { + "position": 1, + "score": 5, + "rank": 1 + } ] ``` diff --git a/docs/meet/matchmaking/divisions.md b/docs/meet/matchmaking/divisions.md index d70aba3..696ad01 100644 --- a/docs/meet/matchmaking/divisions.md +++ b/docs/meet/matchmaking/divisions.md @@ -5,7 +5,7 @@ url: https://meet.trackmania.nadeo.club method: GET route: /api/matchmaking/{matchmakingType}/division/display-rules -audience: NadeoClubServices +audience: NadeoLiveServices parameters: path: @@ -20,16 +20,19 @@ Gets division definitions/rules for the different matchmaking modes. --- **Remarks**: + - The `matchmakingType` parameter is typically one of `2` (Ranked) or `3` (Royal). For a dynamic way of retrieving those IDs see [the matchmaking summary endpoint](/meet/matchmaking/summary). --- **Example request**: + ```plain GET https://meet.trackmania.nadeo.club/api/matchmaking/2/division/display-rules ``` **Example response**: + ```json { "divisions": [ diff --git a/docs/meet/matchmaking/player-ranking.md b/docs/meet/matchmaking/player-ranking.md index 37ef99c..d60c572 100644 --- a/docs/meet/matchmaking/player-ranking.md +++ b/docs/meet/matchmaking/player-ranking.md @@ -5,7 +5,7 @@ url: https://meet.trackmania.nadeo.club method: GET route: /api/matchmaking/{matchmakingType}/leaderboard/players?players[]={accountID} -audience: NadeoClubServices +audience: NadeoLiveServices parameters: path: @@ -25,6 +25,7 @@ Gets matchmaking ranks (for the specified type) for the requested players. --- **Remarks**: + - The `matchmakingType` parameter is typically one of `2` (Ranked) or `3` (Royal). For a dynamic way of retrieving those IDs see [the matchmaking summary endpoint](/meet/matchmaking/summary). - The `cardinal` field in the response is the total number of players in the ranking. - To get data for more than one account at a time, you can send an array of values instead of a single value - see the second example below. @@ -33,11 +34,13 @@ Gets matchmaking ranks (for the specified type) for the requested players. --- **Example request**: + ```plain https://meet.trackmania.nadeo.club/api/matchmaking/2/leaderboard/players?players[]=f7fab1a3-3bcc-4ffa-8ce3-45cea7ab89c3 ``` **Example response**: + ```json { "matchmakingId": 2, @@ -53,6 +56,7 @@ https://meet.trackmania.nadeo.club/api/matchmaking/2/leaderboard/players?players ``` To retrieve data for more than one account at once, send the `accountID` values as follows: + ```plain GET https://matchmaking.trackmania.nadeo.club/api/matchmaking/2/leaderboard/players?players[]=f7fab1a3-3bcc-4ffa-8ce3-45cea7ab89c3&players[]=f8f7c280-8419-472e-9329-6436fe3d04c3 ``` diff --git a/docs/meet/matchmaking/rankings.md b/docs/meet/matchmaking/rankings.md index 32aae06..a4f1389 100644 --- a/docs/meet/matchmaking/rankings.md +++ b/docs/meet/matchmaking/rankings.md @@ -5,7 +5,7 @@ url: https://meet.trackmania.nadeo.club method: GET route: /api/matchmaking/{matchmakingType}/leaderboard?length={length}&offset={offset} -audience: NadeoClubServices +audience: NadeoLiveServices parameters: path: @@ -32,6 +32,7 @@ Gets global matchmaking rankings for the specified type. --- **Remarks**: + - The `matchmakingType` parameter is typically one of `2` (Ranked) or `3` (Royal). For a dynamic way of retrieving those IDs see [the matchmaking summary endpoint](/meet/matchmaking/summary). - This leaderboard doesn't have the same restrictions as the map leaderboard endpoints - you can request any position and will get an accurate rank for each player. - The `cardinal` field in the response is the total number of players in the ranking. @@ -39,11 +40,13 @@ Gets global matchmaking rankings for the specified type. --- **Example request**: + ```plain GET https://meet.trackmania.nadeo.club/api/matchmaking/2/leaderboard?offset=10&length=5 ``` **Example response**: + ```json { "matchmakingId": 2, diff --git a/docs/meet/matchmaking/summary.md b/docs/meet/matchmaking/summary.md index 568c20f..d966be6 100644 --- a/docs/meet/matchmaking/summary.md +++ b/docs/meet/matchmaking/summary.md @@ -5,7 +5,7 @@ url: https://meet.trackmania.nadeo.club method: GET route: /api/official/summary -audience: NadeoClubServices +audience: NadeoLiveServices --- Gets internal identifiers for the different matchmaking modes. @@ -13,18 +13,20 @@ Gets internal identifiers for the different matchmaking modes. --- **Example request**: + ```plain GET https://meet.trackmania.nadeo.club/api/official/summary ``` **Example response**: + ```json { - "ranked3v3Id": 2, - "ranked_3v3_id": 2, - "royalId": 3, - "royal_id": 3, - "superRoyalId": 4, - "super_royal_id": 4 + "ranked3v3Id": 2, + "ranked_3v3_id": 2, + "royalId": 3, + "royal_id": 3, + "superRoyalId": 4, + "super_royal_id": 4 } ``` diff --git a/docs/meet/super-royal/statistics.md b/docs/meet/super-royal/statistics.md index a6199ff..d380d26 100644 --- a/docs/meet/super-royal/statistics.md +++ b/docs/meet/super-royal/statistics.md @@ -5,7 +5,7 @@ url: https://meet.trackmania.nadeo.club method: GET route: /api/me/super-royal/stats -audience: NadeoClubServices +audience: NadeoLiveServices --- Gets Super Royal statistics for the current account. @@ -13,16 +13,18 @@ Gets Super Royal statistics for the current account. --- **Example request**: + ```plain GET https://meet.trackmania.nadeo.club/api/me/super-royal/stats ``` **Example response**: + ```json { - "masterWon": 0, - "goldWon": 1, - "silverWon": 2, - "bronzeWon": 5 + "masterWon": 0, + "goldWon": 1, + "silverWon": 2, + "bronzeWon": 5 } ``` diff --git a/docs/meet/super-royal/status.md b/docs/meet/super-royal/status.md index 80e16a6..5339abd 100644 --- a/docs/meet/super-royal/status.md +++ b/docs/meet/super-royal/status.md @@ -5,7 +5,7 @@ url: https://meet.trackmania.nadeo.club method: GET route: /api/me/super-royal/current -audience: NadeoClubServices +audience: NadeoLiveServices --- Gets information about the current Super Royal competition. @@ -13,15 +13,17 @@ Gets information about the current Super Royal competition. --- **Example request**: + ```plain GET https://meet.trackmania.nadeo.club/api/me/super-royal/current ``` **Example response**: + ```json { - "startsIn": 15318, - "status": "pending", - "matchLiveId": null + "startsIn": 15318, + "status": "pending", + "matchLiveId": null } ```