Table des matières

Guide de démarrage de l’API REST zebrix

Introduction

Chaque appel à l’API REST zebrix nécessite un jeton (token) qui doit être inclus dans l’en-tête de la requête.
Ce jeton peut être obtenu via une procédure de connexion (login).

API de connexion

POST /login

Les paramètres doivent être envoyés au format JSON.

Paramètres
clientnameNom du client
usernameNom d’utilisateur
passwordMot de passe de l’utilisateur

Exemple de connexion avec "POSTMAN" (extension Google Chrome)

Requête

Réponse

Exemple de requête GET sur un écran

GET /api/screen/:id

Cet exemple montre comment effectuer une requête GET à l’API pour récupérer des informations.
Nous utiliserons ici l’API screen (afin d’obtenir la liste de tous les écrans avec leurs propriétés).
Le même principe s’applique à tous les autres objets de zebrix (médias, pages, playlists, etc.).

Dans cette requête, il est nécessaire d’utiliser le jeton précédemment obtenu dans l’en-tête.
Sans ce jeton, l’API renverra une erreur 401 (non autorisé).

Le jeton doit être précédé du mot Bearer suivi d’un espace, comme ceci :

Bearer eyJ0eXAiOiJKV1QiLCJhbGci0kLIUzI1NiJ9.eyJpZCI6MjYwMCwiQ2xpZW50SWQiOjIwLCJyb2xlIjoyLCJsZXZlbCI6MTAsInNjb3BlIjp7fSwiaWF0IjoxNDcwMTIyNDU2LCJleHAiOjE0NzAxNjU2NTZ9.YSqeMUJUm1t2JuIlidcwZzA7XS52SR8WiUHWRnH4E

L’appel de l’API renverra un tableau JSON contenant tous les écrans :

Pour obtenir les informations d’un écran spécifique, il suffit d’ajouter son identifiant unique dans l’URL.
Par exemple, pour obtenir les informations de l’écran avec l’id 6361 :

Comment définir un contenu sur un écran ?

Vous devez envoyer le JSON suivant :

{'contentType':"page",'ContentId': contentId, 'useScheduling': False}
{'useScheduling': True}

à l’URL suivante :

POST : https://cmsv2.zebrix.net/api/screen/{screenID}/setContent

Pour obtenir les ID des pages et playlists, vous pouvez effectuer une requête GET sur les URL suivantes :

Introduction aux sources de données

Dans zebrix, une datasource correspond à une ligne d’une base de données.
Par exemple, imaginons une table contenant des informations sur 4 salles de réunion.
Chaque salle a 4 propriétés :

Dans zebrix, cette table de 4 salles correspondra à 4 sources de données
(c’est-à-dire salle 1, salle 2, salle 3, salle 4).
Chaque ligne/source de données contient toutes les colonnes/champs au format JSON.

Récupérer toutes les sources de données

GET /api/datasource/:id

Toutes les sources de données seront renvoyées avec leurs propriétés (y compris leur contenu).

En reprenant notre exemple des salles de réunion, voici le résultat obtenu :

Ces sources peuvent ensuite être utilisées dans les pages par les utilisateurs
(en suivant les instructions de la section 5 de cette page : Utiliser les sources de données dans Zebrix)

Veuillez noter que certaines sources de données sont générées automatiquement par zebrix
lorsque la fonctionnalité de « zone à contenu variable » est utilisée.
Ces sources peuvent être facilement reconnues car leur nom commence toujours par un double tiret bas
(__) suivi de page et de l’ID de la page concernée.

Ajouter une nouvelle source de données à zebrix

POST /api/datasource/

Le contenu de la source de données doit être encodé en JSON et placé dans une variable defaults.

Exemple d’utilisation :

Mettre à jour une source de données existante

POST /api/datasource/:id

Le processus de mise à jour fonctionne de la même manière qu’une création,
mais l’ID de la source de données doit être précisé.

Forcer la mise à jour des écrans

POST /api/screens/updateds

Lorsqu’une source de données est mise à jour,
les écrans qui l’utilisent ne se mettront pas à jour automatiquement tant que la commande updateds n’aura pas été appelée.
Cette API est généralement utilisée après la mise à jour d’une datasource.
Si la page affichée contient plusieurs sources de données,
il est recommandé d’appeler la méthode updateds à la fin du processus complet de mise à jour,
plutôt qu’après chaque modification individuelle, afin de limiter l’utilisation des ressources et de la bande passante.