Aller au contenu principal

Synchroniser le consentement avec votre CRM via des webhooks

Maintenez automatiquement les opt-ins email de votre CRM synchronisés avec les décisions de consentement ConsentForge.

Architecture

L'utilisateur accepte/refuse le marketing → Webhook ConsentForge → Votre backend → API CRM

Étape 1 : Créez un endpoint webhook

Configurez un endpoint sur votre backend qui gère la charge utile ConsentForge :

// Exemple Express
app.post('/webhooks/consentforge', express.raw({ type: '*/*' }), async (req, res) => {
// 1. Vérifiez la signature
const valid = verifyConsentForgeWebhook(
req.body.toString(),
req.headers['x-consentforge-signature'],
req.headers['x-consentforge-timestamp'],
process.env.CONSENTFORGE_WEBHOOK_SECRET
);
if (!valid) return res.status(401).send('Unauthorized');

// 2. Analysez la charge utile
const payload = JSON.parse(req.body);

// 3. Ne gérez que les événements de consentement marketing
if (['consent.created', 'consent.updated'].includes(payload.event)) {
const hasMarketingConsent = payload.data.choices.marketing === true;

// 4. Mettez à jour le CRM
await updateCRMContact({
ip_hash: payload.data.ip_hash,
marketing_opt_in: hasMarketingConsent,
consent_timestamp: payload.timestamp,
receipt_id: payload.data.receipt_id,
});
}

res.json({ received: true });
});

Étape 2 : Enregistrez le webhook dans ConsentForge

Propriété → Webhooks → Ajouter un endpoint

  • URL : https://votreapp.com/webhooks/consentforge
  • Événements : consent.created, consent.updated
  • Copiez le secret webhook

Étape 3 : Mappez le contact CRM

Étant donné que ConsentForge stocke des identifiants hachés (pas des emails), vous avez besoin d'un moyen de lier le reçu à un contact CRM. Options :

  1. Utilisateurs connectés : Stockez l'ID de reçu ConsentForge sur l'enregistrement utilisateur lors de la connexion
  2. Formulaires email : Après la soumission d'un formulaire, appelez ConsentForge.getReceiptId() et stockez-le avec l'email

Voir aussi : Webhooks · Sécurité des webhooks