Endpoints Politica de Cookies
Endpoints para generar, editar y publicar politicas de cookies a partir de los avisos del CMP.
Todos los endpoints requieren autenticacion JWT. El modulo esta disponible en todos los planes (feature flag: PRIVACY_POLICY).
Generar politica
POST /api/v1/cookie-policy/generateGenera automaticamente una politica de cookies a partir de los avisos CMP, propositos y configuracion del tenant. Se crea en estado DRAFT.
Roles: Owner, Admin, DPO
Body:
{
"legalEntityId": "ent_xyz789",
"domainId": "dom_abc123"
}| Campo | Tipo | Requerido | Descripcion |
|---|---|---|---|
legalEntityId | string | No | Filtrar por entidad legal |
domainId | string | No | Filtrar por dominio |
Respuesta (201):
{
"success": true,
"data": {
"id": "cpol_abc123",
"version": 1,
"status": "DRAFT",
"sections": [
{
"key": "cookie_intro",
"title": "Qué son las cookies",
"autoContent": "Las cookies son pequeños archivos de texto..."
},
{
"key": "cookie_table",
"title": "Cookies que utilizamos",
"autoContent": "### ejemplo.cl\n...",
"completeness": { "filled": 2, "total": 2 }
},
{
"key": "cookie_manage",
"title": "Cómo gestionar sus preferencias",
"autoContent": "..."
},
{
"key": "cookie_contact",
"title": "Contacto",
"autoContent": "..."
}
],
"createdAt": "2026-03-09T10:00:00Z"
}
}Si no hay avisos CMP configurados, la seccion cookie_table mostrara un mensaje indicando que se debe configurar el CMP primero.
Obtener politica actual
GET /api/v1/cookie-policy/currentRetorna la politica publicada mas reciente. Si no hay ninguna publicada, retorna el ultimo borrador.
Roles: Todos
Query params:
| Param | Tipo | Descripcion |
|---|---|---|
legalEntityId | string | Filtrar por entidad legal |
domainId | string | Filtrar por dominio |
curl -X GET "https://api.dpolab.com/api/v1/cookie-policy/current?domainId=dom_abc" \
-H "Authorization: Bearer {token}"Respuesta (200):
{
"success": true,
"data": {
"id": "cpol_abc123",
"version": 2,
"status": "PUBLISHED",
"language": "es",
"sections": [],
"customSections": {},
"customIntro": null,
"legalEntityId": "ent_xyz789",
"domainId": "dom_abc123",
"publishedAt": "2026-03-15T14:00:00Z",
"publishedBy": "usr_001",
"createdAt": "2026-03-09T10:00:00Z",
"updatedAt": "2026-03-15T14:00:00Z"
}
}Listar versiones
GET /api/v1/cookie-policy/versionsRetorna el historial de versiones (max 50), con nombre de entidad legal y dominio.
Roles: Todos
Query params:
| Param | Tipo | Descripcion |
|---|---|---|
legalEntityId | string | Filtrar por entidad legal |
domainId | string | Filtrar por dominio |
curl -X GET "https://api.dpolab.com/api/v1/cookie-policy/versions" \
-H "Authorization: Bearer {token}"Respuesta (200):
{
"success": true,
"data": [
{
"id": "cpol_abc123",
"version": 2,
"status": "PUBLISHED",
"legalEntityId": "ent_xyz789",
"legalEntityName": "Ejemplo SpA",
"domainId": "dom_abc",
"domainName": "ejemplo.cl",
"publishedAt": "2026-03-15T14:00:00Z",
"createdAt": "2026-03-10T10:00:00Z",
"updatedAt": "2026-03-15T14:00:00Z"
}
]
}Verificar cobertura
GET /api/v1/cookie-policy/check-coverageVerifica si existe una politica de cookies publicada que cubra una combinacion de entidad legal y dominio. Busca la politica mas especifica disponible.
Roles: Todos
Query params:
| Param | Tipo | Descripcion |
|---|---|---|
legalEntityId | string | Entidad legal a verificar |
domainId | string | Dominio a verificar |
curl -X GET "https://api.dpolab.com/api/v1/cookie-policy/check-coverage?domainId=dom_abc" \
-H "Authorization: Bearer {token}"Respuesta (200) — Cubierto:
{
"success": true,
"data": {
"covered": true,
"coveringPolicy": {
"id": "cpol_abc123",
"version": 2,
"entityName": "Ejemplo SpA",
"domainName": "ejemplo.cl"
}
}
}Respuesta (200) — No cubierto:
{
"success": true,
"data": {
"covered": false,
"coveringPolicy": null
}
}Obtener politica por ID
GET /api/v1/cookie-policy/:idRetorna el detalle completo de una version especifica.
Roles: Todos
curl -X GET https://api.dpolab.com/api/v1/cookie-policy/cpol_abc123 \
-H "Authorization: Bearer {token}"Actualizar politica
PUT /api/v1/cookie-policy/:idPermite personalizar el contenido de una politica en estado DRAFT.
Roles: Owner, Admin, DPO
Body:
{
"customIntro": "En Ejemplo SpA utilizamos cookies para mejorar tu experiencia...",
"customSections": {
"cookie_intro": {
"enabled": true,
"customContent": "Texto personalizado para la seccion...",
"order": 1
},
"cookie_manage": {
"enabled": false
}
}
}| Campo | Tipo | Requerido | Descripcion |
|---|---|---|---|
customIntro | string | No | Introduccion personalizada (max 5000 chars) |
customSections | object | No | Configuracion por seccion: enabled, customContent (max 10000 chars), order |
Respuesta (200):
{
"success": true,
"data": { "id": "cpol_abc123" }
}Solo se pueden editar politicas en estado DRAFT. Para modificar una politica publicada, genera una nueva version.
Eliminar politica
DELETE /api/v1/cookie-policy/:idElimina permanentemente una politica en estado DRAFT.
Roles: Owner, Admin, DPO
curl -X DELETE https://api.dpolab.com/api/v1/cookie-policy/cpol_abc123 \
-H "Authorization: Bearer {token}"Respuesta (200):
{
"success": true
}Solo se pueden eliminar politicas en estado DRAFT. Las politicas publicadas o archivadas no se pueden eliminar.
Publicar politica
POST /api/v1/cookie-policy/:id/publishPublica la politica. Las politicas publicadas anteriormente en el mismo scope (entidad + dominio) se archivan automaticamente.
Roles: Owner, Admin, DPO
curl -X POST https://api.dpolab.com/api/v1/cookie-policy/cpol_abc123/publish \
-H "Authorization: Bearer {token}"Respuesta (200):
{
"success": true,
"data": {
"id": "cpol_abc123",
"status": "PUBLISHED"
}
}Codigos de error
| Codigo | HTTP | Descripcion |
|---|---|---|
VALIDATION_ERROR | 400 | Error en los datos enviados |
NOT_DRAFT | 400 | La politica no esta en estado borrador |
NOT_DELETABLE | 400 | Solo se pueden eliminar borradores |
NOT_FOUND | 404 | Politica no encontrada |
FEATURE_DISABLED | 403 | Modulo no disponible en el plan actual |
Ver tambien
- Modulo Politica de Cookies — Guia funcional
- CMP — Consentimiento — Configuracion de avisos de cookies
- Politica de Privacidad — Endpoints de la politica de privacidad