Skip to main content

State API

Les informations d'une instance Event Engine sont obtenues avec 2 requêtes.


(1) L'application récupère/met à jour sa configuration.
(2) Une requête côté serveur vers l'administration Event Engine retourne l'url du service d'état du lecteur.
(3) L'url du service d'état du lecteur retourne les informations concernant le lecteur.

Elle est porteuse d'un token (bearer) au format JWT HS256, token signé avec un secret (clef d'API) et ne contient que l'ID de audience associée à la clef et la date d'expiration du token (TTL conseillée de 30 à 60s).

L'url du service d'état change avec l'horloge du serveur Event Engine toutes les 30 minutes et reste valable 1 heure.
Elle répond avec un cache de 5s. Il est conseillé de la mettre à jour toutes les 15 minutes environ. Côté serveur, la valeur de l'url du service peut donc être mise en cache pour 15 minutes.

Exemple de cas d'usage

L'application cliente demande sa configuration contenant l'url de requêtage d'état 

La dernière url récupérée par le serveur d'application est estimée périmée (a plus de 15min), une nouvelle requête est faite (les réponses sont données avec un cache d'environ 15min )  

L'application utilise l'url d'API Event Engine pour récupérer l'état du site en pull periode >= 5s

L'application met à jour l'url de requêtage d'état toute les ~15min 

 

get State API URL

propriétés de la réponse en cas de succès 

  • stateUrl {string} url du service d'état à appeler en GET

requete Method GET
requete Header bearer:<JWT>
reponse Cache: no-cache

response Status

  • Success 200
  • Erreur Unauthorized Status 401
  • autre erreur Status 400

Le token porté par la requête est un Json Web Token encodé avec un secret partagé entre Event Engine et le serveur de l'application

  • alg: HS256
  • aud: <L'ID du client>
  • exp: 30 ou 60s

 

get Sate API

propriétés de la réponse en cas de succès

  • playerState {string} prelive|live1|live2|postlive|vod
  • playerManifest {string} url du hls
  • countdown {{}} propriétés du countdown
    • visible {boolean} true décompte visible ou false décompte caché
    • end {unix timestamp} date de fin du décompte
    • serverTime {unix timestamp} temps actuel du serveur 

requete Method GET
response Cache 5s
response Status

  • Success 200
  • Erreur Unauthorized Status 401
  • autre erreur Status 400


Limitations

get State API URL 

  • fréquence maximum 1 appel par seconde
  • quota 4 appels maximum par minute