Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Document more endpoints #6

Open
davidbmaier opened this issue Nov 14, 2022 · 9 comments
Open

Document more endpoints #6

davidbmaier opened this issue Nov 14, 2022 · 9 comments
Assignees
Labels
enhancement New feature or request

Comments

@davidbmaier
Copy link
Member

davidbmaier commented Nov 14, 2022

Just a list of potential endpoints that could get documented - mostly just stuff to look into and try out, some of this is probably not worth documenting.

All of these endpoints are taken from the in-game scripts iirc, but we'll want to check if they're actually used before we add them.

Core No details yet, need to go through https://prod.trackmania.core.nadeo.online/api/routes?usage=Client and pick useful ones we should document.
Live

Channel

  • GET /api/token/channel/%s
  • GET /api/token/channel/%s/grid
  • POST /api/token/channel/%s/join

Map review

  • GET /api/token/map-review/%s/connect
  • GET /api/token/map-review/%s/waiting-time
  • POST /api/token/map-review/%s/add-map-queue
  • GET /api/token/map-review/%s/submitted-map?offset=%d&length=%d&withFeedback=true&withMapInfo=true
  • POST /api/token/map-review/%s/submitted-map/%s

Club players

  • GET /api/token/club/player-vip/map/%s
  • GET /api/token/club/follower/map/%s

Club assets

  • GET /api/token/club/bucket/%s/all?offset=%d&length=%d&sort=%s&order=%s&name=%s
    Bucket types: "skin", "map", "item"
  • POST /api/token/club/%d/bucket/create
  • GET /api/token/club/%d/bucket/%d?offset=%d&length=%d
  • POST /api/token/club/%d/bucket/%d/edit
  • POST /api/token/club/%d/bucket/%d/add
  • POST /api/token/club/%d/bucket/%d/remove
  • POST /api/token/club/%d/bucket/%d/item/%d/edit
  • POST /api/token/club/%d/bucket/%d/item/%d/add-media
  • POST /api/token/club/%d/bucket/%d/item/%d/delete-media/%d

Club management

  • POST /api/token/club/create
  • POST /api/token/club/%d/edit
  • POST /api/token/club/%d/delete
  • POST /api/token/club/%d/media/delete
  • POST /api/token/club/%d/media/upload
  • POST /api/token/club/%d/featured/set
  • POST /api/token/club/%d/featured/unset
  • POST /api/token/club/%d/pin
  • POST /api/token/club/%d/tag
  • POST /api/token/club/%d/ranking/create

Club members

  • GET /api/token/club/%d/member/request
  • POST /api/token/club/%d/member/request/%s/accept
  • POST /api/token/club/%d/member/request/%s/decline
  • POST /api/token/club/%d/member/%s/delete
  • POST /api/token/club/%d/member/%s/edit
  • POST /api/token/club/%d/member/create
  • POST /api/token/club/%d/vip/%s/set
  • POST /api/token/club/%d/vip/%s/unset
  • GET /api/token/club/%d/vip/map/%s

Club campaigns

  • GET /api/token/club/%d/campaign
  • POST /api/token/club/%d/campaign/create
  • GET /api/token/club/%d/campaign/%d
  • POST /api/token/club/%d/campaign/%d/edit

Club rooms

  • POST /api/token/club/%d/room/create
  • POST /api/token/club/%d/room/create-from-server
  • GET /api/token/club/%d/room/%d
  • POST /api/token/club/%d/room/%d/edit
  • POST /api/token/club/%d/room/%d/edit-from-server
  • POST /api/token/club/%d/room/%d/join
  • POST /api/token/club/%d/room/%d/generate-password
  • GET /api/token/club/%d/room/%d/get-password

Club news

  • POST /api/token/club/%d/news/create
  • GET /api/token/club/%d/news/%d
  • POST /api/token/club/%d/news/%s/edit
  • POST /api/token/club/%d/news/%s/upload
  • POST /api/token/club/%d/news/%s/delete-media

Club activities

  • GET /api/token/club/%d/activity-featured
  • POST /api/token/club/%d/activity/%d/edit
  • POST /api/token/club/%d/activity/%d/delete
  • POST /api/token/club/%d/activity/%d/upload

Club map review

  • POST /api/token/club/%d/map-review/create
  • GET /api/token/club/%d/map-review/%d
  • GET /api/token/club/%d/map-review/%d/map/mine
  • GET /api/token/club/%d/map-review/%d/map
  • GET /api/token/club/%d/map-review/%d/waiting-time
  • POST /api/token/club/%d/map-review/%d/edit
  • POST /api/token/club/%d/map-review/%d/join
  • POST /api/token/club/%d/map-review/%d/add-map-queue
  • POST /api/token/club/%d/map-review/%d/map/%s/delete

Leaderboards

  • GET /api/token/leaderboard/group/%s/top?onlyWorld=true&offset=%d&length=%d
  • GET /api/token/leaderboard/group/%s/map?scores[]=%d
  • GET /api/token/leaderboard/group/%s/map/%s?score=%d
  • GET /api/token/leaderboard/group/%s/map/club/%d?scores[]=%d
  • GET /api/token/leaderboard/group/%s/map/%s/club/%d
  • GET /api/token/leaderboard/group/%s/map/%s/club/%d/top?score=%d&offset=%d&length=%d
  • GET /api/token/leaderboard/group/%s/map/%s/level?score=%d
  • GET /api/token/leaderboard/group/%s/club/%d
  • GET /api/token/leaderboard/group/%s/club/%d/top?offset=%d&length=%d
  • GET /api/token/leaderboard/trophy
  • GET /api/token/server/player-server/account
Club

Club matches

  • GET /api/me/matches?not_completed=%d&group=%s
  • GET /api/join/players?group=%s&players[]=%s
  • GET /api/players/%s
  • GET /api/players/%s/matches

Meta endpoints?

  • GET /api/units
  • GET /api/units/%s/members
  • GET /api/reports
Competition

Club competition management

  • GET /api/me/club-competitions/current?offset=%d&length=%d
  • POST /api/club-competitions/v2/create
  • POST /api/club-competitions/%d/register
  • POST /api/club-competitions/%d/upload/vertical
  • POST /api/club-competitions/%d/upload/logo

Competitions/Matches

  • GET /api/competitions/%d/leaderboard/participants?offset=%d&length=%d
  • GET /api/rounds/%d/matches?length=%d
  • GET /api/matches/%d
  • GET /api/matches/%d/add-participants
  • GET /api/matches/%d/delete-participants

Competition challenges

  • GET /api/challenges/%d/leaderboard/players?offset=%d&length=%d
  • GET /api/challenges/%d/records/players?offset=%d&length=%d

Special endpoints

  • GET /api/super-royal/stats/%s
  • GET /api/cup-of-the-day/current
Matchmaking
  • GET /api/code/%s
  • GET /api/matchmaking/me
  • POST /api/matchmaking/%d/heartbeat
  • GET /api/matchmaking/%d/player-status
  • POST /api/matchmaking/%d/accept
  • POST /api/matchmaking/%d/cancel
  • GET /api/matchmaking/%d/stats
  • GET /api/matchmaking/%d/leaderboard?offset=%d&length=%d
  • GET /api/matchmaking/%d/leaderboard/players?players[]=%s
  • GET /api/matchmaking/%d/progression/players?players[]=%s
  • GET /api/matchmaking/%d/division/display-rules
  • GET /api/matchmaking/%s
  • GET /api/match/%s/participants
@davidbmaier davidbmaier added the enhancement New feature or request label Nov 14, 2022
@davidbmaier davidbmaier self-assigned this Nov 14, 2022
@ezio416
Copy link
Contributor

ezio416 commented Apr 3, 2024

A core route: /accounts/<accountId>/mapRecords
Returns data on every record the player has driven. Requires a Ubisoft account, and the account ID must be that of the player, else it returns {'code': 'C-AA-00-07', 'correlation_id': '<some 32-char id>', 'message': 'You are not allowed to do this action on this account'}

@davidbmaier
Copy link
Member Author

@codecat
Copy link
Member

codecat commented Apr 3, 2024

No, it gives all your own PB's.

@davidbmaier
Copy link
Member Author

Looking at the last remark for that endpoint, it's the same thing under the hood, no? I guess we could document both of them, but we have the feature covered already.

@codecat
Copy link
Member

codecat commented Apr 3, 2024

I don't think we do? The player map records endpoint returns every single record for the logged in player without the need for any filtering, this means you can effectively see every single map you have ever played.

@davidbmaier
Copy link
Member Author

Maybe I'm misunderstanding something, is this not exactly that?

By omitting mapIdList you can request all records on all maps for a requested accountId - note that this only works for the currently authenticated account, requesting others' records without specifying mapIds will result in error 403. This feature is not supported when using a dedicated server account's token.

@codecat
Copy link
Member

codecat commented Apr 3, 2024

Oh, I missed that part. I suppose they are synonymous then indeed.

@ezio416
Copy link
Contributor

ezio416 commented Apr 4, 2024

Oh my bad I totally missed that and didn't realize there was an option to omit the mapIdList to get the same results. Maybe there could then just be a remark on that page that the endpoint I suggested is also valid for that, probably not worth a dedicated page

@codecat
Copy link
Member

codecat commented Apr 4, 2024

I think it is still worth its own page as it is still its own endpoint with potentially different rules

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants