Synchroniser le consentement vers votre CRM via Webhooks
Gardez les opt-ins d'emailing marketing de votre CRM synchronisés automatiquement avec les décisions de consentement ConsentForge.
Architecture
L'utilisateur accepte/refuse le marketing → Webhook ConsentForge → Votre backend → API CRM
Étape 1 : Créer un point de terminaison webhook
Configurez un endpoint sur votre backend qui gère le payload ConsentForge :
// Exemple Express
app.post('/webhooks/consentforge', express.raw({ type: '*/*' }), async (req, res) => {
// 1. Vérifier 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. Parser le payload
const payload = JSON.parse(req.body);
// 3. Gérer uniquement les événements de consentement marketing
if (['consent.created', 'consent.updated'].includes(payload.event)) {
const hasMarketingConsent = payload.data.choices.marketing === true;
// 4. Mettre à 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 : Enregistrer 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 : Associer les contacts 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 :
- Utilisateurs connectés : Stocker l'identifiant de reçu ConsentForge sur l'enregistrement utilisateur à la connexion
- Formulaires email : Après la soumission d'un formulaire, appeler
ConsentForge.getReceiptId()et stocker l'identifiant avec l'email
Voir aussi : Webhooks · Sécurité des webhooks