Passa al contenuto principale

Sincronizzare il Consenso con il CRM tramite Webhook

Mantenete le opt-in dell'email marketing nel vostro CRM sincronizzate con le decisioni di consenso di ConsentForge automaticamente.

Architettura

L'utente accetta/rifiuta marketing → Webhook ConsentForge → Il vostro backend → API CRM

Passo 1: Create un endpoint webhook

Configurate un endpoint nel vostro backend che gestisca il payload di ConsentForge:

// Esempio Express
app.post('/webhooks/consentforge', express.raw({ type: '*/*' }), async (req, res) => {
// 1. Verifica firma
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. Analizza payload
const payload = JSON.parse(req.body);

// 3. Gestisce solo eventi di consenso marketing
if (['consent.created', 'consent.updated'].includes(payload.event)) {
const hasMarketingConsent = payload.data.choices.marketing === true;

// 4. Aggiorna 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 });
});

Passo 2: Registrate il webhook in ConsentForge

Proprietà → Webhook → Aggiungi Endpoint

  • URL: https://vostraapp.com/webhooks/consentforge
  • Eventi: consent.created, consent.updated
  • Copiate il segreto webhook

Passo 3: Mappate il contatto CRM

Poiché ConsentForge archivia identificatori con hash (non email), avete bisogno di un modo per collegare la ricevuta a un contatto CRM. Opzioni:

  1. Utenti connessi: Memorizzate l'ID ricevuta di ConsentForge nel record utente al momento dell'accesso
  2. Moduli email: Dopo l'invio di un modulo, chiamate ConsentForge.getReceiptId() e memorizzatelo insieme all'email

Vedi anche: Webhook · Sicurezza Webhook