Difference between revisions of "REST Push API"

From A-SMIL.org
Jump to: navigation, search
Line 27: Line 27:
 
=== POST oauth2/token ===
 
=== POST oauth2/token ===
  
'''Input (application/x-www-form-urlencoded)'''
+
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 (application/json)'''
+
'''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