Kunder som er logget inn på nettbutikken din
La kun innloggede kunder kalle opp en webhook via nettbutikkens domene, deaktiver den direkte URL-en og hent den bekreftede kunde-ID-en i Shopify Flow.
Kall opp en webhook fra din egen nettbutikk og finn ut hvilken kunde som sendte den. Et bestillingsskjema for grossist, en knapp for nybestilling på en B2B-kontoside eller et forespørselsskjema for innloggede kunder kan starte en Shopify Flow-arbeidsflyt, og arbeidsflyten mottar ID-en til den innloggede kunden. Shopify signerer denne ID-en, slik at ingen kan utgi seg for å være en annen kunde.
Dette bygger videre på app-proxy-URL-en, se CORS, appens proxy-URL og nettleserforespørsler.
Sett det opp
- Åpne webhooken og gå til Avanserte innstillinger.
- Under URL-innstillinger må du aktivere Bruk app-proxy-URL. Webhook-URL-en ligger nå på nettbutikkens domene, for eksempel
https://your-store.com/apps/webhooks/abc123. - Under «Hvem kan utløse denne webhooken?» velger du ett av tre alternativer:
| Alternativ | URL for app-proxy | Direkte URL til appen |
|---|---|---|
| Alle som har nettadressen | Fungerer for alle | Verk |
| Kun via butikkens domene | Fungerer for alle, også gjester | Avvist med feilkode 403 |
| Kun kunder som er logget inn i nettbutikken din | Fungerer for innloggede kunder; gjester får feilmelding 401 | Avvist med feilkode 403 |
- Lagre. Innstillingen gjelder for neste forespørsel.

Hva appen sjekker
Hver forespørsel som sendes via appens proxy-URL, inneholder en signatur fra Shopify. Appen sjekker følgende, i denne rekkefølgen:
- Signaturen. En forespørsel uten en gyldig Shopify-signatur avvises med feilkode 401. Ingen kan forfalske den, fordi Shopify genererer den ved hjelp av appens hemmelige nøkkel.
- Din butikk. En forespørsel som er signert for en annen butikk, avslås med feilkode 403.
- Den innloggede kunden. Når det kun er_ kunder som er logget inn i butikken din_, avvises en forespørsel uten en innlogget kunde med feilkoden 401 (
customer_login_required). Kunde-ID-en hentes fra signaturen, aldri fra forespørselens brødtekst. - Den direkte URL-adressen. Uansett hvilken begrensning som gjelder, returnerer den direkte app-URL-adressen feilkoden 403 (
proxy_required), slik at ingen kan omgå disse kontrollene.
En avvist forespørsel når aldri Shopify Flow og teller ikke med i abonnementet ditt.
Hva Shopify Flow mottar
Webhook-utløseren og synkroniserings-webhook-utløseren har et felt kalt customerId: den numeriske ID-en til den innloggede kunden, for eksempel 7350001. Feltet er tomt for gjester og for alle forespørsler som ikke kom via appens proxy-URL. De tilordnede feltene dine kommer inn som vanlig; se Kartlegging av nyttelast og Shopify Flow-variabler.
Ring fra butikken din
Forespørselen må komme fra en side i nettbutikken din mens kunden er logget inn, slik at den går via nettbutikkens domene. Kopier webhook-URL-en fra appen: Shopify lar deg endre proxybanen, så din kan avvike fra eksemplet. Dette kodestykket i en temaseksjon sender firmaadressen til den B2B-kunden kjøper for:
<script>
fetch('/apps/webhooks/abc123', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
companyLocationId: 'gid://shopify/CompanyLocation/{{ customer.current_location.id }}'
})
})
</script>Knytt felt 1 til companyLocationId, slik at arbeidsflyten mottar stedet som fieldOne.
Sjekk inn kunden i Shopify Flow
Shopify Flow kan hente inn all informasjon om kunden, så sjekken hører hjemme i arbeidsflyten:
- Utløser: Webhook-utløser fra Workflow Webhooks. Hvis du har flere webhooks, må du legge til et vilkår: Webhook-ID-en må være den samme som ID-en som vises i appen.
- Hent kundedata med spørringen
id:{{customerId}}. Shopify Flow henter inn den innloggede kunden, inkludert tagger og roller i bedriften. - Betingelse: Kunden har taggen
wholesale, og en av bedriftens kontaktprofiler har en rolletildeling der bedriftens lokasjons-ID er likfieldOne, og der rollen erOrdering onlyellerLocation admin. - I så fall: utfør handlingene dine, for eksempel opprett et ordreutkast for det aktuelle stedet. Ellers: avbryt, eller send et svar til butikkfronten med Synkron respons, slik at siden kan forklare kunden hvorfor.
Godt å vite
- Appens proxy-URL krever at nettbutikken din er tilgjengelig. For en passordbeskyttet nettbutikk svarer den først etter at passordet til nettbutikken er oppgitt.
- Gjestene får svar 401, så vis en påloggingslenke på den siden.
- Historikken viser kunde-ID-en for hver forespørsel, og en gjengivelse sender den på nytt.
- Når en kunde ber om at opplysningene sine skal slettes, blir historikkoppføringene de har sendt inn, slettet.
