Przejdź do głównej zawartości

Synchronizacja zgody z CRM przez webhooki

Automatycznie synchronizuj opcje marketingowe kontaktów w CRM z decyzjami dotyczącymi zgody ConsentForge.

Architektura

Użytkownik akceptuje/odrzuca marketing → webhook ConsentForge → Twój backend → API CRM

Krok 1: Utwórz endpoint webhooka

Skonfiguruj endpoint na swoim backendzie obsługujący ładunek 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. Przeanalizuj ładunek
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://yourapp.com/webhooks/consentforge
  • Zdarzenia: consent.created, consent.updated
  • Skopiuj sekret webhooka

Krok 3: Zmapuj kontakt CRM

Ponieważ ConsentForge przechowuje zahaszowane identyfikatory (nie adresy e-mail), potrzebujesz sposobu na powiązanie paragonu z kontaktem CRM. Opcje:

  1. Zalogowani użytkownicy: Zapisz identyfikator paragonu ConsentForge w rekordzie użytkownika przy logowaniu
  2. Formularze e-mailowe: Po przesłaniu formularza wywołaj ConsentForge.getReceiptId() i zapisz go razem z adresem e-mail

Zobacz też: Webhooki · Bezpieczeństwo webhooków