Contexte

Empreinte offre une API des fonctions de la WEBTV qui offre la capacité de communiquer avec un site ou une application depuis un autre site afin de rendre possible la communication de données entre applications. L’API se caractérise par l’envoi d’une requête HTTP sous forme d’un schéma URL contenant les commandes que l’on souhaite, et la réponse est renvoyée en JSON (Javascript Object Notation). L’API natif, est un ensemble de requêtes HTTP (ou fonctions) dont chacune comprend :

  • Une méthode http,
  • Un point d'extrémité accessible via un jeton de session [token],
  • Une liste de paramètres,
  • Un type de retour {integer, boolean, JSON RPC}.

L’API NATIF est décrite exhaustivement dans les pages qui suivent : c’est l’objet de ce document. Afin de sécuriser les échanges, il est primordial de récupérer une clé d’API unique. Afin de sécuriser l’accès aux vidéos, nous utilisons l’API d’Empreinte Tout d’abord il faut accéder au logiciel pour authentification et récupération de jeton d’accès (TOKEN)

https://support.empreinte.com/docs/api/doc.html

Sand box

http://demo-api.webtv-solution.com/connect.html

Description de l’api

Nous résumons ci-après les classes (et méthodes) de l’API.

Classe Méthode Description
Advertising GET/POST/DELETE List all advertisings - Delete a single advertising - Return choices for the Advertising - Form advertising select input
App-parameters GET get infos to extension chrome. - get ParameteBag (All Parameters). - get Application ParameteBag.
Auth tokens GET/POST get client list of tokens. - regenerate all tokens - Generate a new token for a specific client
Caption GET/POST/DELETE get Video Caption. - Generate Caption.
Channel GET/POST/DELETE List all channels. - List all channels group by themes. - Delete a single Channel. - Return url export channel - Return choices for the Theme Form Channels select input.
Chutier GET/POST/DELETE Creates a new chutier from the - submitted data. - List all chutiers. - Delete a single chutier.
Comments GET/POST/DELETE -------
CommentsLive GET/POST/DELETE -------
Configuration general GET/POST/DELETE -------
Cron Automation Event GET -------
Cron Synchronization GET -------
Dailymotion GET/POST -------
DataTable GET -------
Direction GET/POST/DELETE -------
Display-Bloc GET/POST -------
Display-program GET/POST/DELETE -------
EncoderLive GET/POST -------
Event GET/POST -------
Fields Order GET/POST -------
HomeConf GET/POST -------
Ips GET/POST -------
Iptv GET/POST -------
LiveConf GET/POST -------
Lives GET/POST/DELETE -------
Login -------
Media GET/POST/DELETE -------
Message GET/POST/DELETE -------
Mooc -------
MultiDelete POST -------
Output POST -------
Param GET/POST -------
Player Parameter GET/POST -------
Playlist GET/POST/DELETE -------
Podcast GET/POST/DELETE -------
Preset GET/POST/DELETE -------
Profiles Groupes GET/POST/DELETE -------
Profiles Users GET/POST/DELETE -------
Right GET/POST/DELETE -------
Rmbox group GET/POST/DELETE -------
Rmbox GET/POST/DELETE -------
Routes GET -------
Screen GET/POST/DELETE -------
Server GET/POST -------
Station GET/POST/DELETE -------
Stats GET -------
Stats Acces GET -------
Stats Audience GET -------
Stats Bande Passante GET -------
Stats Engagement GET -------
Stats Geo GET -------
Stats Storage GET -------
Stats Technologie GET -------
Stats Time Reel GET -------
Subscription Group GET/POST/DELETE -------
Subscription ser GET/POST/DELETE -------
Survey GET/POST/DELETE -------
Synchronisation GET/POST -------
Template GET/POST -------
Theme GET/POST/DELETE -------
Video GET/POST/DELETE -------
Vote GET/POST/DELETE -------
Web Services Event GET/POST -------
Youtube GET/POST -------
Zone GET/POST/DELETE -------
richMedia GET/POST/DELETE -------
webservice GET/POST/DELETE send mail since contact form mail - Web Service Live: get content service loginMobile - Web Service Live encrypt/decrypt Test web service token generator.

Classes et fonctions détaillés

Authentification

ACCES Permettre l’accès au logiciel
METHODE POST
END POINT get infos to extension chrome. - get ParameteBag (All Parameters). - get Application ParameteBag.
PARAMETRES get client list of tokens. - regenerate all tokens - Generate a new token for a specific client
RETURN si succès --- JSON : {"Token": "abcd4545dfdfdwvuuuhsdgfggff"} //ce jeton est disponible pour une période de 24 heures
si échec --- JSON : {"Message": "le texte du message"} -Login ou password sont incorrects. Nom d'utilisateur est vide. -Mot de passe est vide. - API Key est invalide. - Client inexistant.

Le jeton [token] doit être fourni dans chaque point d'extrémité.

N|Solid

N|Solid

Utilisateur

Ajouter un utilisateur

AJOUTER Ajouter un utilisateur
METHODE POST
END POINT http://demo-api.webtv-solution.com/user/add/[token]
PARAMETRES Nom : string - Prenom : string - Login : string - Password : string - Type : string ('E' , 'C' , 'A') - Vignette : string url réel du fichier image sur le serveur du client. - Description : string - GroupId : int - Phone: string - Mobile: string - Mobile: string - Mail: string - Etat: string ('Maj', 'Del', 'Add', 'Mod') -
RETURN ID de l'utilisateur ajouté si succès, False si non

N|Solid

Charger un utilisateur

CHARGER Charger la liste des utilisateurs
METHODE POST
END POINT http://demo-api.webtv-solution.com/user/loadall/[token]
PARAMETRES Id : integer
RETURN si succès--- JSON {"Id": 1, "Nom": "Nom utilisateur", "Prenom": "Prénom utilisateur", "Vignette": "http://url/de/vignette.png", .... }
si échec --- {"Message":"text message"} texte du message : * Token inexistant. * Token invalide. * Client inexistant. * ID utilisateur vide.

N|Solid

Charger la liste des utilisateurs

CHARGER Charger la liste des utilisateurs
METHODE POST
END POINT http://demo-api.webtv-solution.com/user/loadall/[token]
PARAMETRES Id : integer
RETURN si succès--- JSON {"Id": 1, "Nom": "Nom utilisateur", "Prenom": "Prénom utilisateur", "Vignette": "http://url/de/vignette.png", .... }, { ..... }
si échec --- {"Message":"text message"} texte du message : * Token inexistant. * Token invalide. * Client inexistant.

N|Solid

Supprimer un utilisateur

SUPPRIMER Supprimer un utilisateur
METHODE POST
END POINT http://demo-api.webtv-solution.com/user/delete/[token]
PARAMETRES Id : integer
RETURN Bolean : true si succès, false si non

Chercher un utilisateur avec un critère

CHERCHER Chercher un utilisateur avec un critère
METHODE POST
END POINT http://demo-api.webtv-solution.com/user/LoadbyFieldName/[token]
PARAMETRES Field: string (nom de la colonne (Nom, Prenom, etc))
Value: string (valeur ou une partie de valeur de la colonne)
RETURN Bolean : true si succès, false si non

Groupe

Charger un groupe

CHARGER Charger un groupe
METHODE POST
END POINT http://demo-api.webtv-solution.com/group/load/[token]
PARAMETRES GroupId: integer
RETURN si succès --- JSON{ "Id": 1, "Titre": "Titre du groupe", "Description": "Description du groupe },{ … }
si echéc --- {"Message":"text message"}texte du message : Token inexistant. Token invalide. * Client inexistant. * Paramètre GroupId inexistant

Lister les groupes d'utilisateurs

LISTER Lister les Groupes d’utilisateurs
METHODE POST
END POINT http://demo-api.webtv-solution.com/group/loadall/[token]
PARAMETRES Pas de paramètre
RETURN si succès --- JSON{ "Id": 1, "Titre": "Titre du groupe", "Description": "Description du groupe },{ … }
si echéc --- {"Message":"text message"}texte du message : Token inexistant. Token invalide. * Client inexistant.

Vidéo

Importer une vidéo

IMPORTER Importer une vidéo
METHODE POST
END POINT http://demo-api.webtv-solution.com/video/upload/[token]
PARAMETRES VideoName string le nom du fichier vidéo dans le serveur du cliente
CallBack string url de retour client
JSON JSON : { "VideoToken":"c45f506db2f7ecce39cec3f9979e4406", "Thumbnails":["img_54b93b7df0f84.jpg", "img_54b93b7e1c7da.jpg", "img_54b93b7e454ad.jpg", "img_54b93b7e77c97.jpg", "img_54b93b7e84ce0.jpg"]}
RETURN si succès --- {"VideoToken":"c45f506db2f7ecce39cec3f9979e4406"}
si echéc --- JSON : {"Message": "texte du message"}texte du message :▪ Vous devez choisir un fichier vidéo. ▪ Le fichier vidéo doit avoir l'extension {avi, mov, mpg, flv, mpa, asf, wma, mp2, m2p, vob}. ▪ Erreur d'importation du fichier vidéo. ▪ Erreur d'enregistrement du fichier vidéo. ▪ Vous devez spécifier l'url de callback. ▪ Token inexistant ▪ Token invalide ▪ Client inexistant.

N|Solid

Charger une vidéo avec son ID

CHARGER Charger une vidéo avec son ID
METHODE POST
END POINT http://demo-api.webtv-solution.com/video/load[token]
PARAMETRES VideoId : integer
RETURN si succès --- JSON { "Id": 1, "Titre": "Titre du vidéo", "Auteur": "Auteur", "CopyRight": "CopyRight", "DateDebut": "01/01/2015", "DateFin": "03/01/2015", .....}
si echéc --- {JSON {"Message": "Video Id n'existe pas."}

Supprimer une vidéo

SUPPRIMER Supprimer une vidéo
METHODE POST
END POINT http://demo-api.webtv-solution.com/video/delete/[token]
PARAMETRES VideoId : integer
RETURN si succès --- {"Message":"OK"}
si echéc --- {"Message":"text message"}texte du message : * Token inexistant * Token invalide * Client inexistant * ID vidéo est vide

N|Solid

Charger la liste des vidéos

SUPPRIMER Supprimer une vidéo
METHODE POST
END POINT http://demo-api.webtv-solution.com/video/loadall/[token]
PARAMETRES Pas de paramètre
RETURN si succès --- JSON{ "Id": 1, "Titre": "Titre du vidéo", "Description": "Description du vidéo", "Auteur": "Auteur", "DateDebut": "01/01/2015", "DateFin": "03/01/2015", .....},{ .....}
si echéc --- {"Message":"text message"}texte du message : * Token inexistant * Token invalide * Client inexistant

N|Solid

Ajouter une vidéo

AJOUTER Ajouter une vidéo
DESCRIPTION La fonction ajouter une vidéo permet d'ajouter une vidéo déjà importer avec la méthode “Impoter une vidéo”.
▪ Lors de l'importation de la vidéo un jeton sur le fichier situé sur le serveur d'upload sera généré (VideoToken), la procédure d'ajout permet alors de transférer la vidéo vers le serveur de streaming, ainsi de remplir les métadonnées de cette vidéo (Titre, Auteur, …etc).
▪ La procédure d'importation d'une vignette engendre deux sénarios possible :
1. Lors de l'importation d'une vidéo, la fonction upload retourne au client la liste des vignettes (5) disponible pour la vidéo, donc le client peut par la suite ajouter la vignette via le paramètre (Vignette), cette dernière sera transférer vers le BO du client et elle sera associé au vidéo correspondante.

2. Si le client ne choisi aucune vignette disponible pour la vidéo et il décide de choisir une de chez lui, alors il pourra importer sa propre vignette via le paramètre (Imagedata), dans ce cas la vignette choisie sera transférer vers le BO du client et elle sera associée au vidéo correspondante.
METHODE POST
END POINT http://demo-api.webtv-solution.com/video/loadbyfieldName/[token]

Liste des paramétres

PARAMETRES VideoToken : string un jeton généré lors de l'importation
CallBack: string url fournie par le client, retourne au client un JSON{ "Id" : "1232" Status: "Y
Titre: string
Auteur: string
DateDebut: string yyyy-mm-dd
DateFin: string yyyy-mm-dd
Description: string
MotCles: string
Vignette: string le nom de la vignette générer lors de l'importation (obligatoire)
Imagedata: string url de la vignette sur le serveur du client
Themes : {1,2,3} La liste des thèmes Id au format JSON
RETURN si succès --- { "Id":"1234", "VignetteResult":"1 - message d'erreur", //message d'erreur : Extension invalide , veuillez choisir ('jpg', 'png', 'gif'). "MP4":"l'url d'export de la vidéo", http://client.webtv-solution export/video/1234 "PathToThumbnails":"url d'accès aux vignettes de la vidéo", // http://path/to/thumbnails/vignette_1.jpg }
si échec --- JSON : {"Message": "texte du message"} texte du message :* Veuillez spécifier le jeton de la vidéo. * Token inexistant. * Token invalide. * Client inexistant.

Theme

Charger un thème avec l’ID

CHARGER THEME Charger un thème avec l’ID
METHODE POST
END POINT http://demo-api.webtv-solution.com/theme/load/[token]
PARAMETRES ThemeId : integer
RETURN si succès --- JSON{"Id": 1, "Titre": "Titre du théme", "Description": "Description du théme", "Logo": "http://url/de/logo.png", .....}
si echéc --- {JSON : {"Message": "texte du message"}texte du message : * Token inexistant. * Token invalide. * Client inexistant. * ThemeId est obligatoire.

Charger la liste des thèmes

CHARGER LISTE Charger la liste des thèmes
METHODE POST
END POINT http://demo-api.webtv-solution.com/theme/loadall/[token]
PARAMETRES Pas de paramètre
RETURN si succès --- JSON{"Id": 1, "Titre": "Titre du théme", "Description": "Description du théme", "Logo": "http://url/de/logo.png", .....},{ .....}
si echéc --- {JSON : {"Message": "texte du message"}texte du message : * Token inexistant. * Token invalide. * Client inexistant.

N|Solid

Canal

Charger la liste des canaux

CHARGER LISTE Charger la liste des canaux
METHODE POST
END POINT http://demo-api.webtv-solution.com/theme/loadall/[token]
PARAMETRES Pas de paramètre
RETURN si succès --- JSON{ "Id": 1, "Titre": "Titre du canal", "LangsId": "fr", .....},{ .....}
si echéc --- {JSON : {"Message": "texte du message"}texte du message : * Token inexistant. * Token invalide. * Client inexistant.

Advertising

### GET /advertising ###
List all advertisings.
List all advertisings.
### DELETE /advertising/delete/{id} ###
Delete a single advertising.
Delete a single advertising.
#### Requirements ####
id
- Requirement: \d+
### GET /advertising/select-choices/{idToIgnore} ###
Return choices for the Advertising Form advertising select input.
Return choices for the Advertising Form advertising select input.
#### Requirements ####
idToIgnore
- Requirement: \d+
#### Parameters ####
* required: false
* description: advertisingId
### GET /advertising/{id} ###
Return advertising thumbs.
Return advertising thumbs.
### GET /advertising/select-choices/{idToIgnore} ###
Get a single advertising.
#### Requirements ####
id
- Requirement: \d+
- Type: integer
#### Parameters ####
* required: false
* description: advertisingId
#### Response ####
title:
* type: string
link_url:
* type: string
date_start:
* type: DateTime
date_end:
* type: DateTime
active:
* type: boolean
id:
* type: integer
logo:
* type: string
created_at:
* type: DateTime
updated_at:
* type: DateTime
## /advertising/add ##
### POST /advertising/edit/{id} ###
Edit the advertising with the submitted data.
Edit the advertising with the submitted data.
#### Requirements ####
id
- Requirement: \d+
#### Parameters ####
empAdvertisingForm:
* type: object (AdvertisingType)
* required: true
empAdvertisingForm[title]:
* type: string
* required: false
mpAdvertisingForm[link_url]:
* type: string
* required: false
empAdvertisingForm[date_start]:
* type: datetime
* required: true
empAdvertisingForm[date_end]:
* type: datetime
* required: true
empAdvertisingForm[active]:
* type: choice
* required: true
empAdvertisingForm[logo]:
* type: string
* required: false
* description: form_attr_vignette
## /advertising/ids ##
### GET /advertising/ids ###
List all advertising ids.
List all advertising ids.
## /advertising/upload/thumb ##
### POST /advertising/upload/thumb ###
Upload Advertising Logo.
#### Parameters ####
empApiFileForm:
* type: object (UpFileType)
* required: true
empApiFileForm[thumb]:
* type: file
* required: true

App-parameters

## /global/get-param-extension ##
### GET /global/get-param-extension ###
get infos to extension chrome.
get infos to extension chrome.
## /global/parameter-bag/all ##
### GET /global/parameter-bag/all ###
get ParameteBag (All Parameters).
et ParameteBag (All Parameters).
## /global/parameter-bag/app ##
get Application ParameteBag.
get Application ParameteBag.
### POST /global/log ###
Function log
Function log
#### Requirements ####
cause
- Type: string
exception
- Type: string
module
- Type: string
error_code
- Type: string

Auth tokens

#### /tokens/list ##
### GET /tokens/list ###
get client list of tokens._
get client list of tokens.
## /tokens/regenerate-all ##
### GET /tokens/regenerate-all ###
regenerate all tokesn
regenerate all tokens
## /tokens/{id}/regenerate ##
### GET /tokens/{id}/regenerate ###
Generate a new token for a specific client
Generate a new token for a specific client
#### Requirements ####
id
- Requirement: \d+

Caption

## /caption/video/{id}/captions-by-{lang}-language ##
### GET /caption/video/{id}/captions-by-{lang}-language ###
get Video Caption.
get Video Caption.
#### Requirements ####
id
- Requirement: \d+
lang
- Requirement: [a-zA-Z_]+
## /caption/video/{id}/generate-caption ##
### POST /caption/video/{id}/generate-caption ###
Generate Caption.
#### Requirements ####
id
- Requirement: \d+
## /caption/video/{id}/generate-tmp-json ##
### POST /caption/video/{id}/generate-tmp-json ###
Generate tmp json : apimediapostgeneratetmpjson
#### Requirements ####
id
- Requirement: \d+