Passa al contenuto principale

Verificare il Consenso Lato Server

Usate questo quando è necessario confermare il consenso prima di operazioni lato server come invii di email, esportazioni di dati o pipeline di analisi.

Quando verificare lato server

  • Aggiungere un utente a una lista di email marketing
  • Archiviare dati comportamentali nel vostro data warehouse
  • Passare dati a un'API di terze parti (CRM, piattaforma pubblicitaria)
  • Rendering lato server di contenuti personalizzati

Passo 1: Ottenete il vostro token API

Account → Chiavi API → Crea Chiave con ambito receipts:read.

Passo 2: Costruite l'identificatore utente

L'identificatore deve corrispondere a quello usato da ConsentForge nel browser. Il runtime esegue l'hash di: {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');
}

Passo 3: Verificate il consenso

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;
}

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

Caching

Memorizzate in cache i risultati della verifica del consenso fino a 5 minuti per evitare chiamate API eccessive sugli endpoint ad alto traffico. Le modifiche al consenso sono rare nell'ambito di una singola sessione.

Vedi anche: Verifica Lato Server