Slik kobler du Shopify til Shopify Flow
Motta Shopify-webhooks for bestillinger, produkter og kunder fra en annen butikk eller egen app som HMAC-verifiserte Shopify Flow-utløsere.
Shopify-signerer sine egne webhooks og app-til-app-anrop med appens API-hemmelighet. Denne forhåndsinnstillingen lar deg motta en webhook fra en annen Shopify-butikk eller fra din egen app, og verifisere den nøyaktig slik Shopify beskriver. 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 - Shopify sender, Workflow Webhooks mottar og verifiserer, Shopify Flow utfører - og Shopifys HMAC-signatur kontrolleres ved hver forespørsel, slik at kun Shopify kan sette i gang arbeidsflyten din.
Hva du kan bygge
- Synkroniser en ordre fra en annen Shopify-butikk til denne: merk kunden, legg til en merknad eller start en arbeidsflyt for ordrebehandling.
- Reager i Shopify Flow på et emne som Shopify Flow ikke tilbyr som utløser, ved å abonnere på det fra din egen app.
- Sørg for at grossistbutikken og detaljhandelsbutikken fungerer i takt uten å måtte utvikle en mellomvaretjeneste.
Typiske hendelser som skal sendes: orders/create, products/update, customers/create, fulfillments/create.
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å Shopify med tillatelse 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
Shopify events. - Under Autentisering velger du HMAC.
- Under Signaturleverandør velger du Shopify. 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 Shopify
Opprett webhook-abonnementet i den sendende butikken eller appen med URL-adressen du kopierte, og signer det med appens API-nøkkel.
Slik finner du din Shopify-signeringsnøkkel
Appens API-hemmelighet / signeringshemmeligheten for webhooken.
Shopifys 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 det øyeblikket blir hver eneste Shopify-levering verifisert før den når Shopify Flow.
Hva dette kontrollerer
| Hva | Verdi |
|---|---|
| Signaturhode | X-Shopify-Hmac-Sha256 |
| Hvor signaturen skal plasseres | Hele verdien i overskriften |
| Hva er det som er undertegnet? | {body} |
| Signatur | HMAC-SHA256, base64-kodet |
| Tidsstempel | Brukes ikke av denne avsenderen |
| Beskyttelse mot avspilling | Ingen - denne avsenderen signerer ikke tidsstemplet, så alle gyldige signaturer forblir gyldige |
| Hemmeligheten | Brukes som ren tekst. Lim den inn nøyaktig slik avsenderen viser den |
I den signerte nyttelasten er {body} selve forespørselsteksten, byte for byte.
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 Shopify (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 å sikre at denne arbeidsflyten kun gjelder Shopify. 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 ekte hendelse i Shopify. Under Workflow Webhooks → Historikk bør du se utløsningen med statusen Suksess. 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 Shopify og appen omskriver brødteksten. Signaturene gjelder 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 Shopify-leverandøren valgt, at den hemmelige nøkkelen er fylt ut, og at Shopify sender data til URL-adressen nøyaktig slik appen viser den, inkludert koden på slutten.
Det vises ingenting i historikken
Forespørselen kom aldri frem. Sjekk URL-adressen på nytt i Shopify, og se i Shopifys egen leveringslogg for å se hvilket svar systemet 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 Shopify.
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 skjer når Shopify prøver på nytt å levere en forsendelse.
- Historikk og feilsøking - loggen over alle forespørsler, med mulighet for gjengivelse.
