Come collegare Svix a Shopify Flow
Svix è l’infrastruttura di webhook alla base di Clerk, Resend, Superwall e molti altri prodotti. Se il Suo mittente effettua le consegne tramite Svix, questa impostazione predefinita lo verifica. Workflow Webhooks trasforma tale chiamata in un trigger Shopify Flow, in modo che il Suo negozio possa reagire di conseguenza: contrassegnare un cliente, aggiungere una nota all’ordine, inviare un’e-mail interna, aggiornare un metacampo - qualsiasi cosa possa fare Shopify Flow.
La presente guida illustra l’intero percorso - Svix invia, Workflow Webhooks riceve e verifica, Shopify Flow agisce - con la firma HMAC di Svix verificata ad ogni richiesta, in modo che solo Svix possa avviare il Suo workflow.
Cosa potete realizzare
- Tag un cliente di Shopify quando Clerk segnala che questi si è registrato o ha verificato il proprio indirizzo e-mail nella Sua app.
- Reagisca a un evento di "Re-send" o di "bounce" e contrassegni il cliente il cui indirizzo risulta non valido.
- Ricevete dati da qualsiasi prodotto basato su Svix senza dover configurare una firma personalizzata.
Eventi tipici da inviare: qualsiasi evento definito dal servizio di invio.
Lo stesso preset verifica anche i webhook provenienti da Clerk, Resend e Superwall.
Prima di iniziare
- Workflow Webhooks installato sul Suo negozio Shopify.
- Shopify Flow installata, disponibile gratuitamente dall’App Store all’indirizzo Shopify.
- Un account su Svix 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 possa riconoscere in Shopify Flow, ad esempio
Svix events. - Nella sezione "Autenticazione", selezionare HMAC.
- Nella sezione “Provider di firma”, selezionate Svix. L’app inserisce automaticamente l’intestazione, l’algoritmo, il payload firmato e la finestra di replay: 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 inviare a Shopify Flow, consulti il sito Mappatura del payload e variabili di flusso.
Fase 2 - Aggiungere l'endpoint in Svix
Aggiunga l'URL come endpoint nelle impostazioni del webhook del servizio di invio, quindi visualizzi e copi il suo segreto di firma (che inizia con whsec_).
Come individuare il proprio segreto di firma Svix
Il segreto di firma dell'endpoint che inizia con "whsec_", presente nelle impostazioni del webhook del servizio.
La documentazione ufficiale di Svix sulle firme dei webhook, disponibile all'indirizzo, riporta il testo esatto e gli screenshot relativi al Suo account.
Inserisca tale chiave segreta nel campo "Secret" del webhook all'indirizzo Workflow Webhooks e salvi. Da quel momento in poi, ogni consegna Svix verrà verificata prima di raggiungere Shopify Flow.
Cosa verifica questa operazione
| Cosa | Valore |
|---|---|
| Intestazione della firma | svix-signature |
| Dove si trova la firma | Il valore dell'intestazione, dopo il prefisso v1, |
| Cosa è stato firmato | {header:svix-id}.{timestamp}.{body} |
| Firma | HMAC-SHA256, codificato in base64 |
| Data e ora | L'intestazione svix-timestamp, espressa in secondi Unix |
| Protezione contro la riproduzione | Le richieste il cui timestamp firmato risale a più di 5 minuti fa vengono respinte |
| Il segreto | Decodificato in Base64 prima dell'uso. Il prefisso whsec_ viene rimosso prima della decodifica. Lo incolli esattamente come lo mostra il mittente |
Nel payload firmato, {body} rappresenta il corpo della richiesta in formato grezzo, byte per byte, mentre {timestamp} corrisponde al timestamp sopra indicato e {header:svix-id} rappresenta l’intestazione della richiesta svix-id.
Una richiesta che non soddisfi uno qualsiasi di questi requisiti viene respinta con il codice di 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 Svix (oppure utilizzi l’opzione “Invia prova” in Workflow Webhooks) in modo che Shopify Flow apprenda 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 Svix. 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
Trigger un evento reale in Svix. In Workflow Webhooks -> Cronologia dovrebbe comparire 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; all’indirizzo Verifica dei webhook firmati è disponibile una guida al tester di firme che indica esattamente quale fase non è andata a buon fine.

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 Svix 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 di firme nella pagina del webhook mostra il testo esatto che è stato firmato.
Ricevo un errore 401 ad ogni richiesta▾
Verifichi che l'autenticazione del webhook sia impostata su HMAC con il provider Svix selezionato, che il codice segreto sia stato inserito e che Svix 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 Svix e controlli il registro di consegna di Svix per vedere quale risposta è stata ricevuta. Un codice di errore 404 indica un webhook errato o eliminato, mentre un codice 429 significa che ha superato il limite di invocazioni previsto dal Suo piano - 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 Svix.
Le richieste falliscono con il messaggio "timestamp fuori dai limiti di tolleranza"▾
Svix appone un timestamp e l’app rifiuta qualsiasi evento risalente a più di 5 minuti fa. Si tratta in genere di un problema di sincronizzazione dell’orologio da parte del mittente, oppure di un evento che Svix ha riprovato a inviare molto più tardi mantenendo il timestamp originale. I tentativi successivi relativi alla stessa richiesta originale non possono essere accettati; si prega di chiedere a Svix di inviare un nuovo evento.
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 succede quando Svix riprova a effettuare una consegna.
- Cronologia e risoluzione dei problemi - il registro di ogni richiesta, con la possibilità di riprodurla.

