Saltearse al contenido

Crear Contenido

Crea una nueva entrada de contenido para un modelo dado.

Este endpoint es útil para crear contenido desde scripts, migraciones, integraciones o pipelines de CI/CD.

Endpoint

shell
curl -X POST https://api.contentisland.net/api/1.0/content \
--header 'Authorization: Bearer TU_WRITE_TOKEN' \
--header 'Content-Type: application/json' \
--data '{ ... }'

Body

El endpoint espera un body JSON con la siguiente estructura:

interface CreateContentPayload {
contentType: string; // nombre del modelo (por ejemplo "post")
name: string; // nombre del nuevo contenido
content: CreateContentLanguageEntry[];
}
interface CreateContentLanguageEntry {
language?: LanguageCode; // opcional — por defecto, el primer idioma del proyecto
fields: CreateContentField[];
}
interface CreateContentField {
name: string; // nombre del campo tal y como está definido en el modelo
value: any; // valor del campo (el tipo depende del campo)
}
NombreDescripción
contentTypeEl nombre del modelo al que pertenece el nuevo contenido. Debe coincidir con un modelo existente del proyecto.
nameNombre legible para humanos de la nueva entrada de contenido, mostrado en el dashboard.
contentArray de entradas por idioma. Cada entrada contiene los fields que se van a poblar para ese language. Si se omite language, se aplica el idioma por defecto del proyecto.

Ejemplo

shell
curl -X POST https://api.contentisland.net/api/1.0/content \
--header 'Authorization: Bearer TU_WRITE_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"contentType": "post",
"name": "Mi primer post",
"content": [
{
"language": "es",
"fields": [
{ "name": "title", "value": "Hola mundo" },
{ "name": "body", "value": "Esto se creó a través de la API REST." },
{ "name": "order", "value": 1 }
]
}
]
}'

Respuesta

En caso de éxito, el endpoint devuelve 201 Created con el ID del nuevo contenido:

interface CreateContentResponse {
id: string;
}
{
"id": "660f5b8a3a1c2d4e7f8b9012"
}

Códigos de estado

CódigoDescripción
201El contenido se creó correctamente. El cuerpo de la respuesta contiene el id del nuevo contenido.
400Payload inválido. La respuesta incluye un mensaje error y, cuando aplica, un mapa fieldErrors con el detalle de cada problema.
401No autorizado. El token está ausente, malformado o ha expirado.
403Prohibido. El token no tiene permisos de escritura — usa un Write Token.
404El contentType proporcionado no coincide con ningún modelo del proyecto.
500Error interno del servidor. Se produjo un error al procesar la solicitud.