Version Beta

Shopify Streaming

NOTE
La source Shopify Streaming est en version Beta. Veuillez lire la présentation des sources pour plus d’informations sur l’utilisation de sources étiquetées bêta.

Adobe Experience Platform prend en charge l’ingestion de données à partir d’applications de diffusion en continu. La prise en charge des fournisseurs de diffusion en continu inclut Shopify.

Conditions préalables prerequisites

La section suivante décrit les étapes préalables à suivre avant d’utiliser Shopify Streaming source.

Vous devez disposer d’un Shopify compte du partenaire afin de se connecter à la variable Shopify API. Si vous ne disposez pas déjà d’un compte de partenaire, inscrivez-vous à l’aide de la variable Shopify tableau de bord des partenaires.

Création de votre application

Avec un Shopify compte partenaire, vous pouvez maintenant poursuivre et créer votre application à l’aide du tableau de bord des partenaires. Pour obtenir des instructions complètes sur la création de votre application dans Shopify, lisez le Shopify guide de prise en main.

Une fois votre application créée, récupérez votre ID client et secret client de la informations d’identification client de la Shopify tableau de bord des partenaires. L’ID client et le secret client seront utilisés dans les étapes suivantes pour récupérer votre code d’autorisation et votre jeton d’accès.

Récupération de votre code d’autorisation

Ensuite, récupérez votre code d’autorisation en saisissant le de myshopify.com URL dans votre navigateur, ainsi que les chaînes de requête qui définissent votre clé d’API, vos portées et l’URI de redirection.

Le format de cette URL est le suivant :

Format d’API

https://{SHOP}.myshopify.com/admin/oauth/authorize?client_id={API_KEY}&scope={SCOPES}&redirect_uri={REDIRECT_URI}
Paramètre
Description
shop
Votre sous-domaine myshopify.com URL.
api_key
Votre Shopify ID client. Vous pouvez récupérer votre ID client à partir de la variable informations d’identification client de la Shopify tableau de bord des partenaires.
scopes
Type d’accès que vous souhaitez définir. Par exemple, vous pouvez définir des portées comme scope=write_orders,read_customers pour autoriser des autorisations de modification des commandes et de lecture des clients.
redirect_uri
URL du script qui générera le jeton d’accès.

Requête

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

Réponse

Une réponse réussie renvoie votre URL de redirection, y compris le code d’autorisation requis pour générer votre jeton d’accès.

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

Récupération de votre jeton d’accès

Maintenant que vous disposez de votre ID client, de votre secret client et de votre code d’autorisation, vous pouvez récupérer votre jeton d’accès. Pour récupérer votre jeton d’accès, envoyez une demande de POST à la variable myshopify.com URL lorsque vous ajoutez cette URL avec Shopify’s Point d’entrée de l’API : /admin/oauth/access_token.

Format d’API

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

Requête

La requête suivante génère un jeton d’accès pour votre Shopify instance.

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

Réponse

Une réponse réussie renvoie votre jeton d’accès et vos portées d’autorisation.

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

Création d’un webhook pour la diffusion en continu Shopify data webhook

Les webhooks permettent aux applications de rester synchronisées avec votre Shopify ou effectuer une action après qu’un événement particulier se produit dans un magasin. Pour la diffusion en continu Shopify données à Experience Platform, webhooks peut être utilisé pour définir le point de terminaison http et les rubriques d’abonnement.

Requête

La requête suivante crée un webhook pour votre 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"
  }
}'
Paramètre
Description
webhook.address
Point de terminaison http où les messages en continu sont envoyés.
webhook.topic
Rubrique de votre abonnement webhook. Pour plus d’informations, consultez la section Shopify guide des sujets relatifs aux événements webhook.
webhook.format
Le format de vos données.

Réponse

Une réponse réussie renvoie des informations sur votre webhook, y compris les id, l’adresse et d’autres informations de métadonnées.

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

Limites limitations

Vous trouverez ci-dessous une liste des limites connues que vous pouvez rencontrer lors de l’utilisation de webhooks avec la variable Shopify Streaming source.

  • Il n’est pas garanti que vous puissiez organiser l’ordre de remise de différentes rubriques pour la même ressource. Par exemple, il est possible qu’une products/update webhook livré avant un événement products/create webhook.
  • Vous pouvez définir votre webhook pour diffuser au moins une fois des événements webhook vers un point de terminaison . Cela signifie qu’un point de terminaison peut recevoir le même événement plusieurs fois. Vous pouvez rechercher des événements webhook en double en comparant les événements X-Shopify-Webhook-Id en-tête aux événements précédents.
  • Shopify traite les réponses d’état HTTP 2xx comme des notifications réussies. Toutes les autres réponses de code d’état sont considérées comme des échecs. Shopify fournit un mécanisme de reprise pour les notifications webhook ayant échoué. Si la variable aucune réponse après cinq secondes d’attente, Shopify tente à nouveau la connexion 19 fois au cours de la prochaine 48 heures. S’il n’y a toujours pas de réponse avant la fin de la période de reprise, alors Shopify supprime le webhook.

Étapes suivantes

Les tutoriels suivants décrivent les étapes à suivre pour connecter votre Shopify Streaming source à Experience Platform à l’aide de l’API et de l’interface utilisateur :

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