CDA (Content Delivery API)

Dernière mise à jour : 3 juillet 2026

La CDA (Content Delivery API) est une API en lecture seule qui distribue aux visiteurs les Content, Media et autres ressources publiés. Lorsque la partie qui exploite un Space crée et publie du contenu depuis le studio de contenu ou via la CMA, les sites web et applications lisent cette version publiée via la CDA pour l'afficher à l'écran. La création, la modification et la publication relèvent de la CMA, et non de la CDA.

L'URL de base est https://cda.weegloo.com/v1. Pour l'authentification, on utilise généralement un DeliveryAccessToken least-privilege. Il s'agit d'un jeton qui ne dispose que de la portée nécessaire afin d'être sûr pour une distribution publique côté navigateur. Un Weegloo User Bearer token permet aussi la lecture, mais ses privilèges sont excessifs pour un déploiement côté navigateur : le DeliveryAccessToken est donc recommandé.

Comportements communs

Les points ci-dessous s'appliquent à l'ensemble des ressources de la CDA. Chaque page de ressource part de ces comportements et ne traite que son contenu propre.

  • Lecture seule. Tous les endpoints sont des requêtes de consultation (GET). L'écriture et la publication relèvent de la CMA.

  • Seul le contenu publié est visible. Pour les Content, Media et Content Type, seul l'instantané publié est distribué. Les Draft de la CMA et les modifications non publiées n'apparaissent pas sur la CDA.

  • sys de l'instantané publié. Le sys de ces trois ressources ne contient pas les champs de gestion version, status ni publish ; il ne contient que revision, qui pointe vers la version au moment de la publication. (Le Locale n'est pas une ressource publiable mais une ressource de configuration : il conserve donc son version.)

  • Sélection de la langue avec locale. Les consultations de Content et Media déterminent, via le paramètre de requête locale, dans quelle langue les recevoir. Trois fonctionnements sont possibles.

    • En fournissant un code comme locale=ko-KR, fields est renvoyé sous la forme d'une seule valeur pour cette locale (et non sous forme de map de locales). Si aucune valeur n'existe et que le Fallback n'aboutit pas non plus, ce champ est vide ou null.
    • En l'omettant, la réponse est renvoyée de la même manière mais dans le Locale par défaut du Space.
    • En fournissant locale=*, aucune langue unique n'est choisie : une map contenant les valeurs de toutes les locales ({ apiName: { locale: value } }) est renvoyée telle quelle.

    Dans les deux premiers cas, où la réponse est reçue dans une seule langue, l'en-tête x-weegloo-locale est inclus pour indiquer la locale réellement utilisée (il n'est pas inclus lorsque locale=*). (Le Content Type est le schéma du modèle : il n'accepte pas locale ; le Sync ne choisit pas de langue et transmet la map de locales telle quelle.)

  • Exposition de l'auteur. Les champs createdBy et updatedBy du Content ne sont transmis que lorsque publishWithAuthor est activé sur son Content Type. Le Media omet toujours les informations sur l'auteur.

Ressources

  • Content Type : consulte les Content Type publiés (le modèle et la définition des champs du contenu).
  • Content : consulte les Content publiés, en liste complète, à l'unité ou par Content Type.
  • Media : consulte les Media publiés (fichiers d'actifs) et leurs URL de distribution.
  • Locale : consulte la configuration des langues prises en charge par le Space (code, statut par défaut, fallbackCode). En tant que ressource de configuration, son sys contient un version.
  • Sync : synchronisation incrémentale qui ne récupère que les éléments modifiés et supprimés depuis la dernière synchronisation. Les valeurs sont transmises telles quelles sous forme de map de locales, sans sélection d'une langue unique.
  • CMA Content Type : l'API de gestion qui permet de créer, modifier et publier le modèle du contenu ainsi que le contenu.
  • ACDA : la version qui effectue la même distribution sous l'identité d'un membre (ServiceUser).