Difference between revisions of "REST Push API"
From A-SMIL.org
Line 27: | Line 27: | ||
=== POST oauth2/token === | === POST oauth2/token === | ||
− | '''Input ( | + | Request an access token for API calls. |
+ | |||
+ | '''Input (X-WWW-FORM-URLENCODED)''' | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
Line 44: | Line 46: | ||
|} | |} | ||
− | '''Output ( | + | '''Output (JSON)''' |
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
Line 59: | Line 61: | ||
| expires_in | | expires_in | ||
| Number of seconds before the access_token expires | | Number of seconds before the access_token expires | ||
+ | |} | ||
+ | |||
+ | == Media Transfer == | ||
+ | |||
+ | === POST files/new === | ||
+ | |||
+ | Create a file under ''<nowiki>http://(device_ip):8080/user-data</nowiki>'' download path | ||
+ | |||
+ | '''Input (JSON)''' | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Parameter | ||
+ | ! Function | ||
+ | |- | ||
+ | | 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)''' | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Parameter | ||
+ | ! Function | ||
+ | |- | ||
+ | | id | ||
+ | | String for identifying the file in subsequent operations | ||
+ | |- | ||
+ | | downloadPath | ||
+ | | Path of file to append after <nowiki>http://(device_ip):8080</nowiki> | ||
+ | |- | ||
+ | | 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 | ||
|} | |} |
Revision as of 05:56, 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.
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 (X-WWW-FORM-URLENCODED)
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)
Parameter | Function |
---|---|
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)
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 |