Projet

Général

Profil

Pelle API v10 » Historique » Version 34

« Précédent - Version 34/45 (diff) - Suivant » - Version actuelle
Nicolas BERTRAND, 06/03/2017 15:58


Pelle API v10

This document describes the REST API interface to control distribution of DCPs for Indé-CP .

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

Basically this API provides services

API Base URL

All URLs in the reference documentation use the following base URL:

https://tuco.tdcpb.org/pelle/v1.0

Authentication

HTTP requests to the REST API are protected with HTTP Basic authentication and token.

To get the token URL is

http://tuco.tdcpb.org/api/token

Example:

curl -u <username>:<pass> -H "Content-Type: application/json" -X GET http://tuco.tdcpb.org/api/token


Response:
{
  "token": "eyJhbGciOiJIUzI1NiIsImV4cCI6MTQ4ODgxMjc3NSwiaWF0IjoxNDg4ODEyMTc1fQ.eyJpZCI6MTk4fQ._EOcOx5gE311nbwPsstdEaoz1o3_KzUc9AY_yNewY6Q" 
}

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 |
| autorisation_date | Date of distribution autorisation |
| 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_ , _N/A_ 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_ , _N/A_ else) |
| started_transfer_date |DCP download start date |
| status | Distribution status (cf. next table)|

*Distribution status states:*

|_. NAME |
| 'Distribution not allowed' |
| 'Distribution allowed' |
| 'Distribution started' |
| 'Distribution finished' |
| 'Distribution error' |

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", 
        "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", 
        "statusId": 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 username:password \
-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. Delete a distribution instance

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

*Sample*
Distribute Toni Erdman FTR DCP (dcpid: 1024) to Utopia tournefeuille( cncid: 431352 )
_Input_
<pre>
curl \ 
-u username:password \
-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>