Difference between revisions of "REST Push API"
| Line 3: | Line 3: | ||
You may push SMIL scripts and media files into a player using a [http://en.wikipedia.org/wiki/Representational_state_transfer REST] API as documented below. | You may push SMIL scripts and media files into a player using a [http://en.wikipedia.org/wiki/Representational_state_transfer REST] API as documented below. | ||
| − | + | = Naming = | |
The REST API can be accessed via prefix | The REST API can be accessed via prefix | ||
| Line 21: | Line 21: | ||
grant_type=password&username=... | grant_type=password&username=... | ||
| − | + | = Authentication = | |
Before a remote client can access the player, it must authenticate itself by providing the access password set in the player. | Before a remote client can access the player, it must authenticate itself by providing the access password set in the player. | ||
| − | + | == POST oauth2/token == | |
Request an access token for API calls. | Request an access token for API calls. | ||
| Line 63: | Line 63: | ||
|} | |} | ||
| − | + | = Media Transfer = | |
| − | + | == POST files/new == | |
Create a file under ''<nowiki>http://(device_ip):8080/user-data</nowiki>'' download path | Create a file under ''<nowiki>http://(device_ip):8080/user-data</nowiki>'' download path | ||
| Line 132: | Line 132: | ||
|} | |} | ||
| − | === POST files/(id) | + | == GET files/(id)== |
| + | |||
| + | Get file information | ||
| + | |||
| + | '''Input (JSON or multi-part form)''' | ||
| + | |||
| + | None | ||
| + | |||
| + | '''Output (JSON)''' | ||
| + | |||
| + | ''FileResource'' structure | ||
| + | |||
| + | == POST files/(id)== | ||
Modify a file | Modify a file | ||
| Line 169: | Line 181: | ||
''FileResource'' structure | ''FileResource'' structure | ||
| − | === POST files/delete | + | == POST files/find == |
| + | |||
| + | List files on the system | ||
| + | |||
| + | '''Input (JSON or multi-part form)''' | ||
| + | |||
| + | {| class="wikitable" border="1" | ||
| + | |- | ||
| + | ! Parameter | ||
| + | ! Function | ||
| + | |- | ||
| + | | access_token | ||
| + | | Access token returned from ''oauth2/token'' | ||
| + | |- | ||
| + | | maxResults | ||
| + | | (Optional) Max number of file records to return | ||
| + | |- | ||
| + | | pageToken | ||
| + | | (Optional) Continuation record | ||
| + | |- | ||
| + | | query | ||
| + | | (Optional) Reserved | ||
| + | |} | ||
| + | |||
| + | '''Output (JSON)''' | ||
| + | |||
| + | {| class="wikitable" border="1" | ||
| + | |- | ||
| + | ! Parameter | ||
| + | ! Function | ||
| + | |- | ||
| + | | nextPageToken | ||
| + | | null of an identifier for report continuation | ||
| + | |- | ||
| + | | items | ||
| + | | Array of ''FileResource'' structures | ||
| + | |} | ||
| + | |||
| + | == POST files/delete == | ||
Delete a file | Delete a file | ||
| Line 190: | Line 240: | ||
None | None | ||
| + | |||
| + | == GET (downloadPath) == | ||
| + | |||
| + | Retrieve a file | ||
Revision as of 06:16, 17 October 2012
Applies to: IAdea XMP-2200, XMP-2300 media appliances
You may push SMIL scripts and media files into a player using a REST API as documented below.
Contents
Naming
The REST API can be accessed via prefix
http://(device_ip):8080/v2/
appended by API call. For example, for API
POST oauth2/token
the actual HTTP request should be sent to (device_ip) at port 8080, with content similar to:
POST /v2/oauth2/token HTTP/1.1 Host: (device_ip) Content-Type: application/x-www-form-urlencoded;charset=UTF-8 grant_type=password&username=...
Authentication
Before a remote client can access the player, it must authenticate itself by providing the access password set in the player.
POST oauth2/token
Request an access token for API calls.
Input (Multi-part form)
| Parameter | Function |
|---|---|
| grant_type | Must be "password" |
| username | User name requesting access. Device default value is "admin" |
| password | Password. Device default value is the empty string "" |
Output (JSON)
| Parameter | Function |
|---|---|
| access_token | Authorization token for further API access |
| token_type | Always "Bearer" |
| expires_in | Number of seconds before the access_token expires |
Media Transfer
POST files/new
Create a file under http://(device_ip):8080/user-data download path
Input (JSON or multi-part form)
| Parameter | Function |
|---|---|
| access_token | Access token returned from oauth2/token |
| downloadPath | Path of file, must start with prefix /user-data/ |
| data | (Optional) File encoded in multipart/form-data |
| fileSize | (Required except when data is provided) Size of file; if provided file can be uploaded in separate chunks |
| etag | (Optional) User-supplied unique string for version identification; default empty string |
| mimeType | (Optional) MIME type of the file; default empty string |
| modifiedDate | (Optional) ISO8601-encoded date time string indicating modified date time; default empty string |
Output (JSON)
FileResource structure:
| Parameter | Function |
|---|---|
| id | String for identifying the file in subsequent operations |
| downloadPath | Path of file to append after http://(device_ip):8080 |
| fileSize | Size of file |
| etag | Unique string for version identification |
| mimeType | MIME type of the file |
| modifiedDate | ISO8601-encoded date time string indicating modified date time; default empty string |
| transferredSize | Size uploaded into the player |
| completed | Boolean (true or false) indicating whether file upload has completed |
GET files/(id)
Get file information
Input (JSON or multi-part form)
None
Output (JSON)
FileResource structure
POST files/(id)
Modify a file
Input (JSON or multi-part form)
| Parameter | Function |
|---|---|
| access_token | Access token returned from oauth2/token |
| seek | (Optional) Offset from beginning of file to replace data. Default 0 |
| data | (Optional) File encoded in multipart/form-data |
| downloadPath | Path of file, must start with prefix /user-data/ |
| etag | (Optional) User-supplied unique string for version identification; default empty string |
| mimeType | (Optional) MIME type of the file; default empty string |
| modifiedDate | (Optional) ISO8601-encoded date time string indicating modified date time; default empty string |
Output (JSON)
FileResource structure
POST files/find
List files on the system
Input (JSON or multi-part form)
| Parameter | Function |
|---|---|
| access_token | Access token returned from oauth2/token |
| maxResults | (Optional) Max number of file records to return |
| pageToken | (Optional) Continuation record |
| query | (Optional) Reserved |
Output (JSON)
| Parameter | Function |
|---|---|
| nextPageToken | null of an identifier for report continuation |
| items | Array of FileResource structures |
POST files/delete
Delete a file
Input (JSON or multi-part form)
| Parameter | Function |
|---|---|
| access_token | Access token returned from oauth2/token |
| id | ID string of file returned by files/new |
Output (JSON)
None
GET (downloadPath)
Retrieve a file