CORS, de URL van de app-proxy en browserverzoeken

CORS, de URL van de app-proxy en browserverzoeken

Pagina kopiëren

Roep een Shopify Flow-webhook aan vanuit de browser: schakel CORS in, gebruik de app-proxy-URL op uw eigen domein en ken de risico's van een openbaar token.

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 vindt u 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 op ontwikkelingsomgevingen en 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 proxyadres te publiceren. Dit zorgt voor een soepelere integratie met de webshop, en aangezien het om dezelfde oorsprong gaat, is CORS vaak helemaal niet nodig.

Wat u moet weten voordat u het apparaat inschakelt:

  • De webshop moet toegankelijk zijn. Bij een met een wachtwoord beveiligde webshop, zoals een ontwikkelingswebshop, reageert de proxy-URL pas nadat het wachtwoord van de webshop is ingevoerd; bezoekers van buiten uw winkel kunnen er dus geen gebruik van maken.
  • De 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.
  • Shopify ondertekent elk verzoek via de proxy-URL. U kunt hiervan gebruikmaken om alleen ingelogde klanten de webhook te laten aanroepen, de directe URL uit te schakelen en de klant-ID op te halen in Shopify Flow: zie Ingelogde klanten in uw webshop.

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 doorgestuurd - zie Toewijzing van payloads en Flow-variabelen.

Gerelateerd