Afficher vos événements sur votre propre site web (flux d’événements)
Vous pouvez activer certains événements dans un flux JSON public et sans clé, et alimenter ainsi le calendrier de votre propre site web depuis Univents — avec le prix de départ et l’indication « Épuisé ».
Vous souhaitez aussi afficher vos événements sur votre propre site web — avec votre propre design, et non sous la forme d’une page Univents intégrée ? Vous pouvez pour cela activer certains événements. Univents les diffuse alors via un flux public en lecture seule, que votre site web (ou celui de votre agence) peut récupérer et afficher lui-même.
Afficher un événement sur le site web
L’activation se fait directement sur l’événement, et non à un endroit centralisé :
- Ouvrez l’événement souhaité.
- Dans l’en-tête de la vue détaillée, cliquez sur l’interrupteur Afficher sur le site web.
- Univents enregistre la modification immédiatement et la confirme par un bref message.
Lorsque l’interrupteur est activé, l’événement apparaît dans le flux en quelques minutes. Si vous le désactivez ou si vous supprimez l’événement, il disparaît tout aussi automatiquement du flux. L’interrupteur agit uniquement sur cet événement : il n’existe pas d’activation groupée pour tous les événements à la fois.
Contenu du flux
Le flux ne fournit que des informations destinées à un affichage public dans un calendrier : titre, description, heure de début et de fin, indication précisant si la date est déjà définitive, lieu de l’événement, image de couverture, tags, un lien vers la billetterie (si l’événement a une page de billetterie publiée – en brouillon, le lien de billetterie et le prix sont absents), ainsi que le prix de billet le moins élevé encore disponible et une indication « Épuisé ». Les informations internes telles que le budget, le nombre d’invités, les notes, les coordonnées, le statut ou les données financières ne figurent jamais dans le flux, que l’événement soit public ou non. Les contingents, les noms de catégories et les chiffres de vente restent eux aussi en interne : seuls le prix et l’information « Épuisé : oui/non » sont transmis à l’extérieur.
Prix de départ et Épuisé
Si vous vendez des billets via Univents, le flux fournit deux informations supplémentaires, à partir desquelles votre site web peut afficher un « à partir de 25 € » et un « Épuisé » :
price_from— le prix de billet le moins élevé qu’un visiteur peut encore acheter à l’instant T, sous forme de montant TTC (c’est-à-dire ce qui figure sur la catégorie dans la billetterie). Si votre catégorie la moins chère est épuisée, la catégorie immédiatement plus chère prend automatiquement le relais. Ainsi, le site web ne promet jamais un prix qui n’existe plus dans la boutique.price_from_currency— la devise de votre Workspace sous forme de code, par ex.EURouCHF.tickets_sold_out—truedès qu’aucune catégorie de billets n’est plus disponible à l’achat. Tant qu’une catégorie dispose encore de billets, la valeur restefalse, même si certaines catégories sont déjà complètes.
Si tout est épuisé, price_from est vide (null) : un prix « à partir de » à côté de « Épuisé » inciterait à un achat impossible. Un événement sans vente de billets renvoie price_from: null et tickets_sold_out: false : il ne vend rien, il ne peut donc pas être épuisé.
Si vous annulez un billet, la place est immédiatement libérée : la catégorie redevient disponible à l’achat et réapparaît dans le prix « à partir de ». Comme le flux est brièvement mis en cache, un événement qui vient de passer à Épuisé peut encore apparaître comme disponible sur votre site web pendant quelques minutes.
Image et description : celles de l’événement, pas celles de la page de billetterie
Pour le calendrier du site web, ce sont l’image et la description de l’événement lui-même qui comptent, c’est-à-dire ce que vous renseignez dans l’événement sous Présentation. L’image et la description d’une page de réservation ou de billetterie appartiennent à cette page et ne sont pas reprises automatiquement dans le calendrier du site web. C’est voulu : de nombreux établissements affichent volontairement un visuel différent dans la billetterie et dans le calendrier de leur propre site web.
Si vous souhaitez que les deux soient identiques, il faut le demander une fois :
- Ouvrez la page de réservation ou de billetterie, puis la section Détails.
- Sous l’image et la description, vous trouverez l’indication ainsi que le bouton Appliquer aussi au calendrier du site web.
- Confirmez la demande de validation. L’image et la description de la page sont alors transférées dans l’événement lié ; les informations qui y figuraient jusque-là sont écrasées.
Le bouton n’apparaît que si la page est liée à un événement (c’est toujours le cas pour les pages de billetterie). C’est la dernière version enregistrée de la page qui est reprise, et les champs vides sur la page restent inchangés sur l’événement : une page vide ne supprime donc jamais une image. Il peut s’écouler quelques minutes avant que la modification n’arrive dans le calendrier du site web, car le flux est brièvement mis en cache.
La taille d’affichage de l’image est définie par votre site web : Univents fournit l’image dans sa taille d’origine.
Récupérer le flux
Le flux est public et accessible sans connexion ni clé API : un site web ou un outil externe peut le charger directement via fetch :
GET https://univents.app/api/public/dein-workspace/events
GET https://univents.app/api/public/dein-workspace/events/{eventId}
dein-workspace est le slug de votre Workspace, que vous trouvez aussi dans la barre d’adresse de votre navigateur après /home/. Les paramètres from et to permettent de restreindre la période, et limit le nombre de résultats (50 par défaut, 100 au maximum). limit est réparti en trois paliers — 25, 50 ou 100 — afin que le cache se contente de peu de réponses : une valeur demandée est toujours arrondie au palier supérieur, par ex. ?limit=10 renvoie 25 entrées, tout comme ?limit=25, et toute valeur supérieure à 100 est plafonnée à 100. Sans indication, le flux renvoie tous les événements activés à partir d’aujourd’hui.
Voici un exemple de réponse :
{
"workspace": "dein-workspace",
"count": 2,
"events": [
{
"id": "…",
"title": "Sommerkonzert",
"description": "…",
"start": "2026-08-20T18:00:00Z",
"end": "2026-08-20T23:00:00Z",
"date_is_confirmed": true,
"venue": "Großer Saal",
"image_url": "https://…",
"tags": ["Konzert"],
"ticket_url": "https://univents.app/book/dein-workspace/deine-seite",
"price_from": 25,
"price_from_currency": "EUR",
"tickets_sold_out": false,
"updated_at": "2026-08-05T09:00:00Z"
}
]
}
Pour les développeurs et les agences
Le flux est volontairement conçu pour s’intégrer directement dans un site web existant, sans avoir à gérer d’identifiants :
- Pas d’authentification, pas de clé API — la route est accessible publiquement, mais ne renvoie que les événements du Workspace concerné pour lesquels l’interrupteur est activé.
- CORS est ouvert : un appel via
fetchfonctionne directement depuis le navigateur de n’importe quel site web. - Mis en cache — les réponses peuvent être mises en cache brièvement (quelques minutes) afin que les appels fréquents restent rapides. Un événement tout juste activé n’apparaît donc pas immédiatement, mais en quelques minutes.
- Limitation de débit — en cas d’appels très nombreux en peu de temps depuis la même source, la route répond par une erreur plutôt que par des données vides ; cela n’a pas d’incidence pour une utilisation normale d’un site web.
- Un slug de Workspace inconnu renvoie une erreur, et non une liste vide — vous voyez ainsi immédiatement si le slug est incorrect.
Questions fréquentes
Le flux affiche-t-il aussi les lieux qui sont seulement occupés, mais pas rendus publics ? Non. Le flux n’affiche que les événements pour lesquels vous avez activé l’interrupteur Afficher sur le site web — jamais le taux d’occupation général de vos lieux.
Le flux contient-il des prix ? Oui, un seul : le prix de billet le moins élevé encore disponible (price_from, TTC) ainsi que la devise. La liste complète des prix reste uniquement disponible sur la page de réservation vers laquelle pointe ticket_url.
Pourquoi mon site web affiche-t-il un prix plus élevé qu’hier ? Parce que la catégorie la moins chère est entre-temps épuisée. Le flux indique toujours le prix le plus bas auquel on peut encore acheter, et non le prix le plus bas qui ait jamais existé.
Pourquoi mon événement sans billets n’affiche-t-il pas « Épuisé » ? Parce qu’il ne vend pas de billets. tickets_sold_out n’est true que s’il existe une vente de billets et qu’il n’y reste plus rien à acheter.
Dois-je activer chaque événement individuellement ? Oui, il n’existe actuellement pas d’activation groupée. L’interrupteur se trouve volontairement sur chaque événement, afin que vous gardiez un contrôle total sur ce qui est visible publiquement.
La fonctionnalité est-elle liée à une offre précise ? Le flux n’affiche que ce que vous activez vous-même : il n’y a aucune condition supplémentaire au-delà de l’autorisation d’événement habituelle.
L’appel du flux me coûte-t-il quelque chose ? Non, le flux est un simple accès en lecture à des données que vous avez déjà activées — aucun coût distinct n’est facturé.