Webhook: racconta ad altri strumenti cosa è successo
Un webhook invia un breve messaggio a un altro strumento nel momento in cui succede qualcosa nel tuo progetto: una pubblicazione, l'invio di un modulo, un record modificato. Questa pagina spiega come aggiungerne uno, com'è fatto il messaggio, come l'altra parte può verificare che sia autentico e cosa succede quando quella parte non è raggiungibile.
Che cos'è un webhook
Pensalo come il tuo progetto che telefona a un altro servizio per dire cosa è appena successo. Dai a Briks un indirizzo (un URL che ti ha dato l'altro strumento), scegli gli eventi da comunicare, e ogni volta che ne accade uno Briks invia un messaggio a quell'indirizzo. Molti strumenti di automazione, di gestione clienti e componenti aggiuntivi per fogli di calcolo possono darti un indirizzo del genere.
Tecnicamente, ogni messaggio è una richiesta POST: una chiamata che porta con sé un corpo, qui scritto in JSON, un formato di testo semplice che i programmi sanno leggere. Lo strumento che lo riceve legge il corpo e fa ciò che hai impostato.
| Evento, come lo mostra lo studio | Codice | Inviato quando |
|---|---|---|
| Published | site.published | È andata online una nuova versione del sito. |
| Form received | form.received | Un visitatore ha inviato un messaggio tramite uno dei moduli del sito. |
| Record changed | record.changed | Un record nel database del progetto è stato aggiunto, modificato o eliminato. |
record.changed segue le modifiche fatte nello studio: un record aggiunto, modificato o eliminato nella scheda Database, una raccolta svuotata o il database ripristinato. I record che il sito online salva da sé, come una richiesta di prenotazione inviata da un visitatore, non lo attivano.
form.received viene inviato sia per le voci dell'anteprima sia per quelle della produzione. Ogni messaggio indica quale delle due è, così l'altro strumento può ignorare le voci dell'anteprima.
Limiti di ogni piano
| Piano | Webhook per progetto | Chiamate al giorno per progetto |
|---|---|---|
| Free | 1 | 2.000 |
| Starter | 5 | 5.000 |
| Pro | 10 | 10.000 |
| Studio | 25 | 50.000 |
| Agency | 50 | 100.000 |
Quando le chiamate del giorno sono esaurite, una consegna non viene inviata e viene contrassegnata come Failed con il messaggio: Today's calls for this project are used up, so this delivery was not sent. Send it again tomorrow.
Quando un progetto ha tutti i webhook che il suo piano consente, Add webhook diventa grigio e un link Get more accanto al conteggio apre la finestra di upgrade, che indica il piano più piccolo con spazio per un altro.
Aggiungi un webhook
Premi Add webhook
Dove: Settings, Webhooks
La pagina mostra quanti ne hai rispetto al tuo piano, ad esempio 1 su 5 nel tuo piano. Editor, Admin e Owner possono aggiungere webhook.
Inserisci l'indirizzo
Dove: Add a webhook
Incolla in Address l'indirizzo che ti ha dato l'altro strumento. Deve essere un indirizzo https pubblico, con il nome scritto per esteso e non un numero.
Aggiungi una nota
Dove: Add a webhook
Note è facoltativo, fino a 120 caratteri, e ti aiuta a distinguere i webhook più avanti:
Enquiries sheet, per esempio.Scegli gli eventi
Dove: Add a webhook
Spunta gli eventi di cui deve essere informato. Published e Form received sono già spuntati; cambiali come preferisci.
Salva e copia il segreto
Dove: Your signing secret
Premi Add webhook. Una finestra mostra il segreto di firma, che inizia con
whsec_. Premi Copy e conservalo: viene mostrato una sola volta. Poi premi Done.Invia una prova
Dove: Settings, Webhooks
Apri i tre puntini del webhook e scegli Send a test event. Vedrai: A test event is on its way. See how it went under Deliveries.
Ogni webhook dell'elenco mostra il suo indirizzo, la nota e gli eventi, con quale segreto è firmato (i primi caratteri) e come è andata l'ultima consegna. Il suo interruttore lo imposta su On o Off, e i suoi tre puntini contengono Send a test event (fino a dieci all'ora, solo quando è attivo), Change, New signing secret e Delete.
Come appare una consegna
Ogni invio ha le stesse tre parti: type (il codice dell'evento), timestamp (quando è avvenuto, in UTC) e data (i dettagli). Ecco una voce di modulo:
{"type":"form.received","timestamp":"2026-10-08T09:41:07.000Z","data":{"form":{"id":"…","subject":"Richiesta per matrimonio","page":"/contact","fields":[{"label":"Nome","value":"Ellie Marsh"},{"label":"Data del matrimonio","value":"14 giugno 2027"}],"replyTo":"ellie@example.com"},"production":true}}
| Evento | Cosa contiene data |
|---|---|
form.received | form: il suo id, il suo subject, la page da cui è stato inviato, i fields (ciascuno con una label e un value, nell'ordine del modulo) e replyTo, l'email del visitatore quando il modulo la richiede. Poi production: true per il sito online, false per l'anteprima. |
site.published | url: l'indirizzo a cui è andato online. production: se il sito è in produzione. abTest: se è in corso un test A/B. served: se Briks ha visto la nuova versione rispondere a quell'indirizzo quando ha inviato il messaggio. |
record.changed | action: created, updated, deleted, cleared o restored. collection: quale raccolta. record: l'id del record. I valori del record non sono inclusi. |
test | Un message e il project, con il suo id e name. Viene inviato solo quando premi Send a test event. |
Ogni consegna include anche tre header: webhook-id (l'id del messaggio), webhook-timestamp (quando è stato inviato, in secondi) e webhook-signature. Seguono il formato aperto Standard Webhooks, quindi gli strumenti che lo capiscono possono verificare le consegne per te.
Verifica che una consegna sia autentica
Chiunque può inviare un messaggio a un indirizzo, quindi chi riceve dovrebbe controllare la firma prima di fidarsi. La firma è creata con il segreto di firma che hanno solo tu e Briks. Quando un progetto ha un webhook, la pagina Webhooks mostra un breve esempio di codice sotto Checking a delivery is genuine. In parole, il controllo funziona così:
- Prendi il corpo esattamente come è arrivato, come testo, prima di leggerlo come JSON.
- Unisci
webhook-id,webhook-timestampe il corpo con dei punti fermi tra l'uno e l'altro. - Prendi il tuo secret, togli
whsec_all'inizio e decodifica il resto da base64. Quella è la chiave. - Firma il testo unito con HMAC SHA-256 e quella chiave, scrivi il risultato in base64 e metti
v1,davanti. - La consegna è autentica se coincide con uno dei valori separati da spazio in
webhook-signaturee il timestamp è entro cinque minuti da adesso.
Una consegna che viene ritentata mantiene il suo webhook-id, così il destinatario può conservare gli id già gestiti e saltare i duplicati.
Consegne e nuovi tentativi
Deliveries elenca ogni consegna degli ultimi trenta giorni, dalla più recente. Restringi l'elenco con Status e premi Show. Clicca su una consegna per vedere il messaggio completo, l'eventuale errore e la risposta dell'indirizzo.
| Stato | Significato |
|---|---|
| Sending | In attesa del primo tentativo. |
| Retrying | Un tentativo è fallito e ne arriva un altro. La riga mostra quando, dopo il prossimo tentativo. |
| Delivered | L'indirizzo ha risposto con uno stato 2xx, il codice del web per indicare successo. |
| Failed | Ogni tentativo è fallito, oppure non è stato possibile inviare la consegna. |
Ogni tentativo attende una risposta fino a 15 secondi. Se la risposta non è un 2xx, Briks riprova: cinque tentativi in tutto, il primo subito e poi dopo circa 30 secondi, 2 minuti, 8 minuti e 32 minuti, quindi circa 45 minuti dal primo all'ultimo. Una risposta 410 (gone) interrompe subito i tentativi. I reindirizzamenti non vengono seguiti, quindi indica l'indirizzo finale.
Quando una consegna è Failed o Delivered, Send again invia lo stesso messaggio con lo stesso id, firmato di nuovo. Il webhook deve essere attivo.
Approfondimenti e impostazioni
Insights riassume gli ultimi trenta giorni: Deliveries, la quota Delivered, Failed after every try (con il numero di tentativi necessari) e il tempo Average answer. Sotto, By event e By address mostrano dove si concentrano gli errori.
Settings ha Download JSON sotto Download the webhooks, con indirizzo, eventi e nota di ogni webhook. I segreti di firma non sono mai inclusi. La sua zona pericolosa contiene Clear log, che elimina il registro delle consegne e interrompe ogni nuovo tentativo, e Delete all, che rimuove ogni webhook dopo che hai scritto il nome del progetto. Entrambi sono riservati a Owner e Admin.
Esempio pratico: le voci dei moduli in un altro strumento
Le voci dei moduli non si possono esportare dallo studio, quindi un webhook è il modo per conservarle in un altro strumento man mano che arrivano. Le conserva anche lo studio: le ultime 100 compaiono in Settings, Forms.
Una fotografa di matrimoni a York invia le richieste alla sua lista clienti
Ottieni un indirizzo dall'altro strumento
Dove: Her client list tool
Lì crea un webhook in entrata e copia l'indirizzo che le viene dato.
Aggiungi il webhook
Dove: Settings, Webhooks
Incolla l'indirizzo, scrive la nota
Client list, deseleziona Published e lascia selezionato solo Form received.Dai allo strumento il segreto
Dove: Her client list tool
Il suo strumento controlla le firme, quindi incolla il segreto di firma nelle sue impostazioni prima di chiudere la finestra.
Provalo
Dove: Settings, Webhooks, Deliveries
Lei invia un evento di prova e lo vede come Delivered in Deliveries.
Abbina i campi
Dove: Her client list tool
Associa le etichette
fieldsName, Wedding date e Venue alle colonne del suo strumento, e gli dice di ignorare i messaggi in cuiproductionèfalse.
Una coppia compila il modulo di contatto sul suo sito online.
La richiesta arriva nella sua casella di posta, perché il sito è in produzione, e un attimo dopo compare nel suo elenco clienti.