Content

Dernière mise à jour : 3 juillet 2026

La CDA (Content Delivery API) est une API en lecture seule qui distribue les ressources publiées aux visiteurs publics. Cette page traite de la façon de récupérer un Content publié, c'est-à-dire chaque donnée réelle créée selon le modèle qu'est un Content Type. La CDA distribue l'instantané au moment de la publication, donc les versions de travail que vous n'avez pas encore publiées depuis le studio de contenu n'apparaissent pas ici.

La CDA ne propose que des endpoints de lecture (GET) ; la création, la modification et la publication d'un Content relèvent de CMA Content. Pour les comportements communs de la CDA, comme l'authentification et le modèle de distribution de la publication (instantané de publication, revision, seul ce qui est publié est visible, l'exposition de l'auteur dépend de publishWithAuthor), consultez l'aperçu de la CDA. La façon de choisir la langue reçue avec locale est traitée plus bas dans locale et fields.

Structure de la ressource

Voici la forme qu'un Content publié d'un Space de démonstration (le produit « 스테인리스 텀블러 500ml ») prend lorsque la CDA le distribue via une requête unitaire avec locale=ko-KR. Avec sys (propriétés système), il possède fields, qui contient les valeurs des champs du Content Type que suit ce Content.

{
  "sys": {
    "id": "3trmXRM3RqbgSnifyg7OGhwhlqvAvq",
    "type": "Content",
    "space": { "sys": { "id": "HnQ32YiH", "type": "Refer", "targetType": "Space" } },
    "contentType": { "sys": { "id": "3trmXRLdJF4GBlAjtcuoZ7Pnxj8dlA", "type": "Refer", "targetType": "ContentType" } },
    "createdAt": "2026-06-15T15:16:12.151Z",
    "updatedAt": "2026-06-16T14:31:20.073Z",
    "revision": 3
  },
  "fields": {
    "price": 18000,
    "description": "이중 진공 단열로 보온·보냉이 오래갑니다. 500ml 대용량.",
    "photo": null,
    "productName": "스테인리스 텀블러 500ml"
  }
}

Clés principales :

  • sys.id : identifiant unique du Content. Il s'insère dans le {contentId} du chemin de requête unitaire.
  • sys.contentType : Refer qui pointe vers le Content Type (le modèle) que suit ce Content. Le sys.id est l'identifiant de ce Content Type, et les champs qu'il possède se lisent dans CDA Content Type.
  • sys.revision : version au moment de la mise en ligne. La CDA ne contient pas le version de gestion, donc revision est la seule valeur qui désigne la version publiée.
  • fields : objet ayant pour clés l'apiName de chaque champ du Content Type. La valeur est l'unique valeur du locale demandé (ce n'est pas une map de locales). Dans l'exemple ci-dessus, photo vaut null car aucun Media n'y est lié.

Propriétés système (sys)

Le sys d'un Content publié ne contient que les propriétés de l'instantané de publication. space, contentType, createdBy et updatedBy se présentent sous la forme Refer ({ "sys": { "id", "type": "Refer", "targetType" } }).

PropriétéTypeDescription
idstringIdentifiant unique de la ressource.
typestringType de ressource. Pour un Content, toujours "Content".
spaceRefer<Space>Space auquel appartient ce Content.
contentTypeRefer<ContentType>Content Type (le modèle) que suit ce Content.
createdAtstring (date-time)Date de création.
updatedAtstring (date-time)Date de la dernière modification.
revisionintegerVersion au moment de la mise en ligne. À chaque publication, la version de ce moment-là y est consignée.
createdByRefer<User>Utilisateur qui a créé la ressource. Inclus uniquement lorsque le publishWithAuthor du Content Type que suit ce Content est activé.
updatedByRefer<User>Utilisateur qui a modifié la ressource en dernier. Inclus uniquement lorsque publishWithAuthor est activé.

Comme il s'agit d'un instantané de publication, les version, status, publish et archive présents dans le sys de la CMA n'y figurent pas. revision est la seule valeur qui désigne la version publiée.

locale et fields

Le paramètre de requête locale détermine dans quelle langue la réponse est reçue. Il fonctionne de trois façons.

  • Si vous donnez un code comme locale=ko-KR, fields est renvoyé avec l'unique valeur de cette locale. Contrairement à la CMA, qui renvoie une map contenant toutes les valeurs par locale comme fields.productName.ko-KR, la CDA choisit la valeur de l'unique locale demandée et la place directement dans fields.productName. Si la valeur est absente et que le Fallback n'aboutit pas non plus, ce champ vaut null (dans la structure de la ressource ci-dessus, photo vaut null parce qu'aucun Media n'y est lié).
  • Si vous omettez locale, la réponse est renvoyée de la même manière avec la Locale par défaut du Space.
  • Si vous donnez locale=*, aucune langue n'est choisie ; comme la CMA, la map contenant toutes les valeurs par locale (fields.productName.ko-KR) est renvoyée telle quelle.

Lorsque vous recevez une seule langue par un code ou par omission, l'en-tête x-weegloo-locale qui indique la locale réellement utilisée dans la réponse est inclus (il ne l'est pas lorsque locale=*). La sélection de valeur par locale et les règles de Fallback sont traitées dans Multilingue (concept).

API

L'URL de base des quatre endpoints ci-dessous est https://cda.weegloo.com/v1, et un jeton Bearer qui authentifie auprès de la CDA est requis dans l'en-tête Authorization. Les quatre endpoints acceptent le paramètre de requête locale (voir locale et fields ci-dessus). Les deux premiers endpoints portent sur l'ensemble des Content publiés du Space, et les deux derniers ne portent que sur les Content appartenant à un Content Type donné.

Lorsque vous filtrez ou triez les deux premiers endpoints (la liste plate de l'ensemble des Content du Space) par fields.*, vous devez aussi indiquer le Content Type avec sys.contentType.sys.id={contentTypeId}. La forme contentType={contentTypeId} ne peut pas s'y substituer. Les deux derniers endpoints portent le Content Type dans le chemin, il n'est donc pas nécessaire de l'indiquer séparément.