Aller au contenu principal

Vérifier le consentement côté serveur

Utilisez ceci lorsque vous avez besoin de confirmer le consentement avant des opérations côté serveur telles que l'envoi d'emails, les exports de données ou les pipelines d'analyse.

Quand vérifier côté serveur

  • Ajout d'un utilisateur à une liste d'email 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é nécessitant un consentement

Étape 1 : Obtenez votre token API

Compte → Clés API → Créer une clé avec le scope receipts:read.

Étape 2 : Construisez l'identifiant utilisateur

L'identifiant doit correspondre à ce que ConsentForge utilise dans le navigateur. Le runtime hache : {ip}|{userAgent}|{propertyId}|{date} en utilisant 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érifiez 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 pendant jusqu'à 5 minutes pour éviter les 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