Skip to content

Les offres

Les offres représentent la présence d'une configuration sur les serveurs de diffusion derrière un point d'accès. C'est suelement une fois l'offre existante que les données sont réellement consultables par des consommateurs.

D'un point de vue modèle, une offering appartient à un datastore.

Création d'une offre

Une offre ne peut etre créée qu'entre une configuration et un point d'accès de même type. Si une offre existe déjà entre ces deux entités, la création est refusée. La création d'une offre est également appelée publication.

La création se fait via l'appel POST /datastore/{id}/configurations/{id}/offerings. Il est possible de préciser des permissions auxquelles ajouter automatiquement cette nouvelle offre.

Une fois l'offre créée, la configuration utilisée passe en statut PUBLISHING. Si tous les agents de publication concernés parviennent à configurer le service de diffusion associé, l'offre passera en statut PUBLISHED. Si un échec survient, elle passera en UNSTABLE.

L'offre peut être désactivée : aucune action de dépublication n'est faite, mais sa consommation sera bloquée (lors du contrôle des accès). On peut également la déclarer comme "open", cela permettra sa consommation même sans permission et accès.

Suppression d'une offre

Une offre en statut PUBLISHED peut être supprimée via l'appel DELETE /datastore/{id}/offerings/{id}. L'entité passe en statut UNPUBLISHING puis est totalement supprimée du référentiel en cas de succès (UNSTABLE sinon). Si elle était la dernière offre utilisant la configuration, cette dernière passe en statut UNPUBLISHED. On parle également de dépublication.

Parcours des offres

Récupérer une liste de offres

L'API GET /datastore/{id}/offerings permet de récupérer l'ensemble des offres (avec pagination) disponibles dans l'entrepôt. Pour cibler plus précisément les offres voulues, plusieurs filtres, qui se cumulent, sont possibles :

  • type=[type de offre] : permet de préciser le type voulu. Tous les types par défaut.
  • endpoint=[identifiant] : identifiant du point d'accès lié aux offres voulues
  • status=[statut de offre] : permet de préciser le statut voulu. Tous les statuts par défaut.

Voir les informations d'une offre

Pour obtenir toutes les informations disponibles sur une offre, on utilise l'API GET /datastore/{id}/offerings/{id}.

Les transitions entre les différents statuts sont détaillées ici