Consensa Developers

Multi-consent

Procesa 1..N consentimientos con decisiones explícitas y commit atómico.

Una misma Embed Session puede resolver uno o varios consentimientos, según la versión publicada de la configuración. Cada tarjeta conserva la regla 1 ConsentBox = 1 ConsentTemplateVersion.

Antes de materializar el runtime, Consensa evalúa compliance por ConsentTemplate estable. Multi presenta únicamente consentimientos pendientes o con nuevos requisitos; los ya satisfechos no se incluyen. Si todos están satisfechos, POST /v1/embed/sessions responde presentation.required=false.

Semántica de decisión

Todo consentimiento incluido en la interacción recibe una decisión explícita: grant o deny.

  • optional no significa omitido ni denegación implícita.
  • required no significa aceptación forzada.
  • El usuario siempre puede denegar.
  • El backend confirma el conjunto de decisiones mediante un commit atómico.

Evento público

Cuando la interacción contiene dos o más consentimientos, el componente emite consensa:completed con resultados sanitizados por templateKey.

consent.addEventListener('consensa:completed', ({ detail }) => {
  // {
  //   interactionReference: "interaction-public",
  //   outcome: "completed",
  //   consents: [
  //     { templateKey: "privacy", decision: "granted" },
  //     { templateKey: "marketing", decision: "denied" }
  //   ]
  // }
  renderNextStep(detail.consents);
});

El payload público no incluye tickets ni credenciales de sesión, sessionId, identificadores personales ni IDs internos. Consulta GET /v1/consent-interactions/{interactionId} desde el backend para confirmar el resultado canónico.

On this page