Skip to main content
I webhook in uscita consentono ai vostri sistemi di reagire agli eventi di Flowella quasi in tempo reale, senza interrogare l’API. Si configura un URL e un elenco di tipi di eventi e Flowella invia un payload JSON firmato a tale URL ogni volta che si verifica uno di questi eventi.

Configurazione di un webhook

È necessario il ruolo Owner o Admin.
1

Aprire Impostazioni → Webhooks

Nell’app Flowella, andare su Impostazioni → Webhooks.
2

Aggiungere un webhook

Fare clic su Aggiungi webhook, incollare l’URL HTTPS pubblico del proprio endpoint e scegliere i tipi di evento che si desidera ricevere.
3

Salvare il segreto di firma

Flowella genera un segreto di firma unico per il webhook. Copiatelo: lo userete per verificare le richieste in arrivo.
4

Inviare un test

Fare clic su Invia test per inviare immediatamente un payload webhook.test. Verificare che l’endpoint lo abbia ricevuto e abbia risposto con un 2xx.

Tipi di evento

È possibile sottoscrivere uno qualsiasi di questi eventi di prodotto: webhook.test viene inviato solo quando si fa clic su Invia test, senza sottoscriverlo esplicitamente.

Formato della richiesta

Flowella invia un corpo JSON al vostro URL con queste intestazioni:
I payload sono limitati a 256 KB. Gli oggetti più grandi sono riassunti: utilizzare l’API per recuperare l’intero record per ID, se necessario. La forma del corpo varia a seconda dell’evento, ma comprende sempre:

Verifica delle firme

Ogni richiesta include un’intestazione X-Flowella-Signature. Il valore è il digest esadecimale HMAC-SHA256 del corpo della richiesta raw UTF-8, codificato con il segreto di firma del webhook. Verificare prima dell’elaborazione:
Firmare sempre i byte raw body prima che qualsiasi parsing JSON o middleware riformatti il payload. Se il framework reserializza JSON, la firma non corrisponderà.

Risposte, tentativi e timeout

  • Timeout: Flowella attende fino a 10 secondi per la risposta dell’endpoint.
  • Successo: qualsiasi risposta di 2xx viene considerata come una consegna riuscita.
  • Ripetizioni: le consegne non riuscite vengono ritentate fino a 3 tentativi con backoff.
  • Autodisabilitazione: se un webhook accumula 10 fallimenti consecutivi, Flowella lo disattiva. Sarà necessario riattivarlo da Impostazioni → Webhooks dopo aver sistemato l’endpoint.
L’endpoint deve restituire il più velocemente possibile, rinviando qualsiasi elaborazione pesante a una coda in background sul proprio lato.

Idempotenza

I webhook possono essere ritentati, quindi lo stesso evento logico può arrivare più di una volta. Per elaborare in modo sicuro:
  • Utilizzare la data.id dell’evento (o una chiave derivata come event + data.messageId) come chiave di idempotenza.
  • Mantenere una cache di breve durata delle chiavi elaborate (qualche ora è sufficiente per i tentativi).
  • Trattare i duplicati come no-op.

Elencare e gestire le consegne

Impostazioni → Webhooks mostra i tentativi di consegna recenti per ogni webhook, inclusi:
  • Timestamp
  • Tipo di evento
  • Stato della risposta
  • Un corpo di risposta troncato (fino a ~1 KB) per il debugging
Se un webhook viene disattivato a causa di ripetuti fallimenti, la stessa pagina consente di riattivarlo.

Sviluppo locale

Il modo più semplice per sviluppare localmente con i webhook è quello di inoltrare un tunnel pubblico (ad esempio, ngrok o Cloudflare Tunnel) al proprio server di sviluppo e puntare l’URL del webhook all’host del tunnel. Usare Invia test per lanciare i payload su richiesta senza attendere l’attività reale di WhatsApp.
Avete bisogno di reagire a eventi che non sono presenti nell’elenco? Comunicatecelo all’indirizzo support: aggiungiamo eventi man mano che i clienti li richiedono.

Correlato

Impostazioni → Webhooks

Configurare endpoint, segreti di firma e tentativi nell’app.

Introduzione all'API

Autorizzazione, errori, paginazione e limiti di velocità per l’API REST.

Chiavi API

Creare e ruotare i token bearer di cui l’endpoint può avere bisogno.

Eventi di notifica

Gli stessi eventi vengono trasmessi nel feed in-app e nelle e-mail.
Ultima modifica il 27 giugno 2026