Come collegare Typeform a Shopify Flow

Typeform invia un Webhook ogni volta che qualcuno compila uno dei Suoi moduli, con tutte le risposte incluse nel Payload. Workflow Webhooks trasforma tale chiamata in un Trigger di 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 cosa Shopify Flow sia in grado di fare.

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

Cosa potete realizzare

  • Tag il cliente che ha compilato un sondaggio post-acquisto in base alle risposte fornite.
  • Si prega di inserire un punteggio di soddisfazione nella scheda del cliente come metacampo.
  • Inoltrino le risposte negative direttamente al Suo team di assistenza tramite e-mail.

Eventi tipici da inviare: viene inviata una risposta a un modulo.

Prima di iniziare

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

Fase 1 - Creare il webhook all'indirizzo Workflow Webhooks

  1. Acceda a Workflow Webhooks -> Webhook -> Crea webhook e assegni al webhook un nome che potrà riconoscere in Shopify Flow, ad esempio Typeform events.
  2. Nella sezione "Autenticazione", selezionate HMAC.
  3. Nella sezione “Fornitore di firma”, selezioni Typeform. L’app compila automaticamente l’intestazione, l’algoritmo, il payload firmato e la 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 inviare a Shopify Flow, si prega di consultare Mappatura del payload e variabili di flusso.

Fase 2 - Aggiungere l'endpoint in Typeform

Apra il modulo, vada su “Connetti” -> “Webhook” -> “Aggiungi un webhook”, incolli l’URL, quindi attivi l’opzione “Codice segreto” e ne inserisca uno.

Come individuare il proprio codice segreto di firma Typeform

La chiave segreta configurata nel webhook di Typeform.

La documentazione di Typeform relativa alle firme dei webhook, disponibile all’indirizzo, riporta 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 invio da Typeform verrà verificato prima di raggiungere Shopify Flow.

Cosa verifica questa operazione

Cosa Valore
Intestazione della firma Typeform-Signature
Dove si trova la firma Il valore dell'intestazione, dopo il prefisso sha256=
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 alcuna 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 non elaborato, byte per byte.

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

  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 Typeform (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 dispone attiva lo stesso trigger di Shopify Flow; pertanto, aggiunga una prima condizione relativa all’ID del webhook per limitare questo workflow esclusivamente a Typeform. L’ID è riportato nella pagina dedicata ai webhook.
  4. Aggiunga le Sue azioni: contrassegni un cliente, aggiunga una nota, invii un’e-mail interna, aggiorni un metacampo.
Shopify Flow
In Shopify Flow, selezioni "Seleziona un trigger", apra Workflow Webhooks e scelga "Trigger Webhook".
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 basata sull’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 vostra azione sul ramo “True”.

Fase 4 - Eseguire un test end-to-end

Trigger un evento reale in Typeform. In Workflow Webhooks -> Cronologia dovrebbe visualizzare la richiesta con lo stato “Successo”. Se la firma non era corretta, riceverà invece una registrazione con esito negativo e il motivo corrispondente; inoltre, all’indirizzo Verifica dei webhook firmati è disponibile lo strumento di verifica della firma che le mostrerà esattamente quale fase non è andata a buon fine.

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 Typeform 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 Typeform selezionato, che il codice segreto sia stato inserito e che Typeform invii i dati all'URL esattamente come indicato dall'app, compreso il codice alla fine.

Nella cronologia non compare nulla▾

La richiesta non è mai pervenuta. Verifichi nuovamente l’URL in Typeform e consulti il registro di consegna di Typeform per verificare la risposta ricevuta. 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 la selezione degli eventi inviati da Typeform.

Correlati