Brevo: setup webhook per integrazioni

Brevo: setup webhook per integrazioni

I webhook Brevo permettono di ricevere notifiche in tempo reale su eventi email (delivered, opened, clicked, bounced, spam) verso il tuo backend. Sono fondamentali per integrare Brevo con CRM, dashboard custom, sistemi di alert.

Cosa puoi tracciare

Brevo invia webhook per: delivered (email consegnata), opened (aperta), clicked (link cliccato), hardBounce, softBounce, spam (segnalata come spam), unsubscribed, blocked (bloccata in invio), invalid_email. Ogni evento contiene payload JSON con messageId, email, timestamp, link cliccato, motivo bounce.

Tipi di webhook

Brevo distingue webhook transazionali (eventi su email transazionali via SMTP/API) e marketing (campagne newsletter). Configurali separatamente in Brevo > Transactional > Settings > Webhooks e Brevo > Campaigns > Settings > Webhooks.

Procedura passo-passo

  1. Crea endpoint nel tuo backend (es. https://tuosito.it/webhook/brevo).
  2. L'endpoint deve accettare POST con body JSON.
  3. Restituire HTTP 200 OK in meno di 5 secondi (altrimenti Brevo riprova).
  4. Vai su Brevo > SMTP & API > Webhooks.
  5. Crea nuovo webhook: URL endpoint, eventi da tracciare.
  6. Salva e attendi i primi eventi (puoi testare inviando una email di prova).
  7. Implementa nel backend la deduplica per messageId (Brevo puo inviare due volte).
  8. Logga gli eventi in DB per analisi successive.
  9. Aggiungi monitoring: se il webhook fallisce per X minuti, alert.

Sicurezza

Espone il tuo endpoint a internet. Best practice: 1) Usa HTTPS obbligatorio. 2) Valida che il body sia JSON ben formato. 3) Whitelista gli IP Brevo se possibile. 4) Implementa rate limiting per evitare abusi. 5) Logga ogni request per audit. 6) Brevo include token signature: validalo prima di processare.

Esempio payload

Un'evento opened arriva come JSON con campi: event, email, id (messageId), date, ts (timestamp), subject, sending_ip, tag. Parsi nel backend e aggiorni il record corrispondente.

Errori comuni e come risolverli

  • Endpoint lento: oltre 5 secondi, Brevo riprova. Risposta sincrona veloce, processing async.
  • Niente deduplica: stesso messageId puo arrivare 2-3 volte.
  • Nessun logging: senza log, impossibile debuggare problemi.
  • Senza validazione: chiunque potrebbe iniettare dati nel tuo webhook.
  • HTTP invece di HTTPS: Brevo richiede HTTPS in produzione.

Domande frequenti

D: I webhook sono gratuiti?
R: Si, inclusi in tutti i piani Brevo.

D: Posso ricevere webhook in tempo reale?
R: Si, latenza pochi secondi dall'evento.

D: Brevo riprova in caso di fallimento?
R: Si, ritenta automaticamente per 24h con backoff esponenziale.

Hai bisogno di aiuto?

Se vuoi delegare l'email marketing al team di G Tech Group, scrivici tramite il modulo di contatto. Ti aiutiamo con configurazione SMTP, migrazioni, automation e reportistica.

Hai trovato utile quest'articolo?