[Beta]{class="badge informative"}
Shopify Streaming
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}
shop
myshopify.com
.api_key
scopes
scope=write_orders,read_customers
för att tillåta behörigheter att ändra order och läsa kunder.redirect_uri
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"
}
}'
webhook.address
webhook.topic
webhook.format
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 enproducts/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: