Så här kopplar du standardwebhooks till Shopify Flow
Anslut Standard Webhooks till Shopify Flow med HMAC-signaturverifiering vid varje förfrågan, så att endast betrodda händelser utlöser dina arbetsflöden.
Standard Webhooks är en öppen specifikation för signering av webhooks, som används av OpenAI, Supabase Auth Hooks och ett växande antal tjänster. En förinställning täcker dem alla. Workflow Webhooks omvandlar det anropet till en Shopify Flow-utlösare, så att din butik kan reagera på det: märka en kund, lägga till en orderanteckning, skicka ett internt e-postmeddelande, uppdatera ett metafält - allt som Shopify Flow kan göra.
Den här guiden beskriver hela processen - Standard Webhooks skickar, Workflow Webhooks tar emot och verifierar, Shopify Flow utför åtgärder - där Standard Webhooks HMAC-signatur kontrolleras vid varje förfrågan, så att endast Standard Webhooks kan starta ditt arbetsflöde.
Vad du kan bygga
- Ta en OpenAI-webhook - ett avslutat batchjobb eller ett färdigbehandlat svar - och låt Shopify Flow vidta åtgärder utifrån resultatet i din butik.
- Reagera på en Supabase Auth-hook, så att en registrering i din egen app kopplas till den motsvarande Shopify-kunden.
- Ta emot data från vilken tjänst som helst som följer standardwebhooks.com-specifikationen utan att behöva konfigurera en anpassad signatur.
Typiska händelser som ska skickas: alla händelser som den sändande tjänsten definierar.
Samma förinställning verifierar även webhooks från OpenAI och Supabase Auth Hooks.
Innan du börjar
- Workflow Webhooks-funktioner som är installerade i din Shopify-butik.
- Shopify Flow är installerat, vilket är gratis att hämta från Shopify App Store.
- Ett konto på Standard Webhooks med behörighet att skapa webhooks.
Steg 1 - Skapa webhooken i Workflow Webhooks
- Öppna ”Workflow Webhooks”** -> ”Webhooks” -> ”Skapa webhook”** och ge den ett namn som du känner igen i Shopify Flow, till exempel
Standard Webhooks events. - Under ”Autentisering” väljer du HMAC.
- Under ”Signaturleverantör” väljer du ”Standardwebhooks”. Appen fyller i rubriken, algoritmen, den signerade nyttolasten och återuppspelningsfönstret åt dig - det finns inget annat att konfigurera.
- Lämna fältet för hemligheten tomt för tillfället och klicka på Spara. Kopiera webhook-URL:en som visas på sidan.
Se Autentisering för övriga autentiseringslägen och Kartläggning av nyttolast och Shopify Flow-variabler för information om hur du väljer vilka fält som ska skickas till Shopify Flow.
Steg 2 - Lägg till slutpunkten i Standard Webhooks
Lägg till URL:en som slutpunkt i sändningstjänsten och kopiera sedan den signeringsnyckel som visas (den börjar med whsec_).
Så här hittar du din signeringsnyckel för Standard Webhooks
Signeringshemligheten som börjar med whsec_. Klistra in den i sin helhet; om den visas som v1,whsec_... (Supabase), utelämna den inledande ”v1,”.
Standard Webhooks egen dokumentation om webhook-signaturer innehåller den exakta formuleringen och skärmdumpar för just ditt konto.
Klistra in den hemliga koden i fältet ”Secret” för webhooken i Workflow Webhooks och spara. Från och med då verifieras varje leverans från Standard Webhooks innan den når Shopify Flow.
Vad detta kontrollerar
| Vad | Värde |
|---|---|
| Signaturrubrik | webhook-signature |
| Var signaturen ska placeras | Värdet i rubriken, efter prefixet v1, |
| Vad som har undertecknats | {header:webhook-id}.{timestamp}.{body} |
| Signatur | HMAC-SHA256, Base64-kodad |
| Tidsstämpel | webhook-timestamp-rubriken, uttryckt i Unix-sekunder |
| Skydd mot uppspelning | Förfrågningar vars signerade tidsstämpel ligger mer än 5 minuter från nuvarande tidpunkt avvisas |
| Hemligheten | Avkodas med Base64 före användning. Det inledande whsec_-prefixet tas bort före avkodningen. Klistra in det exakt så som avsändaren visar det |
I den signerade nyttolasten är {body} den obearbetade begäran, byte för byte, {timestamp} är tidsstämpeln ovan och {header:webhook-id} är begäranrubriken webhook-id.
En begäran som inte uppfyller något av dessa krav avvisas med 401, registreras i Historik och felsökning och sätter aldrig igång ett arbetsflöde.
Steg 3 - Skapa arbetsflödet i Shopify Flow
- I Shopify Flow skapar du ett arbetsflöde och väljer utlösaren ”Workflow Webhooks”.
- Klicka på ”Spela in händelser” och skicka sedan en testhändelse från ”Standard Webhooks” (eller använd ”Skicka test” i ”Workflow Webhooks”) så att Shopify Flow lär sig hur dina data ser ut.
- Varje webhook som du äger utlöser samma Shopify Flow-utlösare, så lägg till ett första villkor baserat på **webhook-ID:**t för att begränsa detta arbetsflöde till endast standardwebhooks. ID:t visas på webhook-sidan.
- Lägg till dina åtgärder - märk en kund, lägg till en anteckning, skicka ett internt e-postmeddelande, uppdatera ett metafält.



Steg 4 - Testa systemet från början till slut
Utlös en verklig händelse i Standard Webhooks. Under ”Workflow Webhooks” → ”History” bör du se anropet med statusen ”Success”. Om signaturen var felaktig visas istället en post om misslyckande med orsaken angiven, och Verifiering av signerade webhooks förklarar signaturtestaren som visar exakt vilket steg som misslyckades.

Signaturen stämmer inte överens
I följande ordning: hemligheten (den vanligaste orsaken - ett extra mellanslag eller en nyckel från fel miljö), om avsändaren använder en annan ändpunkts hemlighet, och om något mellan Standard Webhooks och appen omskriver huvudtexten. Signaturerna omfattar de råa byte, så en proxy som omformaterar JSON bryter dem. Signaturtestaren på webhook-sidan visar den exakta texten som signerades.
Jag får felkod 401 vid varje förfrågan
Kontrollera att webhookens autentisering är inställd på HMAC med leverantören ”Standard Webhooks” vald, att den hemliga nyckeln är ifylld och att ”Standard Webhooks” skickar data till URL:en exakt så som den visas i appen, inklusive koden i slutet.
Det visas inget i historiken
Begäran kom aldrig fram. Kontrollera URL-adressen i Standard Webhooks igen och titta i Standard Webhooks egen leveranslogg för att se vilket svar som mottogs. Ett 404-fel innebär att webhooken är felaktig eller har tagits bort, medan ett 429-fel innebär att du har överskridit antalet anrop som ingår i ditt abonnemang - se Planer och användning.
Arbetsflödet körs för fel händelser
Varje webhook i din butik utlöser samma utlösare i Shopify Flow. Lägg till ett villkor baserat på **webhook-ID:**t som det första steget i arbetsflödet, eller begränsa vilka händelser du skickar från standardwebhooks.
Förfrågningarna misslyckas med felmeddelandet ”tidsstämpel utanför toleransgränsen”
Standard Webhooks signerar en tidsstämpel och appen avvisar allt som är äldre än 5 minuter. Detta beror vanligtvis på ett klockproblem hos avsändaren, eller på att Standard Webhooks har gjort ett nytt försök mycket senare med den ursprungliga tidsstämpeln. Nya försök från samma ursprungliga begäran godkänns inte; be Standard Webhooks att skicka en ny händelse.
Relaterat
- Verifiering av signerade webhooks - alla leverantörer som vi verifierar, samt hur man beskriver en leverantör som vi inte verifierar.
- Kartläggning av nyttolast och Shopify Flow-variabler - att hämta rätt fält från payloaden och överföra dem till Shopify Flow.
- Skydd mot dubbla leveranser - vad som händer när Standard Webhooks gör ett nytt försök att leverera.
- Historik och felsökning - loggen över varje förfrågan, med möjlighet att spela upp den.
