Synchronizuj zgodę z CRM przez webhooki
Automatycznie synchronizuj opt-iny email marketingu w CRM z decyzjami zgody ConsentForge.
Architektura
Użytkownik akceptuje/odrzuca marketing → Webhook ConsentForge → Twój backend → API CRM
Krok 1: Utwórz endpoint webhooka
Skonfiguruj endpoint w backendzie obsługujący payload ConsentForge:
// Przykład Express
app.post('/webhooks/consentforge', express.raw({ type: '*/*' }), async (req, res) => {
// 1. Weryfikuj podpis
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. Sparsuj payload
const payload = JSON.parse(req.body);
// 3. Obsługuj tylko zdarzenia zgody marketingowej
if (['consent.created', 'consent.updated'].includes(payload.event)) {
const hasMarketingConsent = payload.data.choices.marketing === true;
// 4. Zaktualizuj 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 });
});
Krok 2: Zarejestruj webhook w ConsentForge
Właściwość → Webhooki → Dodaj endpoint
- URL:
https://twojaapp.com/webhooks/consentforge - Zdarzenia:
consent.created,consent.updated - Skopiuj sekret webhooka
Krok 3: Zmapuj kontakt CRM
Ponieważ ConsentForge przechowuje hashowane identyfikatory (nie emaile), potrzebujesz sposobu powiązania paragonu z kontaktem CRM. Opcje:
- Zalogowani użytkownicy: Przechowuj ID paragonu ConsentForge w rekordzie użytkownika przy logowaniu
- Formularze email: Po wysłaniu formularza wywołaj
ConsentForge.getReceiptId()i przechowaj go wraz z emailem
Zobacz też: Webhooki · Bezpieczeństwo webhooków