CORS, appens proxy-URL og browseranmodninger
Aktivér CORS, brug appens proxy-URL på butikkens domæne og se, hvad en webhook til Shopify Flow afslører, når den kaldes fra en browser.
En webhook udløses normalt fra server til server. Hvis du vil udløse en fra en browser - din webshop, en landingsside eller en kundeportal - er der to indstillinger, der er vigtige: »Aktiver CORS« og »Brug app-proxy-URL«. Begge findes under webhookens »Avancerede indstillinger«.
Aktivér CORS
Browsere afviser en anmodning på tværs af domæner, medmindre den modtagende server giver tilladelse til det. Aktiver »Enable CORS«, så svarer webhooken på browserens preflight-anmodning og accepterer opkaldet.
Preflight tillader også, at tokenet kan være indeholdt i en hvilken som helst header, herunder et brugerdefineret headernavn, som du selv har angivet, så browseren ikke støder på problemer med det.
Brug appens proxy-URL
Hver webhook har to adresser, som begge vises med en kopieringsknap under URL-indstillingerne:
| URL | Det ser ud til, at | Bemærkninger |
|---|---|---|
| Direkte app-URL | vores app-domæne, der slutter med webhook-koden | Fungerer altid, også på udviklingsmiljøer og adgangskodebeskyttede butikker |
| App-proxy-URL | en sti på butikkens eget domæne | Samme oprindelse som din webshop, så browseren behandler den som en førstepartsanmodning |
Aktivér »Brug app-proxy-URL« for at offentliggøre proxyadressen. Det integreres mere smidigt med webshoppen, og da det er samme oprindelse, behøver du ofte slet ikke CORS.
Det skal du vide, inden du tænder for den:
- Webshops skal være tilgængelige. I en adgangskodebeskyttet webshop, f.eks. en udviklingswebshop, svarer proxy-URL’en først, når adgangskoden til webshoppen er indtastet, så brugere uden for din webshop kan ikke benytte den der.
- IP-tilladelseslister gælder ikke for proxy-URL’en: disse anmodninger kommer til os fra Shopifys servere, så adressen siger intet om den oprindelige afsender.
- Shopify underskriver alle anmodninger via proxy-URL’en. Du kan bruge dette til at sikre, at kun indloggede kunder kan udløse webhooken, deaktivere den direkte URL og hente kundens ID i Shopify Flow: se Kunder, der er logget ind på din webshop.
Godkendelsen fungerer på samme måde på begge adresser. Det samme gælder Beskyttelse mod dobbeltlevering, historikken og planens begrænsning.
Tillad en brugerdefineret anmodningstekst
Også under Avancerede indstillinger: Indstillingen »Tillad brugerdefineret anmodningsindhold« deaktiverer den strenge validering af indholdet, så webhooken accepterer enhver JSON-struktur i stedet for kun de felter, du har tilknyttet. Brug denne indstilling, når afsenderens payload er dynamisk, eller når du ikke har kontrol over den. De tilknyttede felter sendes stadig til Shopify Flow på samme måde - se Kortlægning af payload og strømningsvariabler.
Relateret
- Godkendelse - hvad browseren skal sende.
- Kortlægning af payload og strømningsvariabler - hvilke felter der sendes til Shopify Flow.
- Kunder, der er logget ind på din webshop - kun indloggede kunder, med kunde-ID’et i Shopify Flow.
- Planer og anvendelse - hvert browseropkald tæller med i grænsen.
