Verificar consentimento no lado do servidor
Use isto quando precisar de confirmar consentimento antes de operações do lado do servidor como envios de email, exportações de dados ou pipelines de análise.
Quando verificar do lado do servidor
- Adicionar um utilizador a uma lista de email de marketing
- Armazenar dados comportamentais no seu data warehouse
- Passar dados a uma API de terceiros (CRM, plataforma de anúncios)
- Renderização do lado do servidor de conteúdo personalizado
Passo 1: Obter o seu token API
Conta → Chaves API → Criar chave com âmbito receipts:read.
Passo 2: Construir o identificador do utilizador
O identificador deve corresponder ao que o ConsentForge usa no browser. O runtime faz hash de: {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: 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;
}
// Utilização:
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 por até 5 minutos para evitar chamadas API excessivas em endpoints de alto tráfego. As alterações de consentimento são raras dentro de uma única sessão.
Veja também: Verificação do lado do servidor