Ir al contenido

Consent management

El módulo de gestión de consentimientos añade el versionado de consentimientos, un registro de auditoría, la exportación de datos y la integración con el RGPD. Registra el historial de consentimientos de los clientes y responde a los cambios en el contenido de los términos y condiciones.

El plugin supervisa el contenido de las etiquetas de las casillas legales. Cada vez que se guardan los ajustes, calcula un hash (SHA-256) del contenido de la etiqueta. Si el hash ha cambiado, el plugin crea automáticamente una nueva versión del consentimiento.

Cada versión de un consentimiento contiene:

  • número de versión (autoincremental)
  • hash del contenido de la etiqueta
  • contenido completo de la etiqueta
  • fecha de creación de la versión
  • ID del usuario que realizó el cambio

En los ajustes de las casillas legales, hay disponible un botón Historial de versiones junto a cada casilla. Muestra una lista de todas las versiones con fechas y una vista previa del contenido.

Cuando el contenido de un consentimiento cambia (nueva versión), el plugin puede exigir a los clientes que otorguen de nuevo su consentimiento. Configuración:

Ajuste Descripción
Exigir nuevo consentimiento Activa un aviso para volver a otorgar el consentimiento tras un cambio de contenido
Mostrar aviso En la página de pago / En el panel Mi cuenta / Ambos
Contenido del mensaje Texto que informa al cliente sobre el cambio de los términos

El cliente ve un mensaje sobre el cambio de contenido y debe marcar de nuevo la casilla. El consentimiento anterior permanece en el historial con una etiqueta de versión.

El plugin registra todas las operaciones relacionadas con los consentimientos:

Evento Datos
Consentimiento otorgado ID de usuario, ID de consentimiento, versión, fecha, IP, user agent
Consentimiento revocado ID de usuario, ID de consentimiento, fecha, origen (cliente/admin)
Contenido del consentimiento cambiado ID de consentimiento, versión anterior, versión nueva, fecha, ID del admin
Aviso de nuevo consentimiento ID de usuario, ID de consentimiento, fecha
Nuevo consentimiento otorgado ID de usuario, ID de consentimiento, versión nueva, fecha

No hay ninguna pantalla de registro de auditoría en el escritorio de WordPress. El plugin PRO expone el registro solo por REST, y todas las rutas exigen la capacidad manage_woocommerce:

GET /wp-json/polski-pro/v1/consents?user_id=123
GET /wp-json/polski-pro/v1/consents?session_id=abc
GET /wp-json/polski-pro/v1/consents/versions

user_id o session_id es obligatorio. No hay listado sin filtro, ni filtro por tipo de evento, ni por rango de fechas.

El plugin gratuito sí tiene una pantalla con las decisiones del aviso de cookies: Polski > Informes y herramientas > Registro de consentimientos.

La exportación se hace por REST y devuelve JSON:

GET /wp-json/polski-pro/v1/consents/export?user_id=123

Una llamada por usuario. Añada &format=csv para descargar un CSV, desde PRO 1.26.3.

En el panel Mi cuenta del cliente aparece una sección “Mis consentimientos” con una lista de los consentimientos otorgados. El cliente puede:

  • consultar los consentimientos otorgados actualmente
  • ver la fecha en que se otorgó cada consentimiento
  • revocar un consentimiento con el botón “Revocar”

La revocación de un consentimiento queda registrada en el registro de auditoría. El administrador recibe una notificación por correo electrónico sobre la revocación (configurable).

Si el contenido de un consentimiento ha cambiado, el cliente ve en el panel Mi cuenta un mensaje que le pide que revise la nueva versión y otorgue de nuevo su consentimiento.

El plugin se integra con el mecanismo de exportación de datos personales de WordPress (wp_privacy_personal_data_exporters). Cuando se solicita una exportación de datos de un cliente, el plugin incluye:

  • lista de los consentimientos otorgados con fechas y versiones
  • historial completo de cambios de los consentimientos (otorgamientos, revocaciones, nuevos consentimientos)
  • direcciones IP y fechas asociadas a cada consentimiento
/**
* Rejestracja eksportera danych osobowych.
*/
add_filter('wp_privacy_personal_data_exporters', function (array $exporters): array {
$exporters['polski-pro-consents'] = [
'exporter_friendly_name' => 'Polski PRO - Zgody',
'callback' => [PolskiPro\Privacy\Exporter::class, 'export'],
];
return $exporters;
});

El plugin se integra con el mecanismo de borrado de datos de WordPress (wp_privacy_personal_data_erasers). Cuando se solicita una eliminación de datos:

  • los datos personales del registro de auditoría se anonimizan (IP, user agent)
  • las entradas de consentimiento se marcan como eliminadas
  • el hecho mismo de otorgar/revocar el consentimiento permanece (sin datos identificativos) a efectos de responsabilidad proactiva
/**
* Rejestracja erasera danych osobowych.
*/
add_filter('wp_privacy_personal_data_erasers', function (array $erasers): array {
$erasers['polski-pro-consents'] = [
'eraser_friendly_name' => 'Polski PRO - Zgody',
'callback' => [PolskiPro\Privacy\Eraser::class, 'erase'],
];
return $erasers;
});

Tres rutas de solo lectura, todas con la capacidad manage_woocommerce.

GET /wp-json/polski-pro/v1/consents?user_id={id}
GET /wp-json/polski-pro/v1/consents?session_id={id}

Hace falta uno de los dos; sin ninguno la ruta responde 400 con “Provide user_id or session_id.”. Una consulta por usuario devuelve los 200 registros más recientes, una por sesión devuelve los registros de esa sesión. No hay filtro por tipo de evento ni por fecha, ni paginación.

GET /wp-json/polski-pro/v1/consents/export?user_id={id}
GET /wp-json/polski-pro/v1/consents/export?user_id={id}&format=csv

user_id es obligatorio. Devuelve hasta 1000 registros. Por omisión JSON, envuelto en user_id, exported_at y records_count. Con format=csv se obtiene una descarga text/csv con las columnas checkbox_id, context, consented, ip_address, created_at, donde consented vale yes o no. Cualquier otro valor vuelve a JSON.

Antes de PRO 1.26.3 el argumento format estaba declarado y se ignoraba, así que una petición de CSV recibía JSON sin ningún error.

GET /wp-json/polski-pro/v1/consents/versions

Devuelve el mapa de versiones guardado. No acepta argumentos.

No existe una ruta /consents/audit, y ninguna ruta acepta consent_id, event_type, date_from, date_to ni per_page.

El módulo de consentimientos no registra acciones ni filtros propios. Lea el registro con las rutas de arriba o directamente con ConsentLog. Para solicitudes del RGPD el módulo registra un exportador y un borrador de datos personales de WordPress, que es la vía admitida para llegar a estos datos desde fuera del plugin.

El aviso de nuevo consentimiento no se muestra

Sección titulada «El aviso de nuevo consentimiento no se muestra»
  1. Compruebe si la opción “Exigir nuevo consentimiento” está activada
  2. Verifique que el contenido del consentimiento haya cambiado realmente (consulte el historial de versiones)
  3. Vacíe la caché de la página de pago y del panel Mi cuenta

La exportación RGPD no contiene datos de consentimientos

Sección titulada «La exportación RGPD no contiene datos de consentimientos»
  1. Asegúrese de que el módulo de gestión de consentimientos esté activo
  2. Compruebe si el exportador polski-pro-consents está registrado en Herramientas > Exportar datos personales
  3. Verifique los registros en busca de errores de PHP

El registro de auditoría crece demasiado rápido

Sección titulada «El registro de auditoría crece demasiado rápido»

El plugin almacena el historial de consentimientos en una tabla de base de datos independiente. Con un gran número de clientes, la tabla puede crecer. Considere:

  • exportar y archivar periódicamente las entradas más antiguas
  • configurar la limpieza automática de las entradas más antiguas que un número determinado de meses (opción en los ajustes)
Esta página tiene únicamente carácter informativo y no constituye asesoramiento legal. Consulte a un abogado antes de la implementación. Polski for WooCommerce es software de código abierto (GPLv2) que se proporciona sin garantía.