Slik kobler du standard webhooks til Shopify Flow
Koble Standard Webhooks til Shopify Flow med HMAC-signaturverifisering ved hver forespørsel, slik at kun pålitelige hendelser utløser arbeidsflytene dine.
Standard Webhooks er en åpen spesifikasjon for signering av webhooks, som brukes av OpenAI, Supabase Auth Hooks og en stadig voksende liste over tjenester. Én forhåndsinnstilling dekker dem alle. Workflow Webhooks omdanner dette anropet til en Shopify Flow-utløser, slik at butikken din kan reagere på det: merke en kunde, legge til en bestillingsmerknad, sende en intern e-post, oppdatere et metafelt - alt Shopify Flow kan gjøre.
Denne veiledningen beskriver hele prosessen - Standard Webhooks sender, Workflow Webhooks mottar og verifiserer, Shopify Flow utfører - og HMAC-signaturen fra Standard Webhooks kontrolleres ved hver forespørsel, slik at kun Standard Webhooks kan sette i gang arbeidsflyten din.
Hva du kan bygge
- Ta utgangspunkt i en OpenAI-webhook - en ferdigbehandlet batchjobb eller et fullført svar - og la Shopify Flow iverksette tiltak i butikken din basert på resultatet.
- Reager på en Supabase Auth Hook, slik at en registrering i din egen app knytter seg til den tilsvarende Shopify-kunden.
- Motta data fra hvilken som helst tjeneste som følger standardwebhooks.com-spesifikasjonen, uten å måtte konfigurere en tilpasset signatur.
Typiske hendelser som kan sendes: alle hendelser som den sendende tjenesten definerer.
Den samme forhåndsinnstillingen verifiserer også webhooks fra OpenAI og Supabase Auth Hooks.
Før du begynner
- Workflow Webhooks-funksjonen er installert i din Shopify-butikk.
- Shopify Flow er installert - den er gratis å laste ned fra Shopify App Store.
- En konto på Standard Webhooks med rett til å opprette webhooks.
Trinn 1 - Opprett webhooken i Workflow Webhooks
- Åpne Workflow Webhooks → Webhooks → Opprett webhook og gi den et navn du vil kjenne igjen i Shopify Flow, for eksempel
Standard Webhooks events. - Under Autentisering velger du HMAC.
- Under Signaturleverandør velger du Standard Webhooks. Appen fyller ut overskriften, algoritmen, den signerte nyttelasten og replay-vinduet for deg - det er ikke noe annet du trenger å konfigurere.
- La «secret»-feltet stå tomt foreløpig, og klikk på Lagre. Kopier webhook-URL-en som vises på siden.
Se Autentisering for de andre autentiseringsmodusene, og Kartlegging av nyttelast og Shopify Flow-variabler for å velge hvilke felt som skal sendes til Shopify Flow.
Trinn 2 - Legg til endepunktet i «Standard Webhooks»
Legg til URL-adressen som endepunkt i sendetjenesten, og kopier deretter signeringsnøkkelen som vises (den begynner med whsec_).
Slik finner du signeringsnøkkelen for Standard Webhooks
Signeringshemmeligheten som begynner med whsec_. Lim den inn i sin helhet; hvis den vises som v1,whsec_... (Supabase), må du utelate «v1,» i begynnelsen.
Standard Webhooks’ egen dokumentasjon om webhook-signaturer inneholder den nøyaktige ordlyden og skjermbilder for din konto.
Lim inn denne nøkkelen i feltet Secret for webhooken i Workflow Webhooks, og lagre. Fra og med da blir hver levering fra Standard Webhooks verifisert før den når Shopify Flow.
Hva dette kontrollerer
| Hva | Verdi |
|---|---|
| Signaturhode | webhook-signature |
| Hvor signaturen skal plasseres | Verdien i overskriften, etter prefikset v1, |
| Hva er det som er undertegnet? | {header:webhook-id}.{timestamp}.{body} |
| Signatur | HMAC-SHA256, base64-kodet |
| Tidsstempel | webhook-timestamp-overskriften, angitt i Unix-sekunder |
| Beskyttelse mot avspilling | Forespørsler der den signerte tidsstemplingen ligger mer enn 5 minutter fra nåværende tidspunkt, blir avvist |
| Hemmeligheten | Base64-dekodet før bruk. Den innledende delen whsec_ fjernes før dekodingen. Lim den inn nøyaktig slik avsenderen viser den |
I den signerte nyttelasten er {body} selve forespørselsinnholdet, byte for byte, mens {timestamp} er tidsstemplet ovenfor, og {header:webhook-id} er forespørselshodet webhook-id.
En forespørsel som ikke oppfyller et av disse kravene, avvises med feilkoden 401, registreres i Historikk og feilsøking og setter aldri i gang en arbeidsflyt.
Trinn 3 - Opprett arbeidsflyten i Shopify Flow
- I Shopify Flow oppretter du en arbeidsflyt og velger utløseren Workflow Webhooks.
- Trykk på Registrer hendelser, og send deretter en testhendelse fra «Standard Webhooks» (eller bruk Send test i Workflow Webhooks), slik at Shopify Flow lærer seg hvordan dataene dine ser ut.
- Hver webhook du eier utløser den samme Shopify Flow-utløseren, så legg til et første vilkår basert på webhook-ID-en for å begrense denne arbeidsflyten til kun standard-webhooks. ID-en vises på webhook-siden.
- Legg til handlinger - merk en kunde, legg til en merknad, send en intern e-post, oppdater et metafelt.



Trinn 4 - Test det fra start til slutt
Utløs en reell hendelse i Standard Webhooks. Under Workflow Webhooks → History bør du se utløsningen med statusen Success. Hvis signaturen var feil, får du i stedet en feilmelding med årsaken, og Verifisering av signerte webhooks forklarer signaturtesteren som viser deg nøyaktig hvilket trinn som mislyktes.

Signaturen stemmer ikke overens
I denne rekkefølgen: hemmeligheten (den vanligste årsaken - et ekstra mellomrom eller en nøkkel fra feil miljø), om avsenderen bruker hemmeligheten til et annet endepunkt, og om noe mellom Standard Webhooks og appen omskriver brødteksten. Signaturene dekker de rå byteene, så en proxy som omformaterer JSON ødelegger dem. Signaturtesteren på webhook-siden viser den eksakte teksten som ble signert.
Jeg får feilmelding 401 ved hver forespørsel
Kontroller at autentiseringen for webhooken er satt til HMAC med leverandøren Standard Webhooks valgt, at den hemmelige nøkkelen er fylt ut, og at «Standard Webhooks» sender data til URL-adressen nøyaktig slik den vises i appen, inkludert koden på slutten.
Det vises ingenting i historikken
Forespørselen kom aldri frem. Sjekk URL-adressen på nytt i Standard Webhooks, og se i Standard Webhooks’ egen leveringslogg for å se hvilket svar den mottok. En 404-feil betyr at webhooken er feil eller slettet, mens en 429-feil betyr at du har overskredet antall utløsninger i abonnementet ditt - se Planer og bruk.
Arbeidsflyten kjører for feil hendelser
Hver webhook i nettbutikken din utløser den samme Shopify Flow-utløseren. Legg til et vilkår basert på webhook-ID-en som det første trinnet i arbeidsflyten, eller begrens hvilke hendelser du sender fra «Standard Webhooks».
Forespørsler mislykkes med feilmeldingen «tidsstempel utenfor toleransegrensen»
Standard Webhooks signerer en tidsstempel, og appen avviser alt som er eldre enn 5 minutter. Dette skyldes vanligvis et klokkeproblem på sendersiden, eller en levering som Standard Webhooks har forsøkt på nytt mye senere med den opprinnelige tidsstempelen. Nye forsøk fra den samme opprinnelige forespørselen godtas ikke; be Standard Webhooks om å sende en ny hendelse.
Relatert
- Verifisering av signerte webhooks - alle leverandører vi verifiserer, og hvordan man beskriver en vi ikke verifiserer.
- Kartlegging av nyttelast og Shopify Flow-variabler - hente de riktige feltene fra payloaden og overføre dem til Shopify Flow.
- Beskyttelse mot dobbeltlevering - hva som skjer når Standard Webhooks prøver på nytt å levere en melding.
- Historikk og feilsøking - loggen over alle forespørsler, med mulighet for gjengivelse.
