Pular para o conteúdo principal

Verificar Consentimento no Lado do Servidor

Utilize isto quando necessitar de confirmar o consentimento antes de operações no lado do servidor, como envios de e-mail, exportações de dados ou pipelines de análise.

Quando verificar no lado do servidor

  • Adicionar um utilizador a uma lista de e-mail de marketing
  • Armazenar dados comportamentais no seu armazém de dados
  • Passar dados a uma API de terceiros (CRM, plataforma publicitária)
  • Renderização no lado do servidor de conteúdo personalizado

Passo 1: Obter o seu token de API

Conta → Chaves de API → Criar Chave com âmbito receipts:read.

Passo 2: Construir o identificador de utilizador

O identificador deve corresponder ao que o ConsentForge utiliza no browser. O runtime aplica hash a: {ip}|{userAgent}|{propertyId}|{date} utilizando 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: Verificar consentimento

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

Cache

Guarde em cache os resultados da verificação de consentimento durante até 5 minutos para evitar chamadas excessivas à API em endpoints de alto tráfego. As alterações de consentimento são raras numa única sessão.

Consulte também: Verificação no Lado do Servidor