Saltar al contenido principal

Verificar el consentimiento en el servidor

Use esto cuando necesite confirmar el consentimiento antes de operaciones del lado del servidor como envíos de correo electrónico, exportaciones de datos o pipelines de analítica.

Cuándo verificar en el servidor

  • Agregar un usuario a una lista de correo electrónico de marketing
  • Almacenar datos de comportamiento en su almacén de datos
  • Pasar datos a una API de terceros (CRM, plataforma publicitaria)
  • Renderizado del lado del servidor de contenido personalizado

Paso 1: Obtenga su token de API

Cuenta → Claves de API → Crear clave con alcance receipts:read.

Paso 2: Construya el identificador de usuario

El identificador debe coincidir con lo que usa ConsentForge en el navegador. El runtime hashea: {ip}|{userAgent}|{propertyId}|{date} usando SHA-256.

const crypto = require('crypto');

function buildUserId(ip, userAgent, propertyId) {
const date = new Date().toISOString().split('T')[0]; // YYYY-MM-DD
const raw = `${ip}|${userAgent}|${propertyId}|${date}`;
return crypto.createHash('sha256').update(raw).digest('hex');
}

Paso 3: Verifique el consentimiento

async function hasConsent(ip, userAgent, propertyId, category) {
const userId = buildUserId(ip, userAgent, propertyId);

const res = await fetch(
`https://api.consentforge.com/api/v1/consent/check?property_id=${propertyId}&user_id=${userId}&category=${category}`,
{ headers: { Authorization: `Bearer ${process.env.CONSENTFORGE_API_KEY}` } }
);

if (!res.ok) return false;
const { has_consent } = await res.json();
return has_consent;
}

// Uso:
const canEmail = await hasConsent(req.ip, req.headers['user-agent'], 'prop_abc', 'marketing');
if (canEmail) {
await addToEmailList(user.email);
}

Caché

Almacene en caché los resultados de las verificaciones de consentimiento durante hasta 5 minutos para evitar llamadas excesivas a la API en endpoints de alto tráfico. Los cambios de consentimiento son poco frecuentes dentro de una sola sesión.

Véase también: Verificación del lado del servidor