Vai al contenuto
Docs

Guida pratica

Crea un endpoint webhook, scegli i suoi eventi, aggiungi filtri sul payload, invia un evento di test, attiva o disattiva il webhook e ruota il secret.

Aggiornato il 1 ott 2026

Questa guida crea un webhook, lo limita agli eventi che ti servono e controlla che il tuo endpoint riceva richieste firmate. Puoi fare tutto nel pannello o con l’API dei webhook.

Prima di iniziare

  • Un URL pubblico che accetti richieste POST. HTTPS è fortemente consigliato. Gli URL su localhost o su intervalli di IP privati vengono rifiutati; per lo sviluppo in locale, usa un tunnel come ngrok o Cloudflare Tunnel.
  • Un endpoint che conservi il corpo grezzo della richiesta, così da poter verificare la firma.
  • Per l’API, una chiave con Full Access.
  • Uno slot libero per un webhook. Pay as you go include 3 endpoint, Pro 10, Business e Custom 100.

Crea il webhook

  1. Apri la pagina Webhooks. Vai a Email APIWebhooks e seleziona Add webhook.

  2. Inserisci un nome e un URL. Il nome deve essere unico nel workspace, ad esempio Production events. L’URL è il tuo endpoint, ad esempio https://acme.com/webhooks/emailit. Seleziona Create.

  3. Copia il secret. La finestra mostra il secret del webhook, che inizia con whsec_, insieme all’avviso «You can see the webhook secret only once. Store it safely.» Copialo nell’ambiente della tua app, ad esempio come EMAILIT_WEBHOOK_SECRET, e seleziona Done.

Un webhook creato nel pannello sottoscrive tutti i tipi di evento. Si apre la scheda Settings del webhook, così puoi restringere la selezione.

Scegli gli eventi

Un webhook riceve tutti i tipi di evento oppure solo quelli che selezioni.

Nella scheda Settings del webhook, disattiva All events, poi seleziona i tipi nel riquadro Events. Gli eventi sono raggruppati per risorsa (Emails, Domains, Audiences, Subscribers, Contacts, Templates, Suppressions, Email Verifications, Email Verification Lists) e ogni gruppo ha una casella Select all. Seleziona Save.

Il selettore non elenca tutti i tipi che Emailit invia. email.canceled, email.held, email.unsubscribed, email.resubscribed, subscriber.resubscribed e gli eventi campaign.* arrivano ai webhook che hanno All events attivo, oppure puoi aggiungerli alla lista con l’API. Il gruppo Deprecated contiene vecchi nomi di eventi che non vengono più inviati. Vedi Tipi di evento.

Filtra gli eventi per payload

Pay as you goProBusinessCustom

Un filtro sul payload consegna un evento solo quando i suoi dati corrispondono alle tue regole. I filtri si applicano in aggiunta alla selezione degli eventi: un evento deve essere sottoscritto e corrispondere al filtro.

Usalo per dividere il traffico tra più endpoint, ad esempio un webhook per ogni linea di prodotto, o per scartare eventi che altrimenti ignoreresti nel codice.

  • Modalità di corrispondenza: All rules match (all) oppure Any rule matches (any).
  • Regole: fino a 25. Ogni regola ha un campo, un operatore e un valore.
  • Campo: un percorso con punti all’interno del data.object dell’evento, ad esempio to, status, meta.plan o, per gli eventi di clic, link.url. Il prefisso payload. è facoltativo, quindi payload.from e from sono equivalenti.
  • I confronti distinguono tra maiuscole e minuscole e confrontano i valori come testo, tranne greater_than e less_than, che confrontano numeri.
Operatore Corrisponde quando il campo
equals / not_equals È / non è esattamente il valore.
contains / not_contains Contiene / non contiene il valore.
starts_with / ends_with Inizia / finisce con il valore.
greater_than / less_than È un numero maggiore / minore del valore.
is_set / is_not_set Ha un valore non vuoto / manca o è vuoto. Non serve un valore.
in / not_in È uguale / non è uguale a uno dei valori di un array. Invia l’array con l’API, come nell’esempio qui sotto.

Nella scheda Settings del webhook, trova il riquadro Filter. Scegli la modalità di corrispondenza, aggiungi regole con campo, operatore e valore, e seleziona Save. Lascia vuote le regole per consegnare tutti gli eventi sottoscritti. Con Pay as you go, il riquadro è bloccato e mostra Upgrade.

Altri esempi:

Obiettivo Regola
Solo la posta ricevuta su un indirizzo to equals support@inbound.acme.com
Solo un dominio mittente from ends_with @billing.acme.com
Solo le email che hai etichettato con i metadati meta.source equals checkout
Solo i clic sulla tua pagina dei prezzi link.url starts_with https://acme.com/pricing
Solo le email che contengono un ID cliente meta.customer_id is_set

Se un workspace passa a Pay as you go, i filtri esistenti restano salvati ma vengono ignorati, e tutti gli eventi sottoscritti vengono consegnati.

Invia un evento di test

Un test invia subito un evento di esempio al tuo URL, firmato con il secret attuale del webhook. Gli eventi sottoscritti e i filtri vengono ignorati, la richiesta non viene ritentata e non compare nella scheda Requests. Ogni webhook consente 5 test al minuto.

Nella pagina del webhook, apri il menu delle azioni (…) e seleziona Send test. Scegli un tipo di evento e seleziona Send test. La finestra mostra «Your endpoint returned 200» (o lo stato restituito dal tuo endpoint) e il corpo della risposta. «Could not reach the endpoint» significa che la richiesta non ha ricevuto una risposta HTTP, ad esempio per un errore DNS, un timeout o un reindirizzamento.

Gli eventi di test usano dati di esempio, con un event_id che inizia con evt_test_, e la loro struttura può differire leggermente da quella degli eventi reali. Scrivi l’handler basandoti sul riferimento eventi e confermalo con un invio reale.

Attiva o disattiva un webhook

Disattiva un webhook per interrompere le consegne senza perderne le impostazioni, ad esempio durante una manutenzione.

  • Pannello: apri il menu delle azioni e seleziona Disable webhook o Enable webhook. La pagina del webhook mostra lo stato Enabled o Disabled.
  • API: chiama Aggiorna un webhook con {"enabled": false} o {"enabled": true}.

Mentre un webhook è disattivato, i nuovi eventi non vengono messi in coda per quel webhook e le richieste già in attesa di un nuovo tentativo vengono messe in pausa. Gli eventi che si verificano mentre è disattivato non vengono consegnati in seguito; se ti servono, leggili con l’API degli eventi. Emailit disattiva anche automaticamente i webhook dopo 3 giorni di errori; vedi Nuovi tentativi ed errori.

Se elimini un webhook, tutti i suoi eventi in attesa vengono scartati.

Ruota il secret

Ruota il secret se potrebbe essere trapelato, o come normale misura di sicurezza.

  • Pannello: apri il menu delle azioni, seleziona Webhook secret, poi Reset. Il nuovo secret viene mostrato una sola volta.
  • API: chiama Ruota il secret di firma. La risposta contiene il nuovo secret. Anche Recupera un webhook restituisce il secret attuale.

Il vecchio secret smette subito di funzionare e ogni richiesta successiva, compresi i nuovi tentativi di eventi precedenti, viene firmata con quello nuovo. Per ruotarlo senza rifiutare richieste, fai accettare al tuo endpoint entrambi i secret per qualche minuto, reimposta il secret, distribuisci il nuovo valore, poi rimuovi quello vecchio.

Verifica che funzioni

  1. Invia un evento di test e conferma che il tuo endpoint restituisce 2xx.
  2. Invia un’email reale, o provoca l’evento che hai sottoscritto.
  3. Nella scheda Requests del webhook, la richiesta risulta Delivered. L’orario Last used del webhook si aggiorna.

Questa pagina ti è stata utile?

Grazie del feedback.

Grazie, leggiamo ogni messaggio.