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