Solicita acceso anticipado

Escribe tu nombre y dirección de correo de trabajo. Te enviaremos un enlace para confirmar tu solicitud de acceso a Tajo.

Guía de integración con Shopify

Tajo conecta Shopify con Brevo en dos lugares. La app de Shopify de Tajo convierte los webhooks de Shopify en escrituras en Brevo a medida que llegan. Las reglas de sincronización, que construye un agente y aprueba una persona, llevan registros a Brevo según una programación. Esta página cubre ambas y, después, las herramientas de Shopify que Tajo ofrece por MCP.

Requisitos previos

Antes de empezar la integración, asegúrate de tener:

  • Una tienda de Shopify en cualquier plan (Basic, Shopify, Advanced o Plus)
  • Una cuenta de Tajo (Tajo está en acceso anticipado)
  • Una cuenta de Brevo, el destino de la sincronización
  • Acceso de administrador a tu tienda de Shopify

Paso 1: conecta tu tienda de Shopify

Tajo está en acceso anticipado. La app de Shopify no figura en la Shopify App Store y no hay un enlace de instalación de autoservicio. Contacta con el equipo para que te lo configuren. Cuando tu espacio de trabajo de Tajo esté listo:

  1. En Tajo, abre Connections.
  2. Introduce el dominio myshopify.com de tu tienda y elige Connect Shopify. Shopify muestra los scopes que solicita Tajo y te devuelve a Tajo cuando los apruebas.
  3. Consulta para qué sirve cada scope, y qué escribe Tajo de vuelta en Shopify, en los permisos de Shopify explicados.

Paso 2: qué envía la app de Shopify de Tajo a Brevo

La app verifica cada webhook de Shopify, lo guarda, lo pone en cola y lo procesa de inmediato. Los temas de clientes y productos esperan antes unos cuatro segundos. No hay ventana de lotes. Un trabajo fallido se reintenta con backoff.

Temas de webhook

La app de Shopify de Tajo se suscribe a estos temas de webhook de Shopify:

Temas de webhookPropósito
customers/create, customers/update, customers/deleteMantener actualizados los contactos de Brevo
orders/create, orders/updated, orders/fulfilled, orders/cancelledEventos de pedidos y métricas de pedidos para Brevo
orders/paid, refunds/createOtorgar y descontar puntos de fidelidad
checkouts/create, checkouts/updateRecuperación de checkouts abandonados en Brevo
products/create, products/update, products/deleteMantener actualizado el catálogo de productos en Brevo
inventory_levels/updateMantener actualizado el stock de productos en Brevo
collections/create, collections/update, collections/deleteMantener actualizadas las colecciones
companies/*, company_contacts/*, company_locations/* (create, update, delete)Sincronización de empresas B2B
app/uninstalled, app/scopes_update, app_subscriptions/updateCiclo de vida de la app

También se gestionan los webhooks de privacidad obligatorios de Shopify (solicitud de datos del cliente, eliminación de datos del cliente y eliminación de datos de la tienda). La app no se suscribe a carts/*. Los carritos abandonados provienen de los temas checkouts/*.

Lo que llega a Brevo:

Evento de ShopifyEn Brevo
Cliente creado o actualizadoEl contacto se crea o actualiza con nombre, email y consentimiento de marketing. En los planes de pago, la app añade etiquetas, número de pedidos, importe gastado y último pedido.
Cliente eliminadoEl contacto se da de baja, no se elimina
Pedido creado, actualizado, pagado, preparado o canceladoEl pedido a través de la API de pedidos de Brevo, y los eventos order_paid, order_completed y order_cancelled
Reembolso creadoEl evento order_refunded. Si gestionas un programa de fidelidad de Brevo a través de Tajo, los puntos se descuentan de forma proporcional.
Pedido pagado, con un programa de fidelidad de BrevoPuntos otorgados según tu tasa de puntos por dólar
Checkout creado o actualizado, con un email y artículosLos eventos cart_updated y cart_abandoned. Tu automatización de Brevo decide cuándo enviar.
Producto o colección creados, actualizados o eliminadosEl catálogo de productos y las categorías de Brevo
Nivel de inventario actualizadoEl stock del producto en el catálogo de Brevo. Cuando una variante pasa de 0 a más de 0, cada comprador que pidió que se le avisara recibe un evento back_in_stock, una vez por reposición.

La app no añade un botón “Notify me” a tu tema. Una solicitud de aviso de reposición tiene que venir de tu tienda, por ejemplo de un botón que añadas tú.

Datos existentes

Al instalarla, la app importa tus clientes existentes como contactos de Brevo. Una sincronización histórica completa se inicia desde la página de sincronización de la app. En los planes de pago también importa productos, colecciones, empresas y pedidos.

Paso 3: construye una regla de sincronización con el agente

Una regla de sincronización es una definición declarativa de una sincronización: un recurso de origen, una acción de Brevo, una asignación de campos y un filtro. No la escribes a mano. La describes, un agente la construye y una persona la aprueba.

  1. En Tajo, abre Agents y pide la sincronización al Brevo Integration Architect con tus propias palabras. Por ejemplo: “Envía a Brevo como contactos los clientes de Shopify que aceptaron el email marketing.”
  2. El agente inspecciona el conector de Shopify. Su muestra devuelve nombres y tipos de campos, nunca valores de clientes.
  3. Propone una regla con una asignación de campos y un filtro, valida la asignación de campos contra la acción de Brevo y hace una ejecución de prueba del borrador. Ninguno de los dos pasos lee registros de clientes.
  4. Guarda la regla como borrador. También puedes empezar desde una plantilla en Connections > Syncs and mappings > New sync from template.
  5. Request publish approval ejecuta una previsualización contra tu tienda. Lee como máximo 10 registros, no escribe nada en Brevo y no mueve el cursor. Solo registra recuentos: registros obtenidos, aptos, asignados y rechazados por el filtro, además de los errores de asignación. Si la previsualización falla, no se crea ninguna aprobación.
  6. Una persona aprueba la solicitud en la página Approvals, con una justificación escrita. La aprobación queda vinculada a un digest SHA-256 de la regla y caduca a los 30 minutos. La página de la regla muestra entonces Publish approved version.

Editar una regla publicada la devuelve a borrador. Vuelve a pasar por la previsualización y la aprobación antes de ejecutarse de nuevo.

Una regla real

Esta es la plantilla Shopify customers -> Brevo contacts tal como la define Tajo:

sourceSlug: "shopify",
sourceResource: "customers",
destinationSlug: "brevo",
destinationAction: "upsert_contact",
fieldMap: [
{ source: "email", destination: "email", transform: "toLowerCase" },
{ source: "first_name", destination: "attributes.FIRSTNAME" },
{ source: "last_name", destination: "attributes.LASTNAME" },
{ source: "phone", destination: "attributes.PHONE" },
{ source: "total_spent", destination: "attributes.TOTAL_SPENT", transform: "toNumber" },
{ source: "orders_count", destination: "attributes.ORDERS_COUNT", transform: "toNumber" },
{ source: "tajo_email_marketing_consent", destination: "attributes.OPT_IN", transform: "toBoolean" },
{ source: "tags", destination: "attributes.SHOPIFY_TAGS" },
{ source: "id", destination: "attributes.SHOPIFY_ID", transform: "toString" },
{ source: "created_at", destination: "attributes.SHOPIFY_CREATED_AT" },
{ source: "updated_at", destination: "attributes.SHOPIFY_UPDATED_AT" },
],
filterExpression:
"($json.tajo_email_marketing_consent === true) && ($json.tajo_email_suppressed === false)",

El filtro es la comprobación de consentimiento. Tajo obtiene ambos valores de email_marketing_consent.state de Shopify, o del indicador más antiguo accepts_marketing. Una regla que escribe contactos en Brevo no puede publicarse sin él. La otra plantilla de Shopify, Shopify orders → Brevo orders, registra en Brevo los pedidos de los compradores que aceptaron el marketing en el checkout.

Cuándo se ejecuta una regla

  • Las reglas de sincronización de contactos se ejecutan cada 15 minutos por defecto. Cada ejecución empieza desde el cursor de la regla.
  • La página de una regla activa tiene un botón Test run (1 batch).
  • Una regla Shopify orders → Brevo orders activa y publicada también se ejecuta cada 15 minutos. Su primera ejecución programada empieza unos minutos antes de ese momento y no envía pedidos más antiguos. Cada ejecución posterior envía los pedidos actualizados desde la ejecución anterior.
  • Los pedidos anteriores solo llegan a Brevo cuando ejecutas tú la regla: con Test run (1 batch) o pidiéndole al agente Sync Operator que la ejecute.
  • Una regla de pedidos solo se ejecuta de forma programada con el filtro de consentimiento de marketing del comprador que trae la plantilla. Una regla cuyo filtro se ha editado solo se ejecuta cuando la inicias tú.
  • Tras cinco ejecuciones fallidas consecutivas, la regla se pausa sola y su página muestra el último error. Corrige la causa y vuelve a publicar.

Cada ejecución aparece en el historial de ejecuciones de la regla, con los registros leídos, escritos y fallidos, y su duración.

Qué lee y escribe el conector de Shopify

Las reglas de sincronización solo escriben en el destino, aquí Brevo. Nunca escriben en Shopify.

La app de Shopify de Tajo solicita 12 scopes y hace una lista corta de escrituras en Shopify, como las bajas por consentimiento y las etiquetas de fidelidad. Los permisos de Shopify explicados enumeran cada scope y cada escritura, con lo que la desencadena.

Los agentes y los hosts MCP acceden a la tienda a través del conector de Shopify:

LecturasEscrituras
Datos de la tienda, clientes (lista y búsqueda), pedidos, productos, metacampos de clientes, niveles de inventario, estado de las exportaciones masivasMetacampos y etiquetas de clientes, e inicio de una exportación masiva. Cada escritura se prepara como una propuesta y solo se ejecuta después de aprobarse.

El conector también declara un ajuste de inventario. Necesita el scope write_inventory, que la app de Shopify de Tajo no solicita.

Paso 4: usa las herramientas de Shopify por MCP

Tajo ofrece el conector de Shopify como servidor MCP en https://alto.tajo.io/mcp/connectors/shopify. Añádelo a Claude Code:

Terminal window
claude mcp add --transport http tajo-shopify https://alto.tajo.io/mcp/connectors/shopify

El host descubre el servidor OAuth de Tajo y abre el inicio de sesión de Tajo. El acceso está limitado a las cuentas con acceso anticipado. El servidor expone 12 herramientas:

HerramientaQué hace
preview_tajo_shopify_appPrevisualización interactiva de la app de Shopify de Tajo, renderizada como MCP UI
get_shopLos datos de la tienda
search_customersBusca clientes con la sintaxis de consulta de Shopify, como tag:tajo-vip o total_spent:>100
list_customersLista clientes, con paginación
list_ordersLista pedidos, con paginación
list_productsLista productos con variantes, imágenes e inventario
get_customer_metafieldsLee los metacampos de un cliente
get_inventory_levelsLee el inventario de una variante en todas las ubicaciones
poll_bulk_exportComprueba una exportación masiva y obtiene su enlace de descarga cuando termina
calculate_rewards_profileCalcula el nivel, los puntos y el saldo de recompensas de un cliente a partir de los datos de comercio sincronizados
shopify_proposePrepara una escritura en Shopify como propuesta. No se envía nada.
shopify_applyEjecuta una propuesta aprobada

Solución de problemas

Próximos pasos

Solicita acceso anticipado

Escribe tu nombre y dirección de correo de trabajo. Te enviaremos un enlace para confirmar tu solicitud de acceso a Tajo.

Asistente AI

¡Hola! Pregúntame lo que quieras sobre la documentación.

Esta página en Markdown: shopify.md

Cargando Markdown…
Abrir en Claude Abrir en ChatGPT