Difference between revisions of "CDN API Documentation"
Line 43: | Line 43: | ||
===Params=== | ===Params=== | ||
− | + | * title - The title of the model | |
− | + | * username - The username that is being used to upload. This must match the username of the OAuth key. | |
− | + | * path - Where to place the file, relative to the user's path. For example, if username is jterrace and path is "test/duck.dae", the final path will be "/jterrace/test/duck.dae" | |
− | + | * main_filename - If uploading multiple files, this should be the main file (e.g. COLLADA). This is still required even if only a single file is being uploaded. | |
− | + | * description - Description for the model | |
− | + | * labels - Any labels you want on the model | |
The actual files should be multipart encoded. | The actual files should be multipart encoded. |
Revision as of 22:56, 31 January 2012
Model URLs
The URL for a model consists of:
meerkat://[HOSTNAME]/BASENAME/FORMAT[/VERSION]
Where:
- BASENAME = The user-chosen path for the model, e.g. /jterrace/duck.dae
- HOSTNAME = Address of the CDN server. If not specified, the OH client defaults to open3dhub.com
- FORMAT = One of the CDN formats. Currently supported are "priginal", "pptimized" and "progressive".
- VERSION = The version number of the model. If not specified, the latest version is returned by the CDN.
Examples
- Returns the latest version of optimized format:
meerkat:///jterrace/models/plantbox.dae/optimized/plantbox.dae
- Returns progressive format, version 0:
meerkat:///jterrace/models/plantbox.dae/progressive/0/plantbox.dae
- Loads from a server on localhost:
meerkat://localhost:8080/jterrace/box.dae
Note
The filename at the end of the URL is technically optional, but the OH won't pick up dependent files, like textures, without it.
Retrieving Single Model Info
/api/modelinfo/BASENAME/VERSION
This retrieves the JSON for a single model with all of its formats.
Example
http://open3dhub.com/api/modelinfo/jterrace/models/plantbox.dae/0
Browsing the CDN
/api/browse/[?start=TIMESTAMP]
This browses the models on the CDN. Without a start argument, returns the most recent 25 models on the CDN. It will also contain a "next_start" value, which you can pass later to start at the next timestamp to continue browsing.
Examples
Uploading
/api/upload
This requires authentication using OAuth. Only an access token is required, and you can get that from a user's profile page on the CDN site.
Params
- title - The title of the model
- username - The username that is being used to upload. This must match the username of the OAuth key.
- path - Where to place the file, relative to the user's path. For example, if username is jterrace and path is "test/duck.dae", the final path will be "/jterrace/test/duck.dae"
- main_filename - If uploading multiple files, this should be the main file (e.g. COLLADA). This is still required even if only a single file is being uploaded.
- description - Description for the model
- labels - Any labels you want on the model
The actual files should be multipart encoded.
Returns
If successfull, the HTTP code should be 200. The reponse will be a JSON string. There will be a field named 'success' set to True. If an application-level error happened, there will be a field named 'error' that contains a human-readable string with the error in it. On success, a field name 'task_id' will contain the upload task identifier (used later to get the status of the upload).
Upload Status
/upload/processing