Vai al contenuto

Webhook

Un webhook è un callback HTTP: un sistema invia una richiesta POST automatica a un URL che controlli nel momento in cui si verifica un evento scelto, invece di aspettare che sia tu a chiedere. È push, non polling: la sorgente invia i dati man mano che gli eventi accadono, così il tuo endpoint li riceve in pochi secondi invece di interrogare a intervalli fissi.

Aggiornato: 2 min di letturaDi fromHello

Punti chiave

  1. Un webhook è push, non polling: il sistema sorgente invia i dati nell’istante in cui scatta un evento, così eviti le continue richieste “c’è qualcosa di nuovo?”.

  2. Nelle piattaforme di engagement contano due direzioni: i nodi in uscita chiamano sistemi esterni a metà percorso; i ricevitori in entrata acquisiscono eventi da quei sistemi.

  3. Poiché chiunque può fare un POST verso un URL pubblico, considera ogni payload non attendibile: verifica la firma e rispondi in fretta.

Come funziona un webhook?

Registri un URL, l’endpoint, presso il sistema che detiene i dati, e gli indichi quali eventi ti interessano. Quando uno di quegli eventi scatta, quel sistema invia un HTTP POST al tuo endpoint con un payload che descrive cosa è successo, di solito in JSON. Il tuo server legge il payload, fa il suo lavoro e restituisce uno stato 2xx per confermare la ricezione. Nessuna tua richiesta l’ha avviato: è stata la sorgente ad agire da sola. La maggior parte dei provider firma ogni richiesta, così puoi confermare che arrivi davvero da loro.

Webhook o polling di un’API: che differenza c’è?

Il polling è il modello pull: il tuo codice chiede a un’API “c’è qualcosa di nuovo?” a intervalli fissi, che qualcosa sia cambiato o no. Un webhook è il modello push: la sorgente ti chiama solo quando ha qualcosa da segnalare. Il polling spreca la maggior parte delle richieste e aggiunge ritardo tra l’evento e la tua reazione; i webhook consegnano in pochi secondi e altrimenti tacciono. Il prezzo è che il tuo endpoint deve essere raggiungibile pubblicamente e pronto a gestire i picchi.

Un webhook e i termini che lo circondano.

Come usano i webhook le piattaforme di engagement?

  • In uscita: un nodo webhook dentro un percorso invia un POST a un sistema esterno a metà flusso: avvisare Slack quando un lead converte, sincronizzare uno stato con il tuo CRM, avviare uno step di evasione dell’ordine.
  • In entrata: un ricevitore acquisisce eventi da altri strumenti: un provider di pagamento segnala un addebito riuscito, uno strumento per moduli passa un nuovo lead, così profili e percorsi reagiscono senza un’importazione notturna.
  • È questo collegamento nei due sensi a permettere a una piattaforma di customer engagement di stare al centro del tuo stack. Servizi di consegna dedicati come Knock si specializzano solo nel lato in uscita.

Perché conta per un piccolo team

Un team di due persone non può stare lì a interrogare i sistemi in cerca di modifiche, e i cron job che controllano a intervalli di pochi minuti aggiungono sia ritardo sia costi. I webhook permettono a uno strumento di reagire a un altro nel momento in cui succede qualcosa, senza che nessuno stia a guardare. Due cautele: poiché chiunque può fare un POST verso un URL pubblico, verifica la firma su ogni richiesta e considera il corpo non attendibile; e registra gli eventi che emetti e ricevi, così che si allineino al tuo piano di tracciamento invece di diventare un canale parallelo non tracciato.

FAQ

Domande frequenti

  • Che differenza c’è tra un webhook e un’API?

    Un’API è qualcosa che chiami quando vuoi dei dati; un webhook è qualcosa che chiama te quando i dati cambiano. Sono complementari: spesso usi un’API REST per leggere o aggiornare i record, e un webhook per sapere nel momento stesso in cui un record cambia, così non devi continuare a chiedere.

  • Come si protegge un endpoint webhook?

    Considera ogni richiesta non attendibile. La maggior parte dei provider firma il payload con un segreto condiviso: ricalcola la firma e rifiuta tutto ciò che non corrisponde. Servi l’endpoint in HTTPS e restituisci un 2xx in fretta, spostando il lavoro lento in un job in background, così il mittente non va in timeout e non riprova.

  • Cosa succede se il mio endpoint è offline quando scatta un webhook?

    La maggior parte dei provider ritenta per un po’ le consegne fallite, a intervalli crescenti, poi si arrende, quindi di solito si sopravvive a un breve disservizio. I tentativi però non sono garantiti per sempre: rendi il tuo handler idempotente, perché lo stesso evento può arrivare più di una volta, e riconcilia con l’API della sorgente tutto ciò che non puoi permetterti di perdere.

  • Devo sviluppare qualcosa per ricevere i webhook?

    Ti serve un URL HTTPS raggiungibile pubblicamente che accetti richieste POST e restituisca un 2xx. Per i webhook in entrata verso una piattaforma di engagement, quel ricevitore di solito è integrato: incolli il tuo URL nello strumento che invia. Per le chiamate in uscita, è il nodo webhook di un percorso a inviare al posto tuo.

fromHello è un software di marketing automation open source: messaggi attivati da ciò che fanno le persone.

fromHello Cloud è in accesso anticipato tramite la lista d’attesa.

Accesso anticipato

fromHello Cloud

Non si parte per restare piccoli.

L’accesso anticipato a fromHello Cloud si apre a scaglioni. L’onboarding è guidato: ti aiutiamo a configurare tutto e a portare i tuoi contatti.

Ti scriveremo quando il tuo accesso sarà pronto. Niente spam.

Vuoi aspettare ancora un po’? Vedi su GitHub