Endpoints Politica de Privacidad
Endpoints para generar, editar y publicar politicas de privacidad conforme al Art. 14 ter de la Ley 21.719.
Todos los endpoints requieren autenticacion JWT. El modulo esta disponible en todos los planes (feature flag: PRIVACY_POLICY).
Generar politica
POST /api/v1/privacy-policy/generateGenera automaticamente una politica de privacidad a partir de los datos del RAT, configuracion del tenant y entidades legales. La politica se crea en estado DRAFT.
Body:
{
"legalEntityId": "ent_xyz789",
"language": "es"
}| Campo | Tipo | Requerido | Descripcion |
|---|---|---|---|
legalEntityId | string | No | Entidad legal especifica (default: entidad principal) |
language | string | No | Idioma de la politica (default: es) |
Respuesta (201):
{
"success": true,
"data": {
"id": "pol_abc123",
"version": 1,
"status": "DRAFT",
"content": {
"responsable": { "title": "Identidad del responsable", "content": "..." },
"finalidades": { "title": "Finalidades del tratamiento", "content": "..." },
"basesLegales": { "title": "Bases legales", "content": "..." }
},
"completeness": {
"filled": 10,
"total": 12,
"percentage": 83
},
"createdAt": "2026-03-09T10:00:00Z"
}
}El campo completeness indica cuantas secciones tienen datos suficientes. Completa los modulos faltantes (RAT, CMP, Mapa de Datos) para alcanzar el 100%.
Obtener politica
GET /api/v1/privacy-policy/:idRetorna el detalle completo de una version de la politica.
curl -X GET https://api.dpolab.com/api/v1/privacy-policy/pol_abc123 \
-H "Authorization: Bearer {token}"Respuesta (200):
{
"success": true,
"data": {
"id": "pol_abc123",
"version": 1,
"status": "DRAFT",
"language": "es",
"content": {},
"customSections": {},
"customTitle": null,
"customIntro": null,
"legalEntityId": "ent_xyz789",
"publishedAt": null,
"publishedBy": null,
"publishNotes": null,
"createdBy": "usr_001",
"updatedBy": "usr_001",
"createdAt": "2026-03-09T10:00:00Z",
"updatedAt": "2026-03-09T10:00:00Z"
}
}Obtener politica actual
GET /api/v1/privacy-policy/currentRetorna la politica publicada mas reciente. Si no hay ninguna publicada, retorna el ultimo borrador.
curl -X GET https://api.dpolab.com/api/v1/privacy-policy/current \
-H "Authorization: Bearer {token}"Listar versiones
GET /api/v1/privacy-policy/versionsRetorna el historial de versiones de la politica (max 50).
curl -X GET https://api.dpolab.com/api/v1/privacy-policy/versions \
-H "Authorization: Bearer {token}"Respuesta (200):
{
"success": true,
"data": [
{
"id": "pol_abc123",
"version": 2,
"status": "PUBLISHED",
"publishedAt": "2026-03-15T14:00:00Z",
"publishedBy": "usr_001",
"publishNotes": "Actualizada con nuevas actividades"
},
{
"id": "pol_abc122",
"version": 1,
"status": "ARCHIVED",
"publishedAt": "2026-02-01T10:00:00Z",
"publishedBy": "usr_001",
"publishNotes": "Version inicial"
}
]
}Actualizar politica
PATCH /api/v1/privacy-policy/:idPermite personalizar el contenido de una politica en estado DRAFT.
Body:
{
"customTitle": "Politica de Privacidad de Ejemplo SpA",
"customIntro": "En Ejemplo SpA nos comprometemos con la proteccion de tus datos personales...",
"customSections": {
"responsable": { "visible": true },
"cookies": { "visible": false }
}
}| Campo | Tipo | Requerido | Descripcion |
|---|---|---|---|
customTitle | string | No | Titulo personalizado (max 500 caracteres) |
customIntro | string | No | Introduccion personalizada (max 5000 caracteres) |
customSections | object | No | Configuracion de visibilidad/contenido por seccion |
Respuesta (200):
{
"success": true
}Solo se pueden editar politicas en estado DRAFT. Para modificar una politica publicada, genera una nueva version.
Publicar politica
POST /api/v1/privacy-policy/:id/publishPublica la politica e inicia automaticamente un flujo de aprobacion (workflow).
Body:
{
"notes": "Version actualizada con nuevas actividades del RAT"
}| Campo | Tipo | Requerido | Descripcion |
|---|---|---|---|
notes | string | No | Notas de publicacion (max 2000 caracteres) |
Respuesta (200):
{
"success": true,
"data": {
"workflowStarted": true,
"workflowInstanceId": "wf_inst_789",
"message": "Politica enviada a aprobacion"
}
}La publicacion siempre pasa por un workflow de aprobacion. En el plan Starter, es una aprobacion simple por DPO/Owner. En Professional+, se usa el workflow configurado por el tenant.
Ver tambien
- Modulo Politica de Privacidad — Guia funcional
- Flujos de Trabajo — Configuracion de workflows de aprobacion