Inviare messaggi WhatsApp da qualsiasi sistema con un webhook
Il Suo e-commerce, il CRM o il gestionale delle prenotazioni sanno già quando arriva un ordine, quando un pagamento non va a buon fine o quando viene fissato un appuntamento. Un webhook può trasformare ciascuno di questi eventi in un messaggio WhatsApp, senza scrivere codice. Ecco come pianificarlo, proteggerlo e testarlo.
Team MonoChat Aggiornato: 8 min di lettura
In questa pagina
Per inviare un messaggio WhatsApp quando succede qualcosa in un altro sistema, si punta il webhook di quel sistema verso un ricevitore che trova il cliente dal numero di telefono e invia un modello WhatsApp approvato. Il Suo e-commerce, il CRM o il gestionale delle prenotazioni generano già webhook per ordini, pagamenti e appuntamenti; il lavoro consiste nello scegliere quali eventi meritano un messaggio, scrivere i modelli, proteggere l’URL e fare test con richieste reali prima che i clienti vedano qualcosa.
Questa guida copre la pianificazione, le regole di WhatsApp che la condizionano e come realizzare tutto in MonoChat con un flusso che parte dal proprio URL webhook.
Che cos’è un webhook, e che cosa non è
Un webhook è una richiesta HTTP che un sistema invia a un URL indicato da Lei quando si verifica un evento. Shopify può inviarne uno quando viene creato un ordine, WooCommerce quando un ordine viene aggiornato, un CRM quando una trattativa cambia fase, un sistema di prenotazione quando viene fissato un appuntamento. La richiesta contiene i dettagli dell’evento, di solito in JSON: numero d’ordine, importo, nome del cliente e, la cosa più importante per WhatsApp, il numero di telefono.
Un webhook non invia nulla al cliente da solo. Qualcosa deve ricevere la richiesta, decidere cosa farne e chiamare la WhatsApp Business API. Quel “qualcosa” è codice che Lei scrive e ospita, oppure una piattaforma di automazione che Le fornisce un URL webhook e Le permette di costruire il resto senza codice.
Quali eventi meritano un messaggio WhatsApp
Non ogni evento vale un messaggio. Un cliente che riceve cinque notifiche per un solo ordine smette di leggerle tutte. Scelga i momenti che il cliente aspetta davvero:
| Evento | Messaggio | Categoria del modello |
|---|---|---|
| Ordine creato o pagato | Conferma con il numero d’ordine e i passi successivi | Utility |
| Pagamento non riuscito o in sospeso | Una breve nota e un modo per pagare di nuovo | Utility |
| Ordine spedito | Corriere e link di tracking | Utility |
| Ordine in contrassegno creato | Una domanda: confermare l’ordine, cambiare indirizzo o annullare | Utility |
| Appuntamento fissato, modificato o previsto per domani | Data, ora, luogo e un modo per spostarlo | Utility |
| Trattativa vinta o persa nel CRM | Passaggio all’account manager, o una richiesta di feedback | Utility o marketing, a seconda del testo |
| Carrello abbandonato | Un promemoria, magari con un’offerta | Marketing |
Meta decide la categoria in base a ciò che dice il modello, non all’etichetta scelta da Lei. Un messaggio su un ordine, un pagamento o una prenotazione specifici è utility; tutto ciò che promuove, offre o cerca di convincere è marketing e richiede un consenso che copra il marketing. I nostri esempi di modelli WhatsApp contengono testi pronti per i casi utility della tabella.
Le regole di WhatsApp da rispettare
La maggior parte dei messaggi da webhook richiede un modello
La finestra di assistenza clienti si apre quando un cliente Le scrive o La chiama e dura 24 ore dal suo ultimo messaggio. Al suo interno può rispondere liberamente; al di fuori può inviare solo modelli di messaggio approvati in anticipo. Gli eventi di negozio e CRM capitano raramente dentro quella finestra, quindi pianifichi ogni messaggio da webhook come modello e invii i modelli in revisione prima di attivare qualsiasi cosa.
Il numero di telefono deve essere utilizzabile
Il webhook deve contenere un numero raggiungibile da WhatsApp: in formato internazionale, con il prefisso del Paese (per l’Italia +39). Molti negozi lasciano che il cliente scriva il numero come preferisce, quindi controlli qualche ordine reale. Un numero senza prefisso internazionale è il motivo più comune per cui il test funziona e la produzione no.
I prezzi sono cambiati il 1° ottobre 2026
Dal 1° luglio 2025 Meta addebita ogni messaggio consegnato. Dal 1° ottobre 2026 i modelli utility inviati dentro una finestra di assistenza clienti aperta tornano a pagamento, dopo un periodo in cui erano gratuiti, e ogni numero di telefono aziendale riceve 1.000 messaggi di servizio gratuiti al mese. Le tariffe dipendono dalla categoria e dal Paese del cliente. In pratica: una conferma d’ordine ha un costo sia che il cliente Le abbia scritto di recente sia di no, quindi invii i messaggi che contano e salti gli altri. La guida ai prezzi della WhatsApp API spiega il listino.
Proteggere l’URL del webhook
Chiunque conosca l’URL di un webhook può chiamarlo. Se quell’URL invia messaggi WhatsApp, un URL trapelato significa che qualcun altro può scrivere ai Suoi clienti a nome Suo, o far lievitare la Sua fattura. Tre abitudini lo evitano:
- Richieda un segreto. Il sistema mittente aggiunge il segreto in un header, oppure firma il corpo della richiesta con esso (HMAC-SHA256), così il ricevitore può verificare che la richiesta non sia stata modificata lungo il percorso. Le richieste senza un segreto o una firma validi vengono rifiutate.
- Un URL per ogni scopo. Un flusso per gli ordini e uno per le prenotazioni dovrebbero avere URL e segreti diversi, così può sostituirne uno senza toccare l’altro.
- Tenga d’occhio gli errori lato mittente. WooCommerce disattiva un webhook dopo più di cinque consegne consecutive non riuscite, e Shopify elimina una sottoscrizione webhook la cui destinazione restituisce ripetutamente una risposta diversa da 200. Un ricevitore spento o configurato male può fermare le Sue notifiche senza alcun avviso.
Dove creare il webhook in Shopify e WooCommerce
- Shopify: Settings › Notifications › Webhooks, poi Create webhook. Scelga un evento (Order creation, Order payment, Fulfillment creation e molti altri), il formato JSON e un URL
https://. L’evento non si può cambiare dopo la creazione, quindi crei un webhook per ogni evento. Con Send test verifica che arrivi all’URL. - WooCommerce: WooCommerce › Settings › Advanced › Webhooks, poi Add webhook. Scelga un topic (eventi di order, customer, coupon o product), inserisca il delivery URL e un segreto; WooCommerce aggiunge agli header della richiesta un hash del payload generato con quel segreto.
- Un CRM o un gestionale di prenotazioni: cerchi le voci “webhooks”, “automations” o “outgoing integrations”. Se offre solo un formato fisso, verifichi quale campo contiene il numero di telefono del cliente prima di costruire qualsiasi cosa.
Fare test con richieste reali prima di andare live
I payload dei webhook sono lunghi e ogni piattaforma chiama i campi in modo diverso: il numero di telefono può essere phone, billing.phone o customer.default_address.phone. Non tiri a indovinare. Invii una richiesta di test reale, guardi cosa è arrivato e mappi i campi a partire da lì. Poi verifichi i casi limite:
- un ordine senza numero di telefono, o con un numero senza prefisso internazionale;
- lo stesso evento consegnato due volte, cosa che le piattaforme fanno quando riprovano l’invio;
- un ordine effettuato alle 3 di notte, se preferisce che il messaggio aspetti il mattino;
- un cliente che risponde alla notifica, quindi una persona o un assistente IA pronti a rispondere.
Come farlo in MonoChat
MonoChat è un Meta Business Partner ufficiale. Dalla versione 3.8.37 (ottobre 2026) un flusso può partire da un webhook, così il Suo e-commerce o il Suo CRM possono attivare messaggi WhatsApp senza codice da parte Sua.
1. Avvii il flusso con un nodo Webhook ricevuto. Lo aggiunga dai nodi evento. Riceve un URL webhook e un segreto propri. Scelga il canale, per esempio il Suo numero WhatsApp, e il Percorso dell’identità, cioè dove si trova il numero di telefono del cliente nella richiesta (request.body.phone per impostazione predefinita). MonoChat trova il cliente su quel canale, o lo crea, ed esegue il flusso per lui. Il nodo risponde al mittente con 202 quando il flusso è in coda, e con un errore chiaro quando il canale o il numero di telefono non vengono trovati.
2. Attivi Richiedi segreto. Il mittente può inserire il segreto nell’header del token (Authorization per impostazione predefinita, da solo o come Bearer <secret>) oppure inviare una firma HMAC-SHA256 del corpo grezzo nell’header della firma (X-Signature per impostazione predefinita). Entrambi i nomi degli header si possono cambiare per adattarli al sistema mittente.
3. Catturi una richiesta reale. Aggiunga /test alla fine dell’URL del webhook e vi punti il webhook di test del Suo negozio. Mentre le impostazioni del nodo sono aperte, la richiesta compare in Richiesta ricevuta con body, query e header, senza avviare il flusso. La usi per trovare i percorsi che Le servono, poi li salvi come variabili del flusso, per esempio request.body.orderId come orderId.
4. Invii il messaggio. Aggiunga un nodo Invia messaggio modello con il Suo modello approvato e ne compili le variabili con le variabili del flusso: numero d’ordine, importo, link di tracking. Usi le condizioni per inviare modelli diversi a seconda dello stato.
5. Richiami il Suo sistema, se serve. Un nodo Richiesta HTTP può recuperare altri dati dal Suo sistema, o riscriverci la risposta del cliente, per esempio “confermato” su un ordine in contrassegno. Prosegue su Output quando la chiamata riesce e su In caso di errore quando non riesce, così può inviare un messaggio alternativo o assegnare la conversazione a una persona.
Quando il cliente risponde, la conversazione arriva nella stessa inbox di MonoChat in cui si trovano le altre chat di WhatsApp, Instagram e Messenger, dove il Suo team o un assistente IA possono subentrare. Per costruire i flussi, veda l’automazione dei flussi di lavoro.
Altre due strade, a seconda di chi deve fare il lavoro:
- I Suoi sviluppatori chiamano già un’API. L’app WhatsApp Template API invia un modello approvato con una sola chiamata API, e le risposte arrivano nella inbox.
- Lei usa Shopify e vuole i dati degli ordini nella chat. L’automazione chat per Shopify sincronizza prodotti e ordini, così il team e l’assistente IA possono rispondere alle domande sugli ordini.
Per iniziare, crei un account gratuito su app.monochat.ai, colleghi il Suo numero WhatsApp e confronti i piani nella pagina dei prezzi.
Fonti
- Meta for Developers: invio dei messaggi e finestra di assistenza clienti
- Meta for Developers: prezzi sulla WhatsApp Business Platform
- Meta for Developers: categorizzazione dei modelli
- Centro assistenza Shopify: Webhooks
- Documentazione WooCommerce: Webhooks
- Centro assistenza MonoChat: flussi, nodi Webhook ricevuto e Richiesta HTTP
Metta in pratica con MonoChat