vrchatapi / specification

⚙️ VRChat API OpenAPI specification defining the API in a machine-readable format. This is then used for automatic generation of language-specific SDK's
MIT License
45 stars 31 forks source link

Improve documentation regarding File Upload incl hash calculation #112

Open Foorack opened 2 years ago

Foorack commented 2 years ago

We are getting several requests regarding how to upload Files. Right now I would say File API is the most complex part of the publicly documented API.

Each "File" is an abstract object containing "something", either an Avatar, a World, or an image. Each File can have several FileVresions (which number 1, 2, 3, ...) and where VRChat always uses the latest. Each FileVersion consists of 1 or 3 "FileData"'s. A FileData can either be file | signaturedelta.

There needs to be description on what each of these does, how they are calculated, as well as a flow graph of the overall procedure. All of this needs to be properly linked from the Avatar and World create/update endpoints.

Finally there also needs to be Notice messages on create/update Avatar endpoints, that Companies looking to develop a website where users can log in and create avatars, they need to contact VRChat Support for Corporate Partnership, due to the OAuth API not being publicly available.

binn commented 2 years ago

Signatures and deltas are calculated using rsync. VRchat uses librsync.net, which is old as heck.