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 correos electrónicos, exportaciones de datos o canales de analítica.

Cuándo verificar en el servidor

  • Añadir un usuario a una lista de email marketing
  • Almacenar datos de comportamiento en su almacén de datos
  • Pasar datos a una API de terceros (CRM, plataforma publicitaria)
  • Renderización 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 aplica hash a: {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 la verificación de consentimiento durante hasta 5 minutos para evitar llamadas excesivas a la API en endpoints de alto tráfico. Los cambios de consentimiento son raros dentro de una sola sesión.

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