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}
Parameter
Beschreibung
shop
Ihre Subdomain myshopify.com URL.
api_key
Ihre Shopify-Client-ID. Sie können Ihre Client-ID über die Registerkarte Client-Anmeldeinformationen im Dashboard der Shopify abrufen.
scopes
Die Art des Zugriffs, den Sie definieren möchten. Sie können beispielsweise Bereiche als scope=write_orders,read_customers festlegen, um Berechtigungen zum Ändern von Bestellungen und zum Lesen von Kunden zuzulassen.
redirect_uri
Die URL für das Skript, das das Zugriffstoken generiert.

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 an 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/114ae3c01f3ac77c704465f83d7d79be150fc39a5a794a214cd4ab65a5901340?x-adobe-flow-id=d9eb4a58-6a6b-4f11-9dba-6d1e0ed43bad",
    "topic": "orders/create",
    "format": "json"
  }
}'
Parameter
Beschreibung
webhook.address
Der HTTP-Endpunkt, an den Streaming-Nachrichten gesendet werden. Die Vorlage für den Webhook lautet: https://dcs.adobedc.net/collection/{INLET_ID}?x-adobe-flow-id={FLOW_ID}.
webhook.topic
Das Thema Ihres Webhook-Abonnements. Weitere Informationen finden Sie im Shopify Handbuch zu Webhook-.
webhook.format
Das Format Ihrer Daten.

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/114ae3c01f3ac77c704465f83d7d79be150fc39a5a794a214cd4ab65a5901340?x-adobe-flow-id=d9eb4a58-6a6b-4f11-9dba-6d1e0ed43bad",
    "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": []
  }
}

Authentifizierung für Shopify Streaming authentication

Sie können die schlüsselbasierte HMAC (Hash-based Message Authentication Code)-Authentifizierung beim Erstellen eines Shopify Streaming Quellkontos in Experience Platform verwenden. Sie können freigegebene geheime Daten während der Kontoeinrichtung konfigurieren, sodass eingehende Shopify-Webhook-Payloads vor der Aufnahme validiert werden können.

Feld
Erforderlich
Beschreibung
primarySecretKey
Ja
Das aktuelle freigegebene HMAC-Geheimnis, das für den Shopify Webhook konfiguriert ist. Experience Platform verwendet diesen Schlüssel zum Überprüfen eingehender WebhookShopifyPayloads.
secondarySecretKey
Nein
Der vorherige gemeinsame geheime Schlüssel für HMAC. Stellen Sie dies während der Schlüsselrotation bereit, damit mit dem alten Geheimnis signierte Nachrichten während des Fluges weiterhin akzeptiert werden, während neuer Traffic das neue Geheimnis verwendet. Lassen Sie diesen Wert bei der erstmaligen Einrichtung leer.
TIP
Um Ihr HMAC-Geheimnis zu drehen, ohne die Webhook-Bereitstellung zu unterbrechen, geben Sie das neue Geheimnis als primarySecretKey und das vorherige Geheimnis als secondarySecretKey an. Dadurch können mit dem vorherigen Geheimnis signierte In-Flight-Nachrichten weiterhin akzeptiert werden, während neuer Traffic das aktuelle Geheimnis verwendet.

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 einem products/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 Experience Platform verbinden:

recommendation-more-help
experience-platform-help-sources