CORS, die Proxy-URL der App und Browser-Aufrufe
Ein Webhook wird in der Regel von Server zu Server aufgerufen. Wenn Sie einen Webhook von einem Browser aus aufrufen möchten - beispielsweise von Ihrer Storefront, einer Landingpage oder einem Kundenportal -, sind zwei Einstellungen entscheidend: „CORS aktivieren“ und „App-Proxy-URL verwenden“. Beide finden Sie unter den „Erweiterten Einstellungen“ des Webhooks.
CORS aktivieren
Browser lehnen eine domänenübergreifende Anfrage ab, sofern der empfangende Server nicht angibt, dass diese zulässig ist. Aktivieren Sie die Option** „CORS aktivieren**“, damit der Webhook auf die Preflight-Anfrage des Browsers antwortet und den Aufruf akzeptiert.
Die Vorabprüfung lässt zudem jeden beliebigen Header zu, der Ihr Token enthält, einschließlich eines von Ihnen selbst festgelegten benutzerdefinierten Headernamens, sodass ein Browser nicht darüber stolpert.
App-Proxy-URL verwenden
Jeder Webhook verfügt über zwei Adressen, die beide unter den URL-Einstellungen mit einer Schaltfläche zum Kopieren angezeigt werden:
| URL | Es sieht so aus, als ob | Anmerkungen |
|---|---|---|
| Direkte App-URL | unsere App-Domain, die mit dem Code des Webhooks endet | Funktioniert stets, auch in Entwicklungsumgebungen und passwortgeschützten Shops |
| URL des App-Proxys | ein Pfad auf der eigenen Domain des Shops | Gleiche Herkunft wie Ihre Storefront, sodass der Browser dies als First-Party-Anfrage behandelt |
Aktivieren Sie die Option** „App-Proxy-URL verwenden“,** um die Proxy-Adresse zu veröffentlichen. Dies sorgt für eine nahtlosere Integration in den Storefront, und da es sich um denselben Ursprung handelt, benötigen Sie CORS oft gar nicht.
Zwei Dinge, die Sie wissen sollten, bevor Sie das Gerät einschalten:
- Der Shop muss online und nicht passwortgeschützt sein. Shopify leitet keine App-Proxy-Anfragen für eine gesperrte Storefront weiter, sodass die Proxy-URL in einem Entwicklungsshop keine Antwort liefert. Deaktivieren Sie diese Funktion dort.
- Die IP-Zulassungslisten gilt nicht für die Proxy-URL: Diese Anfragen erreichen uns über die Server von Shopify, sodass deren Adresse keine Rückschlüsse auf den ursprünglichen Aufrufer zulässt.
Die Authentifizierung funktioniert bei beiden Adressen auf dieselbe Weise. Gleiches gilt für Schutz vor doppelten Lieferungen, den Verlauf und das Kontingent.
Benutzerdefinierten Anfragetext zulassen
Ebenfalls in den erweiterten Einstellungen: Die Option „Benutzerdefinierten Anfragetext zulassen“ deaktiviert die strenge Validierung des Anfragetextes, sodass der Webhook jede beliebige JSON-Struktur akzeptiert und nicht nur die von Ihnen zugeordneten Felder. Verwenden Sie diese Option, wenn die Payload des Absenders dynamisch ist oder Sie keine Kontrolle darüber haben. Die zugeordneten Felder gelangen weiterhin auf dieselbe Weise an Shopify Flow - siehe Zuordnung der Payload-Daten und Flow-Variablen.
Verwandte Themen
- Authentifizierung - was der Browser senden muss.
- Zuordnung der Payload-Daten und Flow-Variablen - welche Felder an Shopify Flow übermittelt werden.
- Pläne und Nutzung - Jeder Browser-Aufruf wird auf das Limit angerechnet.

