Content extern triggeren

Deze functionaliteit is alleen beschikbaar in Pro abonnementen.

Behalve dat je content kunt triggeren om op een bepaald tijdstip te starten, kun je ook afspeellijsten in een kanaal zo instellen dat ze beginnen te spelen wanneer een HTTP request van een ander systeem wordt ontvangen. Dit opent allerlei nieuwe en creatieve mogelijkheden om de getoonde inhoud dynamisch aan te passen aan actuele acties en/of omstandigheden. Je kunt bijvoorbeeld een fysiek apparaat, zoals een knop of bewegingssensor, het afspelen van bepaalde inhoud laten starten. Of je kunt een dienst als IFTTT aansluiten om invoer van een keur aan sensoren of triggers van externe systemen on te zetten in een Online MonitorsAnyWhere trigger die vervolgens een bepaalde afspeellijst start.

Gebeurtenissen

Het begint allemaal met het aanmaken van een of meer gebeurtenissen in je Online MonitorsAnyWhere instellingen met een beschrijvende naam en een unieke sleutel. Het zijn deze gebeurtenissen die je kunt triggeren met een HTTP POST request, gebruikmakend van die unieke sleutel, als volgt:

https://online.monitorsanywhere.com/trigger/my-event-key

Natuurlijk willen we niet dat zomaar iedereen deze gebeurtenis kan triggeren, dus moet je je unieke API sleutel als autorisatie-header meegeven. Je vindt je API sleutel op je Gebeurtenissen overzichtspagina.

Autorisatie: Bearer <JOUW API KEY>

Omdat je meerdere schermen kunt hebben die dezelfde inhoud afspelen, moet je tenslotte specificeren voor welk scherm je specifiek de gebeurtenis wilt triggeren. Je doet dit door de Code van het betreffende afspeelapparaat in de body van de HTTP request mee te geven als een JSON structuur, als volgt:

Omdat je meerdere schermen kunt hebben die dezelfde inhoud afspelen, moet je aangeven voor welke schermen je specifiek de gebeurtenis wilt triggeren. Dit doe je door de Code van de betreffende afspeelapparaten in de body van het HTTP verzoek mee te geven als een JSON structuur. Elke code staat tussen aanhalingstekens en deze worden gescheiden door komma's. De lijst zelf staat tussen vierkante haken. Het ziet er dus als volgt uit:

{ "playback_devices": 
  [ "<CODE VAN EEN DOELAFSPEELAPPARAAT>",
    "<CODE VAN EEN ANDER DOELAFSPEELAPPARAAT>"
  ]
}

Die aanhalingstekens zijn belangrijk, maar de < en > tekens moeten weggelaten worden!

De code van het afspeelapparaat kun je vinden door naar de lijst van afspeelapparaten te gaan en op de naam van het afspeelapparaat te klikken om de details te zien.

Je kunt overigens ook de hele body van het HTTP verzoek leeg laten. In dat geval triggert de gebeurtenis alle afspeelapparaten die een kanaal spelen dat reageert op die specifieke gebeurtenis.

Afspeellijsten koppelen aan gebeurtenissen

De laatste stap is aan te geven welke content moet worden afgespeeld als een bepaalde gebeurtenissen wordt getriggerd. Dit wordt gedaan in een kanaal. In plaats van een afspeellijst in een kanaal in te plannen om continu of incidenteel te spelen, stel je in dat hij bij gebeurtenis moet spelen en kies je de relevante gebeurtenis.

Zodra dit ingesteld is, wordt, zodra de gebeurtenis voor afspeelapparaat X wordt getriggerd, en afspeelapparaat X dit kanaal afspeelt, het gewone afspelen vrijwel onmiddellijk onderbroken en begint de afspeellijst die bij de gebeurtenis hoort te spelen. De afspeellijst wordt eenmalig afgespeeld en daarna wordt het normale afspelen hervat.

Testen en problemen oplossen

Hier zijn wat tips voor als je dit wilt testen en/of problemen wilt oplossen:

  • Je kunt eenvoudig een HTTP verzoek testen met een tool als Postman.
  • Je krijgt een 200 response als alle vermelde afspeelapparaten met succes zijn getriggerd.
  • Je krijgt ook een 200 response als ten minste één van de genoemde afspeelapparaten met succes werd getriggerd, maar dit gaat vergezeld van een response body met een foutenstructuur die de codes vermeldt van de afspeelapparaten die niet met succes konden worden getriggerd.
  • Als je een 404 response op je HTTP verzoek krijgt, is ofwel de triggernaam onjuist, ofwel is geen van de afspeelapparaatcodes correct of heeft geen enkele actuele content om te tonen.

Een afspeelapparaat kan niet succesvol getriggerd worden als:

  • er geen afspeelapparaat is met de opgegeven code
  • er momenteel geen actieve afspeellijst is (of content van een afspeellijst) die bij de specifieke gebeurtenis in het kanaal hoort dat op het afspeelapparaat speelt. Dit kan het gevolg zijn van specifieke van/tot datum-/tijdinstellingen op de gebeurtenis-getriggerde afspeellijst, maar ook van de tijdzone van het afspeelapparaat (die ingesteld kan worden door expliciet de locatie van het apparaat in te stellen).