Ga naar hoofdinhoud

Toestemming server-side verifiëren

Gebruik dit wanneer u toestemming moet bevestigen vóór server-side bewerkingen zoals het verzenden van e-mails, gegevensexports of analysepijplijnen.

Wanneer u server-side verificatie gebruikt

  • Een gebruiker toevoegen aan een marketinge-maillijst
  • Gedragsgegevens opslaan in uw datawarehouse
  • Gegevens doorgeven aan een externe API (CRM, advertentieplatform)
  • Server-side rendering van gepersonaliseerde inhoud

Stap 1: Haal uw API-token op

Account → API-sleutels → Sleutel aanmaken met scope receipts:read.

Stap 2: Bouw de gebruikersidentificatie

De identificatie moet overeenkomen met wat ConsentForge in de browser gebruikt. De runtime hasht: {ip}|{userAgent}|{propertyId}|{date} via 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');
}

Stap 3: Toestemming controleren

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

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

Caching

Sla toestemmingscontrolesresultaten maximaal 5 minuten op in de cache om buitensporige API-aanroepen op drukke eindpunten te voorkomen. Toestemmingswijzigingen zijn zeldzaam binnen één sessie.

Zie ook: Server-side verificatie