[Beta]{class="badge informative"}
Shopify Streaming
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}
shop
myshopify.com
.api_key
scopes
scope=write_orders,read_customers
para permitir permisos para modificar pedidos y leer clientes.redirect_uri
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"
}
}'
webhook.address
webhook.topic
webhook.format
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 webhookproducts/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: