Så här kopplar du ihop Shopify med Shopify Flow
Ta emot Shopify-webhooks från en annan butik eller din egen app, verifiera HMAC-signaturen och starta arbetsflöden i Shopify Flow för ordrar och kunder.
Shopify-signerar sina egna webhooks och app-till-app-anrop med din apps API-hemlighet. Med den här förinställningen kan du ta emot en webhook från en annan Shopify-butik eller från din egen app och verifiera den precis enligt Shopifys dokumentation. 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 - Shopify skickar, Workflow Webhooks tar emot och verifierar, Shopify Flow utför åtgärder - där Shopifys HMAC-signatur kontrolleras vid varje förfrågan, så att endast Shopify kan starta ditt arbetsflöde.
Vad du kan bygga
- Synkronisera en beställning från en annan Shopify-butik till den här: märk kunden, lägg till en anteckning eller starta ett hanteringsflöde.
- Reagera i Shopify Flow på ett ämne som Shopify Flow inte erbjuder som utlösare genom att prenumerera på det från din egen app.
- Synkronisera en grossistbutik och en detaljhandelsbutik utan att behöva skriva en mellanvarutjänst.
Vanliga händelser som ska skickas: orders/create, products/update, customers/create, fulfillments/create.
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å Shopify 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
Shopify events. - Under ”Autentisering” väljer du HMAC.
- Under ”Signaturleverantör” väljer du Shopify. Appen fyller i rubriken, algoritmen, den signerade datan 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 Shopify
Skapa webhook-prenumerationen i den avsändande butiken eller appen med den URL du kopierade, och signera den med appens API-hemlighet.
Så här hittar du din Shopify-signaturnyckel
Din apps API-hemlighet / signeringshemligheten för webhooken.
Shopifys 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 Shopify innan den når Shopify Flow.
Vad detta kontrollerar
| Vad | Värde |
|---|---|
| Signaturrubrik | X-Shopify-Hmac-Sha256 |
| Var signaturen ska placeras | Hela värdet i rubriken |
| Vad som har undertecknats | {body} |
| Signatur | HMAC-SHA256, Base64-kodad |
| Tidsstämpel | Används inte av denna avsändare |
| Skydd mot uppspelning | Ingen - den här avsändaren signerar inte tidsstämpeln, så alla giltiga signaturer förblir giltiga |
| Hemligheten | Används som ren text. Klistra in den exakt så som avsändaren visar den |
I den signerade nyttolasten är {body} den obearbetade begäran, byte för byte.
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 Shopify (eller använd funktionen ”Skicka test” i Workflow Webhooks) så att Shopify Flow lär sig hur dina data ser ut.
- Varje webhook som du äger aktiverar samma utlösare i Shopify Flow, så lägg till ett första villkor baserat på webhook-ID:t för att begränsa detta arbetsflöde till endast Shopify. 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 Shopify. Under Workflow Webhooks -> Historik bör du se anropet med statusen Framgång. Om signaturen var felaktig får du istället en post som visar att det misslyckades, tillsammans med orsaken, och Verifiering av signerade webhooks förklarar signaturverifieraren 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 Shopify och appen omformaterar huvudtexten. Signaturerna omfattar de råa byte, så en proxy som omformaterar JSON gör dem ogiltiga. 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 Shopify som vald leverantör, att den hemliga nyckeln är ifylld och att Shopify skickar data till URL:en exakt så som appen visar den, inklusive koden i slutet.
Det visas inget i historiken
Förfrågan kom aldrig fram. Kontrollera URL-adressen i Shopify igen och titta i Shopifys 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 aktiverar 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 Shopify.
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 Shopify gör ett nytt leveransförsök.
- Historik och felsökning - loggen över varje förfrågan, med möjlighet att spela upp den.
