CORS, de URL van de app-proxy en browserverzoeken
Een webhook wordt doorgaans van server naar server aangeroepen. Als u er een wilt aanroepen vanuit een browser - uw webshop, een landingspagina of een klantenportaal - zijn twee instellingen van belang: ‘CORS inschakelen’ en ‘App-proxy-URL gebruiken’. Beide zijn te vinden onder de geavanceerde instellingen van de webhook.
CORS inschakelen
Browsers weigeren een verzoek van een andere oorsprong, tenzij de ontvangende server aangeeft dat dit is toegestaan. Schakel de optie ‘CORS inschakelen’ in, waarna de webhook het preflight-verzoek van de browser beantwoordt en de aanroep accepteert.
De preflight staat ook toe dat uw token in elke gewenste header wordt opgenomen, inclusief een door u zelf ingestelde aangepaste headernaam, zodat een browser er geen problemen mee ondervindt.
Gebruik de proxy-URL van de app
Elke webhook heeft twee adressen, die beide worden weergegeven met een knop ‘Kopiëren’ onder de URL-instellingen:
| URL | Het lijkt erop dat | Opmerkingen |
|---|---|---|
| Directe URL naar de app | ons app-domein, dat eindigt op de code van de webhook | Werkt altijd, ook in ontwikkelomgevingen en in met een wachtwoord beveiligde winkels |
| URL van de app-proxy | een pad op het eigen domein van de winkel | Hetzelfde domein als uw webshop, zodat de browser het behandelt als een verzoek van de eigen site |
Schakel de optie ‘App-proxy-URL gebruiken’ in om het proxy-adres te publiceren. Dit zorgt voor een soepelere integratie met de webshop, en aangezien het om dezelfde oorsprong gaat, is CORS vaak helemaal niet nodig.
Twee zaken die u moet weten voordat u het apparaat inschakelt:
- De winkel moet actief zijn **en **mag niet met een wachtwoord beveiligd zijn. Shopify stuurt geen proxyverzoeken van de app door voor een vergrendelde webshop; bij een ontwikkelingswinkel zal de proxy-URL dan ook geen reactie geven. Schakel deze functie daar uit.
- De regel IP-toegangslijsten is niet van toepassing op de proxy-URL: die verzoeken komen bij ons binnen via de servers van Shopify, dus hun adres zegt niets over de oorspronkelijke afzender.
De authenticatie werkt op beide adressen op dezelfde manier. Hetzelfde geldt voor Bescherming tegen dubbele leveringen, de geschiedenis en de limiet van het abonnement.
Een aangepaste verzoektekst toestaan
Ook in de Geavanceerde instellingen: met de optie ‘Aangepaste verzoektekst toestaan’ wordt de strikte validatie van de verzoektekst uitgeschakeld, zodat de webhook elke JSON-structuur accepteert in plaats van alleen de velden die u hebt toegewezen. Gebruik deze optie wanneer de payload van de afzender dynamisch is of wanneer u daar geen controle over hebt. Toegewezen velden worden nog steeds op dezelfde manier naar Shopify Flow verzonden - zie Toewijzing van payloads en Flow-variabelen.
Gerelateerd
- Authenticatie - wat de browser moet verzenden.
- Toewijzing van payloads en Flow-variabelen - welke velden worden doorgegeven aan Shopify Flow.
- Abonnementen en gebruik - elke browserverzoek telt mee voor de limiet.

