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 | |
---|---|
clientname | Nom du client |
username | Nom d’utilisateur |
password | Mot de passe de l’utilisateur |
Exemple de connexion avec "POSTMAN" (extension Google Chrome)
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}
- contentType (string) : valeurs possibles « page » ou « playlist »
- contentId (integer) : ID du contenu que vous souhaitez afficher
* useScheduling (boolean) : false est obligatoire pour définir un contenu arbitraire
Pour revenir au mode planifié, il suffit d’envoyer le JSON suivant :
{'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 :
- /api/screen
- /api/page
* /api/playlist
Comment utiliser l’API pour les sources de données (datasources)
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.