We werken aan onze nieuwe feed. We adviseren je om te wachten met het maken van website integraties totdat onze nieuwe feed gereed is. Hierover communiceren wij nog op een later moment.
Stager biedt de mogelijkheid om event info te publiceren via verschillende kanalen. Een voor de hand liggend kanaal is je eigen website. Maar je kunt je events ook delen met de lokale online krant of met landelijke marketing kanalen. Dit gaat allemaal via een feed, ofwel een publication channel. In Event - Publicity geef je aan welke info waar gepubliceerd mag worden.
Er zijn twee opties voor publiceren:
Publication channels. Custom publicatie kanalen die door jou worden beheerd via Settings.
Partner channels. Stager biedt een aantal mogelijkheden voor het publiceren naar vaste derden partijen, zoals Podiuminfo.nl. Stager beheert deze koppelingen.
Stap 1. Access token aanmaken
Bepaal zelf welke publication channels je wilt aanmaken. We hebben er vast een voor je aangemaakt met de naam 'Feed'. De naam is aan te passen naar bijvoorbeeld 'Website', wat lekker duidelijk is als je direct met het CMS van je eigen website wilt koppelen. Ook kunnen er nieuwe channels worden aangemaakt.
Vraag je website developer de daadwerkelijke koppeling te maken, onderaan de pagina vind je technische documentatie. Je geeft de developer een access token. Dit zijn geheime sleutels die nodig zijn om de feed te kunnen opvragen. Je maakt deze tokens zelf aan in Settings - Integrations - Publication Channels.
Geef aan welke permissies een publication channel krijgt. Er zijn twee opties:
Limited: Alle event info zoals ingevuld bij Publicity plus basis ticketing info, zoals welke tickets te koop zijn en hoeveel de tickets kosten.
Extended: Alle event info zoals ingevuld bij Publicity plus alle ticketing info, inclusief de sales start en end tijd, en welke link members moeten gebruiken.
Wanneer je een access token niet meer wilt gebruiken, zet deze op disabled en maak een nieuw access token aan.
Stap 2. Informatie publiceren
Bij Event - Publicity - Publication channels zie je de door jouw gemaakte access tokens terug. Vink een checkbox naar keuze aan en de event info inclusief (limited) ticket info wordt in de gekozen feed gepubliceerd.
Speeldata, tijden en tickets tonen op je site bij herhalende events
Alle evenementen in een bepaalde serie hebben dezelfde ID in de feed waaraan alle evenementen uit een serie te herkennen en onderling te linken zijn. Het is dus mogelijk om bijvoorbeeld op je website een pagina over een bepaalde filmvoorstelling te hebben, en vervolgens kan je webdeveloper een lijst op die pagina tonen van alle data, tijden en ticket links van de andere vertoningen van films in die serie.
Op die manier hoef je niet steeds aparte evenementen in je agenda te laden voor iedere filmvertoning, expositiedag of dans/theatervoorstelling. Je hebt een mooie informatieve pagina en de bezoeker kan daar kiezen welke film, expo dag of voorstelling hij / zij wil bezoeken. De sleutel om dit te bouwen ligt dus bij de Series ID in de feed.
In de feed is de Series ID er makkelijk uit te halen als:
"seriesId":
Info publiceren van een multi-access event, zoals meerdaags festivals
Als events aan elkaar gekoppeld zijn middels een multi-access event (herkenbaar aan een paraplu), dan vraag je informatie op uit twee endpoints:
/eventgroup/{ID}
Via dit endpoint haal je informatie op van een multi-access event.
Eventgroup is de oude benaming van een multi-access event en heet in de feed momenteel nog zo. Via dit endpoint vind je wanneer je info opvraagt van een multi-access event ook EventsID's. Dit zijn de ID's van de losse events die onder het multi-access event hangen. Zo kun je het multi-access event linken met de losse events.
/events/{ID}
Via dit endpoint haal je informatie op van losse events.
Wanneer je event informatie opvraagt via dit endpoint en het event hangt onder een multi-access event, dan vind je in de feed een ID bij het NonPrimaryEventgroupID. Dit is het ID van het multi-access event. Op deze manier kun je de losse events linken met het multi-access event.
Technische uitleg voor je website developer
We set up a Swagger environment in which you can play around with the output of the feed. Go to https://feeds.stager.nl and use the token from your Stager account to log in. There are several endpoints you can use.
Request made to the feed will be send from the backend of your website. The request can not be send directly form the browser of your website visitor, because 1) the token will be shared with the browser of your website visitor and 2) because browsers don't allow (CORS) access to a third party API.
Authentication
Each HTTP request should contain an access key to the feed in the Authorization header, formatted like:
Authorization: Bearer {token}
For example:
Authorization: Bearer bbdeebf34fad12412b0a194cb03cc
NOTE: do not delete the word 'Bearer'. This is part of the authorization token.
In case of a valid key, the feed should return its content with a 200 Ok. Missing authentication should result in a HTTP 401 Unauthorized. This happens for example when you delete the word 'Bearer' or use a wrong token.
The feed renews every minute. So if changes have been made in the Stager backstage, this can take up to a minute before it's visible in Swagger.
Versioning
A versioned request should contain a version identifier in the HTTP Accept header, formatted like:
Accept: application/json;version=1
In case of a missing or invalid version, the feed always returns the most recent version. We will communicate by e-mail to the account holder when a new version is released and when the old version will be deprecated. Older versions will always be supported for at least 6 months after a new version is released.
Pagination
Pagination support should be configurable to the number of entities per page per endpoint (page size). The page number should be a param in the request.
Modified since
Every change in Main, Publicity and Tickets tab per event, triggers a new time stamp for ModifiedSince. If you only want to request the feed when changes have been made, use the ModifiedSince stamp. Whenever something has been changed in the event on one of the above tabs, your website will be updated.