CORS, appens proxy-URL och webbläsarens anrop
Aktivera CORS, publicera webhooken på butikens egen domän med appens proxy-URL och ta reda på vad en webhook som kan anropas från en webbläsare exponerar.
En webhook anropas normalt mellan servrar. Om du vill anropa en webhook från en webbläsare - din webbutik, en landningssida eller en kundportal - är det två inställningar som är viktiga: Aktivera CORS och Använd appens proxy-URL. Båda dessa inställningarna finns under webhookens avancerade inställningar.
Aktivera CORS
Webbläsare avvisar en begäran mellan olika ursprung om inte den mottagande servern godkänner den. Aktivera ”Enable CORS” så svarar webhooken på webbläsarens förhandsförfrågan och godkänner anropet.
Förkontrollen tillåter även att vilken rubrik som helst innehåller din token, inklusive ett anpassat rubriknamn som du själv anger, så att webbläsaren inte stöter på några problem.
Använd appens proxy-URL
Varje webhook har två adresser, som båda visas med en kopieringsknapp under URL-inställningarna:
| URL | Det verkar som om | Anmärkningar |
|---|---|---|
| Direktlänk till appen | vår appdomän, som slutar med webhookens kod | Fungerar alltid, även i utvecklingsmiljöer och i lösenordsskyddade butiker |
| Appens proxy-URL | en sökväg på butikens egen domän | Samma ursprung som din webbutik, vilket innebär att webbläsaren behandlar den som en förstapartsförfrågan |
Aktivera alternativet ”Använd appens proxy-URL” för att publicera proxyadressen. Det integreras smidigare med butiksgränssnittet, och eftersom det är samma ursprung behöver du ofta inte använda CORS alls.
Vad du bör veta innan du slår på den:
- Webbplatsen måste vara tillgänglig. I en lösenordsskyddad webbplats, till exempel en utvecklingswebbplats, svarar proxy-URL:en först efter att lösenordet till webbplatsen har angetts, vilket innebär att besökare utanför din webbplats inte kan använda den där.
- IP-tillåtelselistor gäller inte för proxy-URL:en: dessa förfrågningar kommer till oss från Shopifys servrar, så deras adress säger ingenting om den ursprungliga avsändaren.
- Shopify signerar varje förfrågan via proxy-URL:en. Du kan använda detta för att se till att endast inloggade kunder kan anropa webhooken, inaktivera den direkta URL:en och hämta kundens ID i Shopify Flow: se Inloggade kunder i din webbutik.
Autentiseringen fungerar på samma sätt för båda adresserna. Det gäller även Skydd mot dubbla leveranser, historiken och planens gräns.
Tillåt en anpassad begärantext
Även under Avancerade inställningar: Alternativet ”Tillåt anpassad begäran” inaktiverar den strikta valideringen av begäran, vilket innebär att webhooken accepterar alla typer av JSON-format istället för endast de fält som du har mappat. Använd detta när avsändarens payload är dynamisk eller om du inte har kontroll över den. Mappade fält skickas fortfarande till Shopify Flow på samma sätt - se Kartläggning av nyttolast och Shopify Flow-variabler.
Relaterat
- Autentisering - vad webbläsaren måste skicka.
- Kartläggning av nyttolast och Shopify Flow-variabler - vilka fält som skickas vidare till Shopify Flow.
- Inloggade kunder i din webbutik - endast inloggade kunder, med kund-ID i Shopify Flow.
- Planer och användning - varje webbläsaranslutning räknas in i gränsen.
