Documentation de l'API V1

Authentification

Les données des évènements de monbillet.ch sont accessibles par les développeurs via une API HTTP REST. Pour consommer les données de l'API, il est nécessaire d'utiliser un token qui sera envoyé lors de chaque requête dans le header X-Monbillet-Api-Token.

Prévention du XSS

Tous les champs de type String peuvent contenir de l'HTML non filtré. Le contenu de ces champs reste en tout temps sous le contrôle de monbillet.ch et peut en principe être considéré comme sûr. Il appartient cependant à l'implémenteur de se prémunir contre d'éventuelles attaques XSS, par exemple en passant le contenu à une fonction d'échappement, ou en whitelistant les tags autorisés à l'aide d'une librairie telle que DOMPurify (Node) ou HTMLPurifier (PHP).

Ressources

Tous les évènements

Permet d'obtenir les informations de tous les évènements au format JSON.

GET
/api/v1/events

Exemple d'utilisation :

curl -H 'X-Monbillet-Api-Token:<token>' https://monbillet.ch/api/v1/events
Success 200
Champ Type Description
events Event[] Une liste d'évènements

Un seul évènement

Permet d'obtenir des informations plus détaillées sur un évènement au format JSON.

GET
/api/v1/events/:id
Parameter
Champ Type Description
id String L'id ou le nom unique d'un évènement
Success 200
Champ Type Description
event Event Un évènement

Tous les groupes d'évènements

Permet d'obtenir les évènements par groupe au format JSON.

GET
/api/v1/event-groups

Exemple d'utilisation :

curl -H 'X-Monbillet-Api-Token:<token>' https://monbillet.ch/api/v1/event-groups
Success 200
Champ Type Description
event-groups Object[] Une liste de groupes d'évènements
id String L'id d'un groupe d'évènements
uniqueName String Le nom unique d'un groupe d'évènements (correspond à la regex [a-z0-9-]+)
title String Le titre d'un groupe d'évènements
events Event[] Une liste d'évènements

Un seul groupe d'évènements

Permet d'obtenir les évènements appartenant à un groupe au format JSON.

GET
/api/v1/event-groups/:id
Parameter
Champ Type Description
id String L'id ou le nom unique d'un groupe
Success 200
Champ Type Description
event-groups Object Un groupe d'évènements
id String L'id d'un groupe d'évènements
uniqueName String Le nom unique d'un groupe d'évènements (correspond à la regex [a-z0-9-]+)
title String Le titre d'un groupe d'évènements
events Event[] Une liste d'évènements

Objects API

Event

Champ Type Description
id String L'id d'un évènement
uniqueName String Le nom unique d'un évènement (correspond à la regex [a-z0-9-]+)
title String Le titre d'un évènement
preTitle String Le prétitre d'un évènement
isTemporary Bool `True` si l'évènement est annoncé temporairement
canceledMessage String|Null Le message en cas d'annulation ou de report, ou `Null`
location Object Le lieu d'un évènement
uniqueName String L'identifiant du lieu (ex. "vevey-salle-del-castillo", "lausanne-cathedrale")
name String Le nom du lieu (ex.: "Salle del Castillo", "Cathédrale")
displayName String Le nom usuel du lieu (ex.: "Salle del Castillo, Vevey", "Cathédrale de Lausanne")
street String L'adresse du lieu
zipcode Number Le code postal du lieu
city String La ville
posterPreview String L'affiche d'un évènement (540x763 pixels)
bg String L'image d'arrière-plan d'un évènement
colors Object Les couleurs d'un évènement
main String La couleur principale (couleur de fond), au format #rrggbbaa
text String La couleur du texte, au format #rrggbbaa
dateFirstShow Date La date et l'heure de la première représentation
dateLastShow Date La date et l'heure de la dernière représentation
datesHuman String La date formatée des représentations de l'évènement
customDate String La date personnalisée d'un évènement
url String L'URL de la page d'un évènement
Les champs suivants sont disponibles seulement pour GET /api/v1/events/:id
text String Le texte d'un évènement
aside String Les informations complémentaires d'un évènement
duration String La durée d'un évènement
ageRecommendation String L'âge recommandé d'un évènement
isFull Bool `True` si l'évènement est complet
shouldShowBookingButton Bool `True` si le bouton de réservation peut être affiché. Les conditions suivantes doivent être remplies: des représentations sont ouvertes; l'évènement n'est pas gratuit; l'évènement n'est pas complet; l'évènement n'utilise pas une billetterie alternative.
isFreeAccess Bool `True` si l'évènement est en entrée libre
freeAccessDescription String|Null La description de l'entrée libre, ou `Null`
alerts String[] Les alertes de cet évènement (peut être un `Array` vide)
shows Object[] Une liste de représentations
dateHappens Date La date d'une représentation
customDate String La date personnalisée d'une représentation
fullDateHappensHuman String La date formatée d'une représentation
isFull Bool `True` si la représentation est complète
categories Object[] La liste des catégories d'une représentation
title String Le titre de la catégorie
prices Object[] La liste des prix de la catégorie
name String Le nom du tarif (correspond à la regex [a-z0-9-]+)
title String Le titre du tarif
value Number La valeur du tarif en CHF