AccediInizia la prova gratuita
Meta Tech Provider

Invia aggiornamenti sugli ordini WhatsApp da WooCommerce

Crea in WooCommerce un webhook per gli eventi degli ordini che punti a un ricevitore, come un workflow n8n o una piccola route PHP. Il ricevitore verifica la firma di WooCommerce, controlla che il cliente abbia accettato i messaggi WhatsApp e invia un template approvato tramite la Cloud API, con il phone number id e il token del numero connesso.

5 failures

WooCommerce disattiva un webhook dopo più di cinque errori di consegna consecutivi.

X-WC-Webhook-Signature

Intestazione con l'HMAC-SHA256 del payload codificato in base64, calcolato con la chiave segreta del webhook.

Templates only

Fuori dalla finestra di assistenza clienti si possono inviare solo template approvati in anticipo.

Come fa un ordine WooCommerce a far partire un messaggio WhatsApp?

Con un webhook di WooCommerce e un ricevitore. In WooCommerce vai su Impostazioni, Avanzate, Webhook e aggiungi un webhook con un argomento sugli ordini, come ordine creato o ordine aggiornato, un URL di consegna e una chiave segreta. Da quel momento WooCommerce invia l'ordine in JSON a quell'URL ogni volta che l'evento si verifica.

Il payload è fisso, quindi non puoi puntarlo direttamente alla Cloud API. In mezzo serve un ricevitore: un nodo Webhook di n8n, una route nel PHP del negozio o un qualsiasi piccolo servizio. Legge l'ordine, ricava il numero di telefono del cliente e i dettagli che servono al messaggio, e fa una sola richiesta HTTPS all'endpoint dei messaggi della Cloud API per il numero connesso, con il token di accesso del numero come bearer token.

L'argomento order.updated non è legato a un solo stato, quindi il ricevitore deve leggere il campo status dell'ordine e inviare una volta sola per ogni passaggio che gli interessa. Di default WooCommerce consegna in background tramite wp-cron, quindi il messaggio può arrivare con un breve ritardo rispetto all'ordine.

1WooCommerceOrder webhook with a secret
2ReceiverChecks the signature and consent
3Cloud APISends the approved template
4CustomerReplies land in the WhatsApp Business app

Come fa il ricevitore a sapere che la richiesta arriva dal negozio?

Dalla firma di WooCommerce. Ogni consegna include un'intestazione X-WC-Webhook-Signature, cioè l'HMAC-SHA256 del payload grezzo codificato in base64 e calcolato con la chiave segreta impostata sul webhook. Il ricevitore calcola lo stesso hash sul corpo che ha ricevuto, lo confronta e rifiuta tutto ciò che non coincide.

Questa è la chiave segreta del negozio, quindi, a differenza della firma di Meta sui messaggi WhatsApp in arrivo, può essere validata. Confronta in tempo costante e calcola l'hash sul corpo grezzo prima che qualsiasi framework lo analizzi, perché un JSON ricodificato produce un hash diverso.

Rispondi in fretta con un 2xx. WooCommerce considera un fallimento qualsiasi risposta che non sia 2xx, 301 o 302 e, dopo più di cinque fallimenti di fila, disattiva il webhook. Un ricevitore fermo per un deploy, o lento perché aspetta Meta prima di rispondere, può spegnere i messaggi del negozio senza che nessuno se ne accorga.

Cosa può inviare il negozio, e quando?

Un template approvato, ogni volta che il negozio scrive per primo. La finestra di assistenza clienti di 24 ore di Meta si apre solo quando il cliente scrive al numero, quindi una conferma d'ordine o un aggiornamento di spedizione parte dall'azienda e il testo libero viene rifiutato. Crea un template di tipo utility per ogni aggiornamento, aspetta l'approvazione e invialo per nome e lingua, con il numero d'ordine e gli altri dettagli come parametri.

Meta richiede anche l'opt-in: il cliente ha fornito il proprio numero e ha accettato di ricevere messaggi da questa azienda su WhatsApp. Una casella al checkout salvata sull'ordine è il modo più semplice per registrarlo, e il ricevitore dovrebbe controllarla prima di inviare.

Quando il cliente risponde, la conversazione è normale Coexistence. La risposta compare nell'app WhatsApp Business sul telefono del negozio, la finestra è aperta per il testo libero e il team risponde dall'app come ha sempre fatto.

Errori comuni

  • Fare la chiamata alla Cloud API prima di rispondere a WooCommerce. Un invio lento o fallito conta contro il webhook, che viene disattivato dopo più di cinque fallimenti.
  • Calcolare l'hash sul JSON già analizzato invece che sul corpo grezzo. La firma non coincide mai e ogni consegna genuina viene rifiutata.
  • Inviare a ogni consegna di order.updated. L'argomento non è legato a un solo stato, quindi, senza tracciare quale passaggio è già stato notificato, i clienti ricevono messaggi duplicati.
Farlo con EasyCoexistence

Collega il numero del negozio su easycoexistence.com e dai al ricevitore il suo phone number id e il token dalla dashboard. Da US$ 9 per numero al mese, fino a US$ 1 man mano che aggiungi numeri, con i primi 3 giorni gratuiti.

Domande frequenti

Mi serve un plugin WordPress per questo?

No. Bastano i webhook integrati di WooCommerce e un ricevitore, che può essere una route nella stessa applicazione PHP.

Chi paga i messaggi degli ordini?

Meta fattura i messaggi direttamente all'azienda, sul suo WhatsApp Business Account, ed EasyCoexistence non applica mai alcun ricarico.

Il team può continuare a usare il telefono?

Sì. Coexistence mantiene attiva l'app WhatsApp Business sul numero del negozio, e il template inviato dal negozio compare nella conversazione.

Cosa faccio se un webhook è stato disattivato?

Sistema il ricevitore, poi riporta lo stato del webhook su attivo in WooCommerce. Gli ordini creati mentre era spento non hanno fatto partire alcun messaggio.

Continua a leggere

Pronto per iniziare?

Configura WhatsApp Coexistence in pochi minuti, non in mesi. L'app continua a funzionare sul telefono.

Inizia la prova gratuita

Verificato il

Aggiornamenti ordini WooCommerce su WhatsApp