Aller au contenu principal

Vérifier le consentement côté serveur

Utilisez ceci quand vous devez confirmer le consentement avant des opérations côté serveur comme l'envoi d'emails, les exports de données ou les pipelines d'analytique.

Quand vérifier côté serveur

  • Ajout d'un utilisateur à une liste d'emailing marketing
  • Stockage de données comportementales dans votre entrepôt de données
  • Transmission de données à une API tierce (CRM, plateforme publicitaire)
  • Rendu côté serveur de contenu personnalisé

Étape 1 : Obtenir votre token API

Compte → Clés API → Créer une clé avec la portée receipts:read.

Étape 2 : Construire l'identifiant utilisateur

L'identifiant doit correspondre à ce que ConsentForge utilise dans le navigateur. Le runtime hache : {ip}|{userAgent}|{propertyId}|{date} avec 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');
}

Étape 3 : Vérifier le consentement

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

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

Mise en cache

Mettez en cache les résultats de vérification du consentement jusqu'à 5 minutes pour éviter des appels API excessifs sur les endpoints à fort trafic. Les changements de consentement sont rares au cours d'une même session.

Voir aussi : Vérification côté serveur