Projet

Général

Profil

Pelle API v10 » Historique » Version 43

Version 42 (Nicolas BERTRAND, 11/05/2017 11:43) → Version 43/45 (Nicolas BERTRAND, 11/05/2017 11:44)

h1. Pelle API v10

This document describes the REST API interface to control distribution of DCPs for "Indé-CP":http://www.indecp.org .

The distribution is managed via the tuco:http://tuco.tdcpb.org

Basically this API provides services

h2. API Base URL

All URLs in the reference documentation use the following base URL:
<pre>
https://tuco.tdcpb.org/pelle/v1.0
</pre>

h2. Authentication

HTTP requests to the REST API are protected with HTTP Basic authentication and token. The token is valid for 10 minutes.

To get the token URL is
<pre>
https://tuco.tdcpb.org/api/token
</pre>

Example:
<pre>
curl -u <token>:unused -H "Content-Type: application/json" -X GET https://tuco.tdcpb.org/api/token</pre>
</pre>
Response:
<pre>
{
"token": "eyJhbGciOiJIUzI1NiIsImV4cCI6MTQ4ODgxMjc3NSwiaWF0IjoxNDg4ODEyMTc1fQ.eyJpZCI6MTk4fQ._EOcOx5gE311nbwPsstdEaoz1o3_KzUc9AY_yNewY6Q",
"expiration": "yyyy-mm-ddTHH:MM:SS"
}
</pre>

Use token:
<pre>
curl -u eyJhbGciOiJIUzI1NiIsImV4cCI6MTQ4ODgxMjc3NSwiaWF0IjoxNDg4ODEyMTc1fQ.eyJpZCI6MTk4fQ._EOcOx5gE311nbwPsstdEaoz1o3_KzUc9AY_yNewY6Q:unused -H "Content-Type: application/json" -X GET https://tuco.tdcpb.org/pelle/v1.0/exhibitors
</pre>

h2. Exhibitors Resources

h3. Exhibitor Properties

|_. NAME |_. DESCRIPTION |
| cncid | Unique exhibitor authorization ID given by CNC |
| id | Unique ID given by tuco (internal usage) |
| name | Theater name |
| address | Exhibitor address |
| city | Exhibitor city |
| contact | Person to contact |



h3. List all exhibitors

<pre>
GET exhibitors
</pre>

Output sample:

<pre>
{
exhibitors:[
{
'cncid': '123456',
'name': 'UN CINEMA'
'city' : LA VILLE
},
....
]
}
</pre>

h3. Retrieve a exhibitor

<pre>
GET exhibitors/<cncid>
</pre>

Output sample:

<pre>
{
exhibitors:
{
'cncid': '123456',
'name': 'UN CINEMA'
'city' : LA VILLE
},
}
</pre>

h3. Retrieve a exhibitor current downloads

<pre>
GET exhibitors/<cncid>/current_downloads
</pre>

Output sample:
<pre>
</pre>

h2. Distributor Resources

h3. Distributor Properties

|_. NAME |_. DESCRIPTION |
| cncid | Unique ID given by CNC |
| id | Unique ID given by tuco (internal usage) |
| name | Distributor name |

h3. List all distributors

<pre>
GET distributors
</pre>

Output sample:
<pre>
{
"distributors": [
{
"cncid": 1261,
"distributorid": 47,
"name": "LES FILMS DU LOSANGE"
},
{
"cncid": 3133,
"distributorid": 41,
"name": "URBAN DISTRIBUTION"
},

...
]
}
</pre>

h3. Retrieve a distributor

<pre>
GET distributors/<cncid>
</pre>

Output sample
<pre>
{
"distributor": {
"cncid": 1261,
"distributorid": 47,
"name": "LES FILMS DU LOSANGE"
}
}
</pre>

h3. List distributor catalog

*movies properties*

|_. NAME |_. DESCRIPTION |
| movieid | Unique ID given to a movie in tuco |
| original_title | Orginal movie title name (optional) |
| releasedate | First movie release date |
| title | Movie title |
| dcps | list of DCPs properties (cf DCP properties table) |

*DCP properties*

|_. NAME |_. DESCRIPTION |
| dcpid | Unique ID given to a dcp in tuco |
| contentkind | Type of content( FTR, TLR, SHR) |
| name | DCP name |
| size | Size of DCP (in bytes) |

*command*

<pre>
GET distributors/<cncid>/movies
</pre>

Output sample:

<pre>
{
"movies": [
{
"dcps": [
{
"contentkind": "FTR",
"dcpid": 512,
"name": "LeFilsDeJoseph_FTR_F_FR-FR_FR_51_2K_LOS_20160219_DGM_IOP_OV",
"size": "207208283635"
}
],
"movieid": 330,
"original_title": "",
"releasedate": "2016-04-20",
"title": "LE FILS DE JOSEPH"
},
{
"dcps": [
{
"contentkind": "FTR",
"dcpid": 541,
"name": "LAvenir_FTR_F_FR-FR_FR_51_2K_FDL_20160229_ECL_IOP_OV",
"size": "186571642897"
},
{
"contentkind": "TLR",
"dcpid": 543,
"name": "LAvenir_TLR-P-Date_F_FR-XX_FR_51_2K_FDL_20160308_ECL_IOP_OV",
"size": "3100055161"
}
],
"movieid": 343,
"original_title": "",
"releasedate": "2016-04-06",
"title": "L'AVENIR"
},
{
"dcps": [
{
"contentkind": "TLR",
"dcpid": 1049,
"name": "ResterVertical_TLR_F_FR-XX_FR_51_2K_LOS_20160704_TST_IOP_OV",
"size": "1438180164"
}
],
"movieid": 430,
"original_title": "",
"releasedate": "2016-08-24",
"title": "RESTER VERTICAL"
}
]
}
</pre>

h2. Distribution Resources

h3. properties

|_. NAME |_. DESCRIPTION |
| distributionid | unique distributionid |
| autorisation_date | Date of distribution authorization |
| isauthorised | is dcp authorized to download |
| dcp | DCP name on distribution |
| dcpid | Id of DCP on distribution |
| eta | Estimated Time of Accomplishment for DCP download in theater (available when _status_ is _Distribution started_ , _null_ else) |
| exhibitor | Exhibitor name |
| exhibitor_cncid | Unique exhibitor authorization ID given by CNC |
| finished_transfer_date | Finished transfer to theater date |
| proress | DCP download progress in percent (available when _status_ is _Distribution started_ , _null_ else) |
| started_transfer_date |DCP download start date |
| status | Distribution status (cf. next table)|
| statusId | Distribution status ID (cf. next table)|

*Distribution status states:*

|_. status | _. statusId |
| 'Distribution not allowed' | O |
| 'Distribution allowed' | 1 |
| 'Distribution started' | 2 |
| 'Distribution finished' | 4 |
| 'Distribution error' | 128 |



h3. Retrieve distribution status of DCP <dcpid> to exhibitor <cncid>

<pre>
GET distributions/<cncid>/<dcpid>
</pre>

Sample output
<pre>
{
"distributions": {
"autorisation_date": "2016-07-04T07:25:16",
"isauthorised": true,
"distributionid": 39547,
"dcp": "HAUT-ET-COURT_TONI-ERDMANN_2K-F-185_51-DE_ST-FR_DCP-24-IOP-CPT_1606TVS7354",
"dcpid": 1024,
"eta": null, "N/A",
"exhibitor": "UTOPIA TOURNEFEUILLE",
"exhibitor_cncid": 431352,
"finished_transfer_date": "2016-07-08T11:30:55",
"progress": null, "N/A",
"started_transfer_date": "2016-07-04T13:29:07",
"status": "Distribution finished",
"statusId": 4 0
}
}
</pre>



h3. Distribute a DCP to a distributor

<pre>
POST distributions
</pre>

Parameters

|_. NAME |_. DESCRIPTION |
| cncid | Unique exhibitor authorization ID given by CNC |
| dcpid | Id of DCP to distribute |

*Sample*
Distribute Toni Erdman FTR DCP (dcpid: 1024) to Utopia tournefeuille( cncid: 431352 )
_Input:_
<pre>
curl -H "Content-Type: application/json" \
-u <token>:unused \
-X POST\
-d '{"cncid": "431352", "dcpid": "1024" }'\
-i https://tuco.tdcpb.org/pelle/v1.0/distributions
</pre>
_Output:_
<pre>
{
code 201 CREATED
{
"distributions": {
"autorisation_date": "2016-07-04T07:25:16",
"dcp": "HAUT-ET-COURT_TONI-ERDMANN_2K-F-185_51-DE_ST-FR_DCP-24-IOP-CPT_1606TVS7354",
"dcpid": 1024,
"eta": "N/A",
"exhibitor": "UTOPIA TOURNEFEUILLE",
"exhibitor_cncid": 431352,
"finished_transfer_date": "2016-07-08T11:30:55",
"progress": "N/A",
"started_transfer_date": "2016-07-04T13:29:07",
"status": "Distribution finished",
}
}
</pre>

h3. Remove distribution authorisation

<pre>
DELETE distributions/<cncid>/<dcpid>
</pre>

*Sample*
Remove download authorisation for Toni Erdman FTR DCP (dcpid: 1024) to Utopia tournefeuille( cncid: 431352 )
_Input_
<pre>
curl \
-u <token>:unused \
-X DELETE\
-d '{"cncid": "431352", "dcpid": "1024" }'\
-i https://tuco.tdcpb.org/pelle/v1.0/distributions
</pre>

_Output_
<pre>
No output
code 204 NO CONTENT
</pre>