Difference between revisions of "REST Push API"

From A-SMIL.org
Jump to: navigation, search
Line 29: Line 29:
 
Request an access token for API calls.
 
Request an access token for API calls.
  
'''Input (X-WWW-FORM-URLENCODED)'''
+
'''Input (Multi-part form)'''
  
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
Line 69: Line 69:
 
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
  
'''Input (JSON)'''
+
'''Input (JSON or multi-part form)'''
  
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
Line 75: Line 75:
 
! Parameter
 
! Parameter
 
! Function
 
! Function
 +
|-
 +
| access_token
 +
| Access token returned from ''oauth2/token''
 
|-
 
|-
 
| downloadPath
 
| downloadPath
Line 96: Line 99:
  
 
'''Output (JSON)'''
 
'''Output (JSON)'''
 +
 +
''FileResource'' structure:
  
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
Line 126: Line 131:
 
| Boolean (true or false) indicating whether file upload has completed
 
| Boolean (true or false) indicating whether file upload has completed
 
|}
 
|}
 +
 +
=== POST files/(id)===
 +
 +
Modify a file
 +
 +
'''Input (JSON or multi-part form)'''
 +
 +
{| class="wikitable" border="1"
 +
|-
 +
! 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/delete ===
 +
 +
Delete a file
 +
 +
'''Input (JSON or multi-part form)'''
 +
 +
{| class="wikitable" border="1"
 +
|-
 +
! Parameter
 +
! Function
 +
|-
 +
| access_token
 +
| Access token returned from ''oauth2/token''
 +
|-
 +
| id
 +
| ID string of file returned by files/new
 +
|}
 +
 +
'''Output (JSON)'''
 +
 +
None

Revision as of 06:09, 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 (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

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/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