Content

Última actualización: 3 de julio de 2026

La CDA (Content Delivery API) es una API de solo lectura que entrega los recursos publicados a los visitantes públicos. Esta página explica cómo consultar cada Content publicado, es decir, cada dato real creado siguiendo la plantilla que define un Content Type. La CDA entrega la instantánea del momento en que se publicó, por lo que los borradores que aún no se han publicado en el estudio de contenidos no aparecen aquí.

La CDA solo tiene endpoints de consulta (GET); la creación, modificación y publicación de un Content corresponde a CMA Content. Para los comportamientos comunes de la CDA, como la autenticación y el modelo de entrega por publicación (instantánea de publicación, revision, solo se ve lo publicado y la exposición del autor depende de publishWithAuthor), consulta la Introducción a la CDA. La forma de elegir el idioma de recepción con locale se trata más abajo en locale y fields.

Estructura del recurso

A continuación se muestra la forma en que la CDA entrega un único Content publicado de un Space de demostración (el producto "스테인리스 텀블러 500ml") al consultarlo de forma individual con locale=ko-KR. Junto con sys (propiedades del sistema), tiene fields, que contiene los valores de los campos del Content Type que sigue este 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"
  }
}

Claves principales:

  • sys.id: identificador único del Content. Es el valor que va en {contentId} de la ruta de consulta individual.
  • sys.contentType: un Refer que apunta al Content Type (la plantilla) que sigue este Content. sys.id es el identificador de ese Content Type, y qué campos tiene se puede leer en CDA Content Type.
  • sys.revision: la versión del momento en que se hizo público. La CDA no incluye el version de gestión, por lo que el único valor que indica la versión de publicación es revision.
  • fields: un objeto cuyas claves son los apiName de cada campo del Content Type. El valor es un único valor del locale solicitado (no es un mapa de locales). El photo del ejemplo anterior es null porque no tiene ningún Media asociado.

Propiedades del sistema (sys)

El sys de un Content publicado solo contiene las propiedades de la instantánea de publicación. space, contentType, createdBy y updatedBy aparecen con forma de Refer ({ "sys": { "id", "type": "Refer", "targetType" } }).

PropiedadTipoDescripción
idstringIdentificador único del recurso.
typestringTipo de recurso. Para Content siempre es "Content".
spaceRefer<Space>El Space al que pertenece este Content.
contentTypeRefer<ContentType>El Content Type (la plantilla) que sigue este Content.
createdAtstring (date-time)Fecha y hora de creación.
updatedAtstring (date-time)Fecha y hora de la última modificación.
revisionintegerLa versión del momento en que se hizo público. Cada vez que se publica, se incluye aquí la versión de ese momento.
createdByRefer<User>El usuario que lo creó. Solo se incluye cuando el publishWithAuthor del Content Type que sigue este Content está activado.
updatedByRefer<User>El último usuario que lo modificó. Solo se incluye cuando publishWithAuthor está activado.

Como es una instantánea de publicación, no se incluyen version, status, publish ni archive, que sí están en el sys de la CMA. El único valor que indica la versión de publicación es revision.

locale y fields

El parámetro de consulta locale determina en qué idioma se recibe. Funciona de tres maneras.

  • Si das un código como locale=ko-KR, devuelve fields con un único valor de ese locale. A diferencia de la CMA, que devuelve un mapa con todos los valores por locale como fields.productName.ko-KR, la CDA selecciona el valor del único locale solicitado y lo coloca directamente en fields.productName. Si no hay valor y el Fallback tampoco alcanza, ese campo es null (el photo que aparece como null en la Estructura del recurso anterior lo es porque no tiene ningún Media asociado).
  • Si omites locale, devuelve de la misma manera con el Locale predeterminado del Space.
  • Si das locale=*, no selecciona un único idioma, sino que devuelve tal cual el mapa con todos los valores por locale (fields.productName.ko-KR), como la CMA.

Cuando recibes un único idioma mediante un código o por omisión, la respuesta incluye la cabecera x-weegloo-locale, que indica el locale realmente usado (no se incluye cuando locale=*). La selección del valor de locale y las reglas de Fallback se tratan en Multiidioma (concepto).

API

La URL base de los cuatro endpoints siguientes es https://cda.weegloo.com/v1, y requieren un token Bearer en la cabecera Authorization que autentique ante la CDA. Los cuatro endpoints aceptan el parámetro de consulta locale (consulta locale y fields más arriba). Los dos primeros endpoints abarcan todo el Content publicado del Space, y los dos últimos abarcan solo el Content perteneciente a un Content Type concreto.

Cuando filtras u ordenas los dos primeros endpoints (la lista de todo el Content publicado del Space) por fields.*, hay que indicar también el Content Type con sys.contentType.sys.id={contentTypeId}. La forma contentType={contentTypeId} no lo sustituye. Los dos últimos endpoints llevan el Content Type indicado en la ruta, así que no hace falta indicarlo aparte.