Come collegare Shopify a Shopify Flow
Shopify autenticazione dei propri webhook e delle chiamate da app a app utilizzando la chiave segreta API della vostra app. Questa impostazione predefinita Le consente di ricevere un Webhook da un altro negozio Shopify o dalla Sua stessa app e di verificarlo esattamente come descritto in Shopify. Workflow Webhooks trasforma tale chiamata in un trigger Shopify Flow, in modo che il Suo negozio possa reagire ad essa: contrassegnare un cliente, aggiungere una nota all’ordine, inviare un’e-mail interna, aggiornare un metacampo - qualsiasi cosa Shopify Flow sia in grado di fare.
La presente guida illustra l’intero percorso - Shopify invia, Workflow Webhooks riceve e verifica, Shopify Flow agisce - con la firma HMAC di Shopify verificata ad ogni richiesta, in modo che solo Shopify possa avviare il Suo workflow.
Cosa potete realizzare
- Replichi un ordine proveniente da un secondo negozio Shopify in questo: contrassegni il cliente, aggiunga una nota o avvii un Workflow per l’evasione dell’ordine.
- Per reagire in Shopify Flow a un argomento che Shopify Flow non offre di per sé come trigger, è necessario iscriversi ad esso dalla propria app.
- Coordinare le attività di un negozio all’ingrosso e di un negozio al dettaglio senza dover sviluppare un servizio di intermediazione.
Eventi tipici da inviare: orders/create, products/update, customers/create, fulfillments/create.
Prima di iniziare
- Workflow Webhooks installato sul Suo negozio Shopify.
- Shopify Flow installata, disponibile gratuitamente dall’App Store all’indirizzo Shopify.
- Un account su Shopify con l'autorizzazione a creare webhook.
Fase 1 - Creare il webhook all'indirizzo Workflow Webhooks
- Acceda a Workflow Webhooks -> Webhook -> Crea webhook e assegni al webhook un nome che potrà riconoscere in Shopify Flow, ad esempio
Shopify events. - Nella sezione "Autenticazione", selezionare HMAC.
- Nella sezione “Fornitore di firma”, selezioni “Shopify”. L’app inserisce automaticamente l’intestazione, l’algoritmo, il payload firmato e la finestra di riproduzione; non è necessario configurare nient’altro.
- Per il momento lasci il campo "Segreto" vuoto e clicchi su "Salva". Copi l'URL del webhook visualizzato nella pagina.
Per ulteriori informazioni sulle altre modalità di autenticazione, consulti il sito Autenticazione; per scegliere quali campi vengono trasmessi a Shopify Flow, consulti il sito Mappatura del payload e variabili di flusso.
Fase 2 - Aggiungere l'endpoint in Shopify
Creare l'abbonamento al webhook sullo store o sull'app di invio utilizzando l'URL che ha copiato e firmarlo con la chiave segreta API di tale app.
Come individuare il proprio segreto di firma Shopify
Il segreto API della Sua app / il segreto di firma del webhook.
La documentazione ufficiale di Shopify sulle firme dei webhook contiene il testo esatto e le schermate relative al Suo account.
Inserisca tale codice segreto nel campo "Secret" del webhook all'indirizzo Workflow Webhooks e salvi. Da quel momento in poi, ogni consegna effettuata tramite Shopify verrà verificata prima di raggiungere Shopify Flow.
Cosa verifica questa operazione
| Cosa | Valore |
|---|---|
| Intestazione della firma | X-Shopify-Hmac-Sha256 |
| Dove si trova la firma | Il valore completo dell'intestazione |
| Cosa è stato firmato | {body} |
| Firma | HMAC-SHA256, codificato in base64 |
| Data e ora | Non utilizzato da questo mittente |
| Protezione contro la riproduzione | Nessuna - questo mittente non appone una firma sul timestamp, pertanto ogni firma valida rimane valida |
| Il segreto | Da utilizzare come testo semplice. Lo incolli esattamente come lo presenta il mittente |
Nel payload firmato, {body} rappresenta il corpo della richiesta non elaborato, byte per byte.
Una richiesta che non soddisfi uno qualsiasi di questi requisiti viene respinta con l'errore 401, viene registrata in Cronologia e risoluzione dei problemi e non avvia mai un workflow.
Fase 3 - Creazione del workflow Shopify Flow
- In "Shopify Flow", crei un workflow e selezioni il trigger "Workflow Webhooks".
- Clicchi su “Registra eventi”, quindi invii un evento di prova da Shopify (oppure utilizzi l’opzione “Invia prova” su Workflow Webhooks) in modo che Shopify Flow possa apprendere la struttura dei Suoi dati.
- Ogni webhook di cui disponete attiva lo stesso trigger di Shopify Flow; pertanto, aggiungete una prima condizione relativa all’ID del webhook per limitare questo workflow esclusivamente a Shopify. L’ID è riportato nella pagina dedicata ai webhook.
- Aggiunga le Sue azioni: contrassegni un cliente, aggiunga una nota, invii un’e-mail interna, aggiorni un metacampo.



Fase 4 - Eseguire un test end-to-end
Attivi un evento reale in Shopify. Alla pagina Workflow Webhooks -> Cronologia dovrebbe visualizzare la richiesta con lo stato “Successo”. Se la firma non era corretta, verrà invece visualizzata una voce con lo stato “Fallito” e il motivo corrispondente; alla pagina Verifica dei webhook firmati è disponibile una guida allo strumento di verifica della firma che Le mostra esattamente quale fase non ha superato il controllo.

La firma non corrisponde▾
In questo ordine: il segreto (la causa più comune è uno spazio in eccesso o una chiave proveniente da un ambiente errato), se il mittente sta utilizzando il segreto di un endpoint diverso e se qualcosa tra Shopify e l’app riscrive il corpo del messaggio. Le firme coprono i byte grezzi, pertanto un proxy che riformatta il JSON le invalida. Il tester delle firme nella pagina del webhook mostra il testo esatto che è stato firmato.
Ricevo un errore 401 ad ogni richiesta▾
Si assicuri che l'autenticazione del webhook sia impostata su HMAC con il provider "Shopify" selezionato, che il segreto sia stato inserito e che Shopify invii i dati all'URL esattamente come indicato dall'app, compreso il codice alla fine.
Nella cronologia non compare nulla▾
La richiesta non è mai arrivata. Verifichi nuovamente l'URL in Shopify e controlli il registro di consegna di Shopify per vedere quale risposta ha ricevuto. Un errore del tipo 404 indica un webhook errato o eliminato, mentre un errore del tipo 429 significa che ha superato il limite di invocazioni previsto dal Suo piano; si veda Piani e utilizzo.
Il workflow viene eseguito per eventi non corretti▾
Ogni webhook del Suo negozio attiva lo stesso trigger di Shopify Flow. Aggiunga una condizione relativa all’ID del webhook come primo passo del workflow, oppure restringa gli eventi che invia da Shopify.
Correlati
- Verifica dei webhook firmati - ogni fornitore che verifichiamo e come descrivere quelli che non verifichiamo.
- Mappatura del payload e variabili di flusso - estrarre i campi corretti dal payload e inserirli in Shopify Flow.
- Protezione contro le consegne duplicate - cosa accade quando Shopify effettua un nuovo tentativo di consegna.
- Cronologia e risoluzione dei problemi - il registro di ogni richiesta, con la possibilità di riprodurla.

