[Beta]{class="badge informative"}

Shopify Streaming

NOTE
El origen Shopify Streaming está en la versión beta. Lea información general de orígenes para obtener más información sobre el uso de orígenes etiquetados como beta.

Adobe Experience Platform es compatible con la ingesta de datos desde aplicaciones de flujo continuo. La compatibilidad con los proveedores de streaming incluye Shopify.

Requisitos previos prerequisites

En la siguiente sección se describen los pasos necesarios que se deben seguir antes de usar el origen Shopify Streaming.

Debe tener una cuenta de socio Shopify válida para conectarse a las API Shopify. Si todavía no tiene una cuenta de socio, regístrese en el Shopify panel de socios.

Cree su aplicación

Con una cuenta de socio Shopify válida, ahora puede continuar y crear la aplicación mediante el panel de socios. Para ver los pasos detallados sobre cómo crear su aplicación en Shopify, lea la Shopify guía de introducción.

Una vez creada la aplicación, recupera ID de cliente y secreto de cliente de la pestaña credenciales de cliente del panel de socios de Shopify. El ID de cliente y el secreto de cliente se utilizarán en los siguientes pasos para recuperar el código de autorización y el token de acceso.

Recupere el código de autorización

A continuación, recupere el código de autorización introduciendo la URL myshopify.com de su dominio en el explorador, junto con cadenas de consulta que definen su clave de API, ámbitos y el URI de redirección.

El formato de esta URL es el siguiente:

Formato de API

https://{SHOP}.myshopify.com/admin/oauth/authorize?client_id={API_KEY}&scope={SCOPES}&redirect_uri={REDIRECT_URI}
Parámetro
Descripción
shop
Su URL de subdominio myshopify.com.
api_key
Su ID de cliente Shopify. Puede recuperar su ID de cliente desde la ficha credenciales de cliente del panel de socios de Shopify.
scopes
El tipo de acceso que desea definir. Por ejemplo, puede establecer ámbitos como scope=write_orders,read_customers para permitir permisos para modificar pedidos y leer clientes.
redirect_uri
Dirección URL del script que generará el token de acceso.

Solicitud

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

Respuesta

Una respuesta correcta devuelve la dirección URL de redireccionamiento, incluido el código de autorización necesario para generar el token de acceso.

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

Recuperación del token de acceso

Ahora que tiene su ID de cliente, secreto de cliente y código de autorización, puede recuperar su token de acceso. Para recuperar su token de acceso, realice una solicitud de POST a la dirección URL myshopify.com de su dominio mientras anexa esta dirección URL con el extremo de la API Shopify’s: /admin/oauth/access_token.

Formato de API

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

Solicitud

La siguiente solicitud genera un token de acceso para su instancia de 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"
}'

Respuesta

Una respuesta correcta devuelve el token de acceso y los ámbitos de permisos.

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

Crear un webhook para transmitir datos de Shopify webhook

Los webhooks permiten que las aplicaciones permanezcan sincronizadas con sus datos de Shopify o que realicen una acción después de que un evento en particular ocurra en una tienda. Para transmitir datos de Shopify al Experience Platform, se pueden usar los enlaces web para definir el extremo http y los temas de la suscripción.

Solicitud

La siguiente solicitud crea un webhook para los datos de 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"
  }
}'
Parámetro
Descripción
webhook.address
Punto final http al que se envían los mensajes de flujo continuo.
webhook.topic
El tema de la suscripción al webhook. Para obtener más información, lea la Shopify guía de temas de eventos de ganchos web.
webhook.format
El formato de los datos.

Respuesta

Una respuesta correcta devuelve información sobre el webhook, incluido su id, dirección y otra información de metadatos correspondiente.

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

Limitaciones limitations

A continuación se muestra una lista de limitaciones conocidas que pueden surgir al utilizar los enlaces web con el origen Shopify Streaming.

  • No se garantiza que pueda organizar el orden de entrega de diferentes temas para el mismo recurso. Por ejemplo, es posible que un webhook products/update se entregue antes que un webhook products/create.
  • Puede configurar el webhook para que envíe eventos de webhook a un punto final al menos una vez. Esto significa que un extremo puede recibir el mismo evento más de una vez. Puede buscar eventos de webhook duplicados comparando el encabezado X-Shopify-Webhook-Id con eventos anteriores.
  • Shopify trata las respuestas de estado HTTP 2xx como notificaciones correctas. Cualquier otra respuesta del código de estado se considera un error. Shopify proporciona un mecanismo de reintento para las notificaciones de ganchos web con errores. Si no hay ninguna respuesta después de esperar cinco segundos, Shopify reintenta la conexión 19 veces durante las siguientes 48 horas. Si al final del período de reintento aún no hay respuestas, Shopify elimina el webhook.

Pasos siguientes

Los siguientes tutoriales proporcionan los pasos para conectar el origen de Shopify Streaming al Experience Platform mediante la API y la interfaz de usuario:

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