Indice
- Scegli i topic che meritano di interromperti
- Passo 1 — Crea il canale
- Passo 2 — Aggiungi il webhook in Shopify
- Passo 3 — Metti a template solo i campi che leggi davvero
- Passo 4 — Instrada per topic con una condizione
- Svegliami solo per gli ordini grossi
- Cosa questo non fa
- Domande frequenti
- Serve un'app Shopify per farlo?
- Il magazzino può vedere gli ordini senza vedere il mio admin Shopify?
- È il caso di mettere i nomi dei clienti nella notifica?
- Posso ricevere una telefonata per un chargeback?
- In chiusura
- Contenuti correlati
Le email d'ordine di Shopify arrivano quando la tua app di posta decide di sincronizzare, atterrano in una cartella che hai filtrato, e sono identiche sia che l'ordine fosse da 12 € o da 1.200 €. Se il negozio lo gestisci tu, quella è la forma sbagliata di segnale.
Un webhook lo risolve. Shopify farà POST di ogni ordine a un URL che scegli tu, ed Echobell trasforma quel POST in una notifica di cui decidi il volume.
Scegli i topic che meritano di interromperti
Shopify chiama topic i tipi di evento webhook. Questi quattro coprono la maggior parte dei negozi gestiti da una sola persona:
| Topic | Cosa significa | Urgenza |
|---|---|---|
orders/create | È stato effettuato un ordine. | Normale |
orders/paid | Il pagamento è andato a buon fine. Usa questo se ti interessa solo il denaro davvero arrivato. | Normale |
orders/cancelled | Un cliente ha annullato. Meglio saperlo prima di imballare. | Sensibile al tempo |
refunds/create | È stato emesso un rimborso. | Sensibile al tempo |
Iscriviti a orders/create oppure a orders/paid, non a entrambi, a meno che tu non voglia davvero due notifiche per vendita. Per la maggior parte dei negozi orders/paid è quello onesto.
Passo 1 — Crea il canale
Crea un canale in Echobell chiamato per esempio "Ordini Shopify", copia il suo URL webhook e attiva Solo POST. Shopify invia sempre in POST.
Se vuoi un canale separato e più rumoroso per annullamenti e rimborsi, crealo adesso e impostalo su sensibile al tempo.
Passo 2 — Aggiungi il webhook in Shopify
Nell'admin di Shopify vai su Impostazioni → Notifiche → Webhook → Crea webhook. Scegli il topic, imposta il formato su JSON e incolla l'URL del canale.
Shopify invia un payload di prova al salvataggio. Se il telefono vibra, il percorso funziona.
Passo 3 — Metti a template solo i campi che leggi davvero
I payload degli ordini Shopify sono lunghi: oltre cento campi per ordine. Te ne servono pochi:
Titolo
Ordine #{{order_number}} · {{total_price}} {{currency}}
Corpo
{{customer.first_name}} {{customer.last_name}}
{{line_items[0].title}}
line_items è un array, quindi line_items[0] è il primo articolo. I template di Echobell supportano l'accesso per indice, ma non c'è un ciclo: un ordine da tre articoli mostra il primo e nient'altro. Se la cosa conta, metti il conteggio accanto:
{{line_items[0].title}} · {{line_items.length}} articoli in tutto
A differenza di Stripe, Shopify manda total_price come stringa decimale — "49.00", non 4900 — quindi si legge correttamente senza fare conti.
Passo 4 — Instrada per topic con una condizione
Se punti più topic sullo stesso canale, Shopify ti dice quale sia quale in un header:
header["x-shopify-topic"] == "orders/paid"
È il modo più pulito per separare i comportamenti senza creare un webhook per canale nell'admin.
Svegliami solo per gli ordini grossi
Lo schema che quasi tutti i negozianti vogliono davvero: tutti gli ordini vanno su un canale silenzioso, e solo quelli sopra una soglia su uno rumoroso.
Crea un secondo canale, mettilo su sensibile al tempo, puntaci un altro webhook orders/paid e dagli una condizione:
total_price > 500
Così una giornata normale è un brusio di fondo e un ordine da 900 € è qualcosa che senti.
Cosa questo non fa
Nessuna verifica HMAC. Shopify firma ogni webhook con un header X-Shopify-Hmac-Sha256. Echobell non lo verifica, quindi l'URL del canale è l'unica cosa che tiene fuori gli sconosciuti. Tienilo segreto, lascia Solo POST attivo e, se una notifica d'ordine falsificata causasse un danno reale, metti davanti un tuo endpoint che verifichi l'HMAC e che poi chiami Echobell.
Shopify può consegnare lo stesso webhook due volte. Riprova in caso di errore, e i tentativi non vengono deduplicati. Tratta la notifica come un invito a guardare l'ordine, non come un conteggio degli ordini. L'admin di Shopify è la fonte di verità.
I topic di inventario diventano rumorosi in fretta. inventory_levels/update scatta a ogni movimento di stock, comprese le tue modifiche. Se vuoi avvisi di scorte basse, filtra con decisione o te ne pentirai prima di pranzo.
Domande frequenti
Serve un'app Shopify per farlo?
No. I webhook sotto Impostazioni → Notifiche sono integrati nell'admin e non richiedono app, account partner o codice.
Il magazzino può vedere gli ordini senza vedere il mio admin Shopify?
Sì. Condividi il canale con loro. Ricevono le notifiche e nient'altro: nessun accesso all'admin e nessun dato cliente oltre a ciò che include il tuo template.
È il caso di mettere i nomi dei clienti nella notifica?
Decidi tu, ed è una scelta da fare consapevolmente. Tutto ciò che sta nel template compare su uno schermo bloccato. Numero d'ordine e totale di solito bastano per agire.
Posso ricevere una telefonata per un chargeback?
Le contestazioni di Shopify Payments arrivano tramite il topic disputes/create nei negozi che usano Shopify Payments. Puntalo su un canale in modalità chiamata: è l'unico evento d'ordine con una scadenza attaccata.
In chiusura
Un webhook, un template e una condizione se vuoi la versione rumorosa. Ci vogliono circa cinque minuti e sostituisce il ricaricare la pagina degli ordini.
Scarica Echobell per iPhone o prendilo su Google Play, poi fai un ordine di prova e guardalo arrivare prima dell'email di conferma.