Come collegare Sentry a Shopify Flow

Sentry può inviare una notifica a un’integrazione quando viene creato, assegnato o risolto un ticket, oppure quando viene generato un avviso. Workflow Webhooks trasforma tale notifica in un trigger Shopify Flow, in modo che il Suo negozio possa reagire di conseguenza: assegnare un tag a un cliente, aggiungere una nota all’ordine, inviare un’e-mail interna, aggiornare un metacampo - qualsiasi operazione che Shopify Flow sia in grado di eseguire.

La presente guida illustra l'intero percorso - Sentry invia, Workflow Webhooks riceve e verifica, Shopify Flow agisce - con la firma HMAC di Sentry verificata ad ogni richiesta, in modo che solo Sentry possa avviare il Suo workflow.

Cosa potete realizzare

  • Inviare un’e-mail al responsabile di turno, fornendo il contesto relativo al negozio, quando si registra un picco di errori durante il processo di checkout.
  • Inserisca l'ora dell'ultimo evento in un metacampo del negozio che il Suo tema sia in grado di leggere.
  • Avviare un Shopify Flow che metta in pausa una promozione quando viene generato un avviso critico.

Eventi tipici da inviare: viene creato un ticket, si attiva una regola di avviso, un ticket viene risolto.

Prima di iniziare

  • Workflow Webhooks installato sul Suo negozio Shopify.
  • Shopify Flow installata, disponibile gratuitamente dall’App Store all’indirizzo Shopify.
  • Un account su Sentry con l'autorizzazione a creare webhook.

Fase 1 - Creare il webhook su Workflow Webhooks

  1. Acceda a Workflow Webhooks -> Webhook -> Crea webhook e assegni al webhook un nome che potrà riconoscere in Shopify Flow, ad esempio Sentry events.
  2. Nella sezione "Autenticazione", selezionare HMAC.
  3. Nella sezione “Provider di firma”, selezionate Sentry. L’app compila automaticamente i campi relativi all’intestazione, all’algoritmo, al payload firmato e alla finestra di replay: non è necessario configurare nient’altro.
  4. 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, si prega di consultare Autenticazione; per informazioni su come scegliere quali campi trasmettere a Shopify Flow, si prega di consultare Mappatura del payload e variabili di flusso.

Fase 2 - Aggiungere l'endpoint in Sentry

In Sentry, apra la Sua app della piattaforma di integrazione, imposti l’URL del webhook con l’URL che ha copiato, attivi gli eventi desiderati e copi il segreto client.

Come individuare il Suo segreto di firma Sentry

Il segreto client della Sua integrazione con Sentry.

La documentazione ufficiale di Sentry 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 notifica inviata da Sentry verrà verificata prima di raggiungere Shopify Flow.

Cosa verifica questa operazione

Cosa Valore
Intestazione della firma Sentry-Hook-Signature
Dove si trova la firma Il valore completo dell'intestazione
Cosa è stato firmato {body}
Firma HMAC-SHA256, codificato in esadecimale
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 appare nel messaggio del mittente

Nel payload firmato, {body} rappresenta il corpo della richiesta in formato grezzo, 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

  1. In "Shopify Flow", crei un workflow e selezioni il trigger "Workflow Webhooks".
  2. Clicchi su “Registra eventi”, quindi invii un evento di prova da Sentry (oppure utilizzi l’opzione “Invia prova” in Workflow Webhooks) in modo che Shopify Flow apprenda la struttura dei Suoi dati.
  3. Ogni webhook di cui disponete attiva lo stesso trigger del flusso; pertanto, aggiungete una prima condizione relativa all’ID del webhook per limitare questo workflow esclusivamente a Sentry. L’ID è riportato nella pagina dedicata ai webhook.
  4. Aggiunga le Sue azioni: tagga un cliente, aggiunga una nota, invii un’e-mail interna, aggiorni un metacampo.
Shopify Flow
In Shopify Flow, selezioni "Select a trigger", apra Workflow Webhooks e scelga "Webhook Trigger".
Condizione del flusso: l’ID del webhook è uguale all’ID di un webhook
Il primo passo di ogni workflow: una condizione relativa all’ID del webhook, in modo che il workflow venga eseguito solo per questo webhook.
Il workflow completato: trigger webhook, una condizione relativa all’ID del webhook, quindi invio di un’e-mail interna nel ramo “True”
Il workflow completato: trigger, condizione basata sull’ID del webhook, quindi la Sua azione sul ramo “True”.

Fase 4 - Eseguire un test end-to-end

Trigger un evento reale in Sentry. 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 illustra esattamente in quale fase si è verificato l’errore.

Un'invocazione aperta in History con le intestazioni della richiesta, il payload, lo stato, la durata e gli identificatori
Un evento "Consegnato" in Storia: lo stato "Successo" indica che Shopify Flow lo ha accettato.
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 Sentry 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 presente nella pagina dei webhook mostra il testo esatto che è stato firmato.

Ricevo un errore 401 a ogni richiesta▾

Verifichi che l'autenticazione del webhook sia impostata su HMAC con il provider Sentry selezionato, che il codice segreto sia stato inserito e che Sentry 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 Sentry e controlli il registro di consegna di Sentry 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; per ulteriori informazioni, consulti 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 il campo degli eventi che invia da Sentry.

Correlati