[Beta]{class="badge informative"}

Shopify Streaming

NOTE
Källan Shopify Streaming är i betaversion. Läs källöversikten om du vill ha mer information om hur du använder betatecknade källor.

Adobe Experience Platform har stöd för inmatning av data från direktuppspelningsprogram. Stöd för direktuppspelningsproviders är Shopify.

Förhandskrav prerequisites

I följande avsnitt beskrivs de nödvändiga stegen som måste utföras innan källan Shopify Streaming används.

Du måste ha ett giltigt Shopify-partnerkonto för att kunna ansluta till Shopify API:er. Om du inte redan har ett partnerkonto kan du registrera dig på Shopify partnerinstrumentpanelen.

Skapa ditt program

Med ett giltigt Shopify-partnerkonto kan du nu fortsätta och skapa din app med partnerinstrumentpanelen. Mer information om hur du skapar din app i Shopify finns i Shopify guiden om hur du kommer igång.

När appen har skapats hämtar du ditt klient-ID och klienthemlighet från fliken klientautentiseringsuppgifter på Shopify partners-kontrollpanelen. Klient-ID och klienthemlighet används i nästa steg för att hämta din auktoriseringskod och åtkomsttoken.

Hämta din auktoriseringskod

Hämta sedan din auktoriseringskod genom att ange domänens myshopify.com-URL i webbläsaren, tillsammans med frågesträngar som definierar API-nyckeln, scope och omdirigerings-URI.

Formatet för den här URL:en är följande:

API-format

https://{SHOP}.myshopify.com/admin/oauth/authorize?client_id={API_KEY}&scope={SCOPES}&redirect_uri={REDIRECT_URI}
Parameter
Beskrivning
shop
Din URL för underdomänen myshopify.com.
api_key
Ditt Shopify-klient-ID. Du kan hämta ditt klient-ID från fliken klientautentiseringsuppgifter på kontrollpanelen för Shopify partners.
scopes
Den typ av åtkomst som du vill definiera. Du kan till exempel ange omfattningar som scope=write_orders,read_customers för att tillåta behörigheter att ändra order och läsa kunder.
redirect_uri
URL:en för skriptet som ska generera åtkomsttoken.

Begäran

https://connnectors-test.myshopify.com/admin/oauth/authorize?client_id=l6fiviermmzpram5i1spfub99shms3j9&scope=write_orders,read_customers&redirect_uri=https://acme.com

Svar

Ett lyckat svar returnerar din omdirigerings-URL, inklusive den auktoriseringskod som krävs för att generera din åtkomsttoken.

https://www.acme.com/?code=k6j2palgrbljja228ou8c20fmn7w41gz&hmac=68c9163f772eecbc8848c90f695bca0460899c125af897a6d2b0ebbd59d3a43b&shop=connnectors-test.myshopify.com&state=123456×tamp=1658305460

Hämta din åtkomsttoken

Nu när du har ditt klient-ID, din klienthemlighet och din behörighetskod kan du hämta din åtkomsttoken. Om du vill hämta din åtkomsttoken gör du en POST-förfrågan till domänens myshopify.com-URL när du lägger till den här URL:en med Shopify’s API-slutpunkt: /admin/oauth/access_token.

API-format

POST /{SHOP}.myshopify.com/admin/oauth/access_token

Begäran

Följande begäran genererar en åtkomsttoken för din Shopify-instans.

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"
}'

Svar

Ett lyckat svar returnerar din åtkomsttoken och dina behörighetsområden.

{
  "access_token": "shpca_wjhifwfc91psjtldysxd6rqli371tx54",
  "scope": "write_orders,read_customers"
}

Skapa en webkrok för att strömma Shopify-data webhook

Med hjälp av webhooks kan program förbli synkroniserade med dina Shopify-data eller utföra en åtgärd efter att en viss händelse inträffar i en butik. För direktuppspelning av Shopify-data till Experience Platform kan webhooks användas för att definiera http-slutpunkten och avsnitten för prenumeration.

Begäran

Följande begäran skapar en webkrok för dina Shopify Streaming-data.

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"
  }
}'
Parameter
Beskrivning
webhook.address
Den http-slutpunkt dit direktuppspelningsmeddelanden skickas.
webhook.topic
Avsnittet om din webkroprenumeration. Mer information finns i Shopify händelseguiden för webkrok.
webhook.format
Dataformatet.

Svar

Ett lyckat svar returnerar information på din webkrok, inklusive motsvarande id, adress och annan metadatainformation.

{
  "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": []
  }
}

Begränsningar limitations

Nedan följer en lista över kända begränsningar som du kan stöta på när du använder webbhooks med källan Shopify Streaming.

  • Det är inte säkert att du kan ordna leveransordningen för olika ämnen för samma resurs. Det är till exempel möjligt att en products/update-webkrok levereras före en products/create-webkrok.
  • Du kan ställa in webkroken så att den levererar webkrockhändelser till en slutpunkt minst en gång. Det innebär att en slutpunkt kan ta emot samma händelse flera gånger. Du kan söka efter duplicerade webkrockhändelser genom att jämföra huvudet X-Shopify-Webhook-Id med tidigare händelser.
  • Shopify behandlar HTTP 2xx-statussvar som lyckade meddelanden. Andra statuskodssvar betraktas som misslyckanden. Shopify innehåller en återförsöksmekanism för misslyckade webkrockmeddelanden. Om det inte finns något svar efter att ha väntat i fem sekunder, försöker Shopify ansluta igen 19 gånger under de kommande 48 timmarna. Om det fortfarande inte finns några svar i slutet av återförsöksperioden tar Shopify bort webkroken.

Nästa steg

I följande självstudier beskrivs hur du ansluter Shopify Streaming-källan till Experience Platform med API:t och användargränssnittet:

recommendation-more-help
337b99bb-92fb-42ae-b6b7-c7042161d089