Lista de contenidos
Obtiene una lista de contenidos de un proyecto.
Este endpoint
es útil para obtener todos los contenidos o se puede filtrar por un modelo específico.
Por ejemplo, si tienes un modelo llamado post
, puedes usar un query param
para obtener todos los contenidos de ese modelo.
Endpoint
curl https://api.contentisland.net/api/1.0/contents \--header 'Authorization: Bearer TU_TOKEN_DE_ACCESO'
Query Params
Este endpoint acepta los siguientes query params
:
interface QueryParams { id?: Filter; contentType?: Filter; language?: Filter;}
nombre | descripción |
---|---|
id | El campo id del contenido a recuperar. Este filtro es útil cuando se quiere recuperar una lista de contenidos pero se conoce los ids de éstos.Por ejemplo: /contents?id[in]=1,2,3 |
contentType | El modelo del contenido que queremos recuperar. Por ejemplo: /contents?contentType=post |
language | El idioma del contenido que queremos recuperar. Cuando aplicamos este filtro, solamente devolverá los campos del modelo en el idioma seleccionado y descartará los demás. Por ejemplo: /contents?language=es |
type Filter = | string | { in?: string[]; // A futuro se añadirán más filtros };
nombre | descripción |
---|---|
string | Filtra el contentido donde el parámetro es igual a este valor.Por ejemplo: /contents?contentType=post Recupera una lista de contenidos cuyo modelo es igual a post |
in | Filtra el contenido donde el parámetro contiene alguno de estos valores.Por ejemplo: /contents?language[in]=es,en Recupera una lista de contenidos filtrando los campos que coincidan con es y/o en |
Ejemplo:
// Recupera una lista de contenidos filtrando por el modelo y el idiomacurl https://api.contentisland.net/api/1.0/contents?contentType=post&language[in]=es,en \--header 'Authorization: Bearer TU_TOKEN_DE_ACCESO'
Respuesta
La respuesta es un array
de objetos JSON que contienen información sobre los contenidos. Cada objeto tiene la siguiente estructura:
export interface Content { id: string; contentType: { id: string; name: string }; lastUpdate: Date; fields: Field[];}
export interface Field { id: string; name: string; value: any; type: FieldType; isArray: boolean; language: string;}
id
: El ID del contenido.contentType
: El modelo al que pertenece el contenido. Contiene unid
y unname
.lastUpdate
: La fecha de la última actualización del contenido.fields
: Un array de objetos que representan los campos del contenido.
Ejemplo:
[ { "id": "1", "contentType": { "id": "100", "name": "post" }, "lastUpdate": "2023-10-01T12:00:00Z", "fields": [ { "id": "111", "name": "title", "value": "Hola Mundo", "type": "short-text", "isArray": false, "language": "es" }, { "id": "222", "name": "body", "value": "Este es el cuerpo del post en markdown.", "type": "long-text", "isArray": false, "language": "es" }, { "id": "333", "name": "order", "value": 1, "type": "number", "isArray": false, "language": "es" } ] }]
Códigos de estado
Código | Descripción |
---|---|
200 | La solicitud se ha procesado correctamente y se ha devuelto la información del proyecto. |
401 | No autorizado. El token de acceso no es válido o ha expirado. |
500 | Error interno del servidor. Ocurrió un error al procesar la solicitud. |