[Beta]{class="badge informative"}
Shopify Streaming
Adobe Experience Platform unterstützt die Aufnahme von Daten aus Streaming-Anwendungen. Unterstützung für Streaming-Anbieter umfasst Shopify.
Voraussetzungen prerequisites
Im folgenden Abschnitt werden die Schritte beschrieben, die vor der Verwendung der Shopify Streaming ausgeführt werden müssen.
Sie müssen über ein gültiges Shopify-Partnerkonto verfügen, um eine Verbindung zu den Shopify-APIs herstellen zu können. Wenn Sie noch kein Partnerkonto haben, registrieren Sie sich bitte über das Shopify Partner-Dashboard.
Erstellen des Programms
Mit einem gültigen Shopify-Partnerkonto können Sie jetzt fortfahren und Ihre App mithilfe des Partner-Dashboards erstellen. Eine ausführliche Anleitung zum Erstellen Ihres Programms in Shopify finden Sie im Shopify Handbuch zu den ersten Schritten.
Rufen Sie nach der Erstellung Ihrer App Ihre Client-ID und Client-) auf der Registerkarte Client-Anmeldeinformationen des Dashboards Shopify Partner ab. Die Client-ID und das Client-Geheimnis werden in den nächsten Schritten zum Abrufen Ihres Autorisierungs-Codes und Zugriffs-Tokens verwendet.
Abrufen des Autorisierungs-Codes
Rufen Sie anschließend Ihren Autorisierungs-Code ab, indem Sie die myshopify.com
-URL Ihrer Domain in Ihren Browser eingeben und Abfragezeichenfolgen hinzufügen, die Ihren API-Schlüssel, die Bereiche und den Weiterleitungs-URI definieren.
Die URL hat folgendes Format:
API-Format
https://{SHOP}.myshopify.com/admin/oauth/authorize?client_id={API_KEY}&scope={SCOPES}&redirect_uri={REDIRECT_URI}
shop
myshopify.com
URL.api_key
scopes
scope=write_orders,read_customers
festlegen, um Berechtigungen zum Ändern von Bestellungen und zum Lesen von Kunden zuzulassen.redirect_uri
Anfrage
https://connnectors-test.myshopify.com/admin/oauth/authorize?client_id=l6fiviermmzpram5i1spfub99shms3j9&scope=write_orders,read_customers&redirect_uri=https://acme.com
Antwort
Bei einer erfolgreichen Antwort wird Ihre Umleitungs-URL zurückgegeben, einschließlich des Autorisierungs-Codes, der zum Generieren Ihres Zugriffs-Tokens erforderlich ist.
https://www.acme.com/?code=k6j2palgrbljja228ou8c20fmn7w41gz&hmac=68c9163f772eecbc8848c90f695bca0460899c125af897a6d2b0ebbd59d3a43b&shop=connnectors-test.myshopify.com&state=123456×tamp=1658305460
Abrufen Ihres Zugriffs-Tokens
Nachdem Sie nun über Ihre Client-ID, Ihr Client-Geheimnis und Ihren Autorisierungs-Code verfügen, können Sie Ihr Zugriffs-Token abrufen. Um Ihr Zugriffs-Token abzurufen, stellen Sie eine POST-Anfrage an die myshopify.com
-URL Ihrer Domain, während Sie diese URL an Shopify’s API-Endpunkt anhängen: /admin/oauth/access_token
.
API-Format
POST /{SHOP}.myshopify.com/admin/oauth/access_token
Anfrage
Die folgende Anfrage generiert ein Zugriffstoken für Ihre Shopify.
curl -X POST \
'https://connnectors-test.myshopify.com/admin/oauth/access_token' \
-H 'developer-token: {DEVELOPER_TOKEN}' \
-H 'Content-Type: application/json' \
-H 'Cookie: _master_udr=xxx; request_method=POST'
-d '{
"client_id": "l6fiviermmzpram5i1spfub99shms3j9",
"client_secret": "dajn3caxz9s7ti624ncyv_m4f60jnwi3ii3y3k",
"code": "k6j2palgrbljja228ou8c20fmn7w41gz"
}'
Antwort
Bei einer erfolgreichen Antwort werden Ihr Zugriffstoken und Ihre Berechtigungsbereiche zurückgegeben.
{
"access_token": "shpca_wjhifwfc91psjtldysxd6rqli371tx54",
"scope": "write_orders,read_customers"
}
Erstellen eines Webhooks für das Streaming von Shopify webhook
Webhooks ermöglichen es Anwendungen, mit Ihren Shopify-Daten synchronisiert zu bleiben oder eine Aktion auszuführen, nachdem ein bestimmtes Ereignis in einem Shop stattgefunden hat. Für das Streaming von Shopify auf Experience Platform können Webhooks verwendet werden, um den HTTP-Endpunkt und die Themen für das Abonnement zu definieren.
Anfrage
Die folgende Anfrage erstellt einen Webhook für Ihre Shopify Streaming.
curl -X POST \
'https://connnectors-test.myshopify.com/admin/api/2022-07/webhooks.json' \
-H 'X-Shopify-Access-Token: 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' \
-H 'Content-Type: application/json' \; request_method=POST' \
-d '{
"webhook": {
"address": "https://dcs.adobedc.net/collection/9d411a24aa3c0a3eded92bac6c64d0da986ee7a8212f87168c5fb42d9ddc3227",
"topic": "orders/create",
"format": "json"
}
}'
webhook.address
webhook.topic
webhook.format
Antwort
Bei einer erfolgreichen Antwort werden Informationen zu Ihrem Webhook zurückgegeben, einschließlich der entsprechenden id
, Adresse und anderer Metadateninformationen.
{
"webhook": {
"id": 1091138715786,
"address": "https://dcs.adobedc.net/collection/9d411a24aa3c0a3eded92bac6c64d0da986ee7a8212f87168c5fb42d9ddc3227",
"topic": "orders/create",
"created_at": "2022-07-20T07:15:23-04:00",
"updated_at": "2022-07-20T07:15:23-04:00",
"format": "json",
"fields": [],
"metafield_namespaces": [],
"api_version": "2021-10",
"private_metafield_namespaces": []
}
}
Einschränkungen limitations
Im Folgenden finden Sie eine Liste bekannter Einschränkungen, auf die Sie bei der Verwendung von Webhooks mit der Shopify Streaming stoßen können.
- Es ist nicht garantiert, dass Sie die Reihenfolge der Bereitstellung verschiedener Themen für dieselbe Ressource arrangieren können. Beispielsweise ist es möglich, dass ein
products/update
Webhook vor einemproducts/create
Webhook bereitgestellt wird. - Sie können Ihren Webhook so einstellen, dass Webhook-Ereignisse mindestens einmal an einen Endpunkt gesendet werden. Dies bedeutet, dass ein Endpunkt dasselbe Ereignis mehrmals erhalten kann. Sie können nach doppelten Webhook-Ereignissen suchen, indem Sie den
X-Shopify-Webhook-Id
-Header mit vorherigen Ereignissen vergleichen. - Shopify behandelt HTTP-2xx-Statusantworten als erfolgreiche Benachrichtigungen. Alle anderen Status-Code-Antworten werden als Fehler betrachtet. Shopify bietet einen Mechanismus zum Wiederholen fehlgeschlagener Webhook-Benachrichtigungen. Wenn es keine Antwort nach fünf Sekunden warten versucht Shopify die Verbindung 19-mal im Laufe der nächsten 48 Stunden. Wenn bis zum Ende des Wiederholungszeitraums immer noch keine Antworten vorhanden sind, löscht Shopify den Webhook.
Nächste Schritte
In den folgenden Tutorials wird beschrieben, wie Sie Ihre Shopify Streaming mithilfe der -API und der Benutzeroberfläche mit dem Experience Platform verbinden: