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