Qu'est-ce qu'un webhook ?

Un webhook est une URL (une adresse internet) qui, lorsqu'elle est appelée, permet de déclencher une action, sur un ou plusieurs players, instantanément.

Chaque URL contient à la fois un identifiant unique et des paramètres, par exemple :

https://wh.adyn.tv/j2asWGEqZTwEsqpz5EGc/alert/play/2times

Dans cet exemple l'URL principale du webhook est :

https://wh.adyn.tv/j2asWGEqZTwEsqpz5EGc

avec 3 paramètres :

  • alert

  • play

  • 2times

...mais nous y reviendrons...

Quels types d'actions ?

En appelant un webhook, vous pouvez effectuer 3 types d'action sur un player :

  • Lire un média en particulier (ou une playlist) : les éléments planifiés laissent place au média que vous avez configuré pour ce webhook.

  • Se déplacer dans la playlist : jouer le média suivant, précédent, etc...

  • Agir sur le matériel : par exemple pour éteindre ou allumer l'écran.

Vous avez la possibilité d'autoriser ces 3 types d'action ou seulement 2 ou 1.

Il suffit de glisser dans les zones adaptées le ou les écrans associés à ces webhooks et, le cas échéant, le ou les médias (ou playlists) à déclencher. Pour chaque média, la zone dans laquelle il doit se déclencher est modifiable (zone 1 par défaut).

Les paramètres d'URL

Comme nous l'avons vu un peu plus haut, l'URL est composée d'un identifiant unique, et de paramètres. En fonction des autorisations que vous avez déterminées, vous pouvez appliquer des paramètres :

Pour lire un média :

  • /alert/play/1time : déclenche la lecture du média une seule fois. Ensuite, la planification reprend son cours...

  • /alert/play/3times : identique, sauf que le média sera joué 3 fois de suite.

  • /alert/play/5min30s : le média est lu pendant au moins 5m30s. Au delà de ce délai, le média se joue jusqu'à sa fin, puis la planification reprend son cours.

  • /alert/play/loop : le média se joue en boucle, jusqu’à ce qu'il ait un ordre d'arrêt (ou un redémarrage du player).

  • /alert/play/stop : met fin à la diffusion du webhook.

Pour se déplacer dans la planification existante :

Ces paramètres agissent sur ce qui se joue en direct :

  • /direct/next : passe au média suivant (dans la zone principale 1).

  • /direct/next/2 : passe au média suivant dans la zone 2.

  • /direct/previous : revient au média précédent (dans la zone principale 1).

  • /direct/previous/2 : revient au média précédent dans la zone 2.

Pour interagir avec le player :

  • /player/reboot : redémarre le player

  • /player/restartSoftware : relance le logiciel du player

  • /player/monitor/on : allume l'écran

  • /player/monitor/off : éteint l'écran

  • /player/volume/50 : règle momentanément le volume à 50%

Qui déclenche le webhook ?

Vous l'avez compris, un webhook est simplement une URL... elle peut donc être déclenchée par n'importe quel "élément" connecté :

  • une personne qui lance l'adresse dans son navigateur.

  • un périphérique connecté (Home Assistant, système d'alarme, ...).

  • une application web ou smartphone.

  • un player d'affichage dynamique

    • via le Programmateur (par exemple pour lancer un jingle toutes les 10 minutes).

    • un lecteur de contact-sec, branché sur le player (nous consulter) : par exemple pour déclencher un média quand une porte s'ouvre, ou une alerte si un bouton d'urgence est enclenché.

    • un lecteur de carte RFID, branché sur le player (nous consulter) : par exemple pour déclencher un média si un objet est déposé sur le lecteur de puce RFID.

    • ...

Cas particulier : le déclenchement local

Comme nous l'avons vu plus haut, un webhook est une URL qui peut être appelée de n'importe où et se déclencher simultanément sur une multitude de players.

Un player peut également appeler un webhook, et ce, de deux manières :

  • comme tout autre périphérique connecté : en appelant l'URL globale via internet, comme par exemple https://wh.adyn.tv/j2asWGEqZTwEsqpz5EGcDAd/alert/play/1time. Tous les players concernés déclenchent alors le webhook.

  • via un appel local : si on ne veut agir que sur ce player, ce n'est pas la peine de passer par Internet. Pour cela, on configure l'appel sans le début de l'URL : j2asWGEqZTwEsqpz5EGcDAd/alert/play/1time. Si d'autres players sont associés à ce webhook, ils ne seront tout simplement pas informé de ce déclenchement local.