Conector de Shopify

Conector de Shopify

Conecta tu tienda de Shopify con Brevo para una sincronización completa de los datos de clientes, la recuperación de carritos abandonados y campañas de marketing automatizadas.

Resumen

PropiedadValor
PlataformaShopify
CategoríaEcommerce
Complejidad de configuraciónFácil
Integración oficial
Datos sincronizadosClientes, Pedidos, Productos, Carritos, Eventos
Skills disponibles12

Funcionalidades

  • Sincronización de clientes en tiempo real - Datos de cliente sincronizados al instante con los contactos de Brevo
  • Seguimiento de pedidos - Eventos de pedido para flujos post-compra
  • Sincronización del catálogo de productos - Productos disponibles para recomendaciones
  • Carritos abandonados - Rastrea y recupera carritos abandonados
  • Comportamiento de navegación - Seguimiento de vistas de página e interés por productos
  • Soporte multi-tienda - Conecta varias tiendas de Shopify

Requisitos previos

Antes de empezar, asegúrate de tener:

  1. Una tienda de Shopify con acceso de administrador
  2. Una cuenta de Brevo con acceso a la API
  3. Una cuenta de Tajo

Instalación

Opción 1: Shopify App Store (recomendada)

  1. Visita la app de Tajo en la Shopify App Store
  2. Haz clic en “Add app”
  3. Concede los permisos solicitados
  4. Conecta tu cuenta de Brevo

Opción 2: Instalación manual

Paso 1: crea una app de Shopify

  1. Ve al admin de Shopify → Settings → Apps and sales channels
  2. Haz clic en “Develop apps” → “Create an app”
  3. Ponle el nombre “Tajo Integration”

Paso 2: configura los scopes de la API

Habilita estos scopes:

read_customers
write_customers
read_orders
read_products
read_checkouts
write_script_tags

Paso 3: instala la app

Terminal window
# Using Tajo CLI
tajo connectors install shopify \
--shop-url your-store.myshopify.com \
--api-key $SHOPIFY_API_KEY \
--api-secret $SHOPIFY_API_SECRET

Paso 4: configura los webhooks

Tajo registra automáticamente estos webhooks:

WebhookPropósito
customers/createSincronización de nuevo cliente
customers/updateCambios en datos del cliente
customers/deleteEliminación de cliente
orders/createEvento de pedido realizado
orders/updatedCambios de estado del pedido
checkouts/createCarrito creado
checkouts/updateCarrito actualizado

Configuración

Configuración básica

connectors:
shopify:
enabled: true
shop_url: "your-store.myshopify.com"
api_version: "2024-01"
# Data sync options
sync:
customers: true
orders: true
products: true
carts: true
inventory: false # Optional
# List assignment
lists:
all_customers: 5
buyers: 6
abandoned_cart: 7

Asignación de campos

Asocia los campos de Shopify con los atributos de contacto de Brevo:

Default Mappings

Parameter Type Description
email required
string

Email del cliente (identificador único)

first_name optional
string

Se asocia al atributo FIRSTNAME

last_name optional
string

Se asocia al atributo LASTNAME

phone optional
string

Se asocia al atributo SMS para WhatsApp/SMS

accepts_marketing optional
boolean

Controla el estado de suscripción

orders_count optional
integer

Número total de pedidos

total_spent optional
number

Valor del cliente a lo largo del tiempo

tags optional
array

Etiquetas del cliente en Shopify

Asignación de atributos personalizados

field_mapping:
# Standard fields
email: email
first_name: FIRSTNAME
last_name: LASTNAME
phone: SMS
# E-commerce metrics
orders_count: ORDER_COUNT
total_spent: TOTAL_SPENT
last_order_date: LAST_ORDER_DATE
# Custom fields
customer_type: CUSTOMER_TYPE
preferred_language: LANGUAGE
loyalty_tier: VIP_TIER
# Computed fields
average_order_value: AOV
days_since_last_order: RECENCY

Sincronización de productos

Sincroniza productos para recomendaciones por email:

sync:
products:
enabled: true
include_variants: true
include_images: true
categories_as_tags: true
# Filter products
filter:
status: active
exclude_tags: ["hidden", "wholesale-only"]

Seguimiento de inventario

Habilita la sincronización de niveles de stock:

sync:
inventory:
enabled: true
low_stock_threshold: 10
out_of_stock_events: true

Eventos

Eventos de cliente

EventoDisparadorCaso de uso
customer_createdRegistro de nuevo clienteSerie de bienvenida
customer_updatedCambios en el perfilSincronización de datos
customer_tags_addedEtiquetas asignadasActualización de segmentos

Eventos de pedido

EventoDisparadorCaso de uso
order_placedCheckout completadoConfirmación de pedido
order_fulfilledPedido enviadoNotificación de envío
order_cancelledPedido canceladoEmail de cancelación
order_refundedReembolso procesadoConfirmación de reembolso

Eventos de carrito

EventoDisparadorCaso de uso
cart_createdArtículos añadidos al carritoSeguimiento de navegación
cart_updatedCarrito modificadoSeguimiento del valor del carrito
cart_abandonedSin checkout en 30 minEmails de recuperación

Skills habilitadas

El conector de Shopify habilita estas skills:

SkillDescripción
Sincronización de clientesSincronización de clientes en tiempo real
Eventos de pedidoSeguimiento del ciclo de vida del pedido
Carrito abandonadoEmails de recuperación de carrito
Serie de bienvenidaOnboarding de nuevos clientes
Post-compraSeguimiento del pedido
Win-backReactivar clientes inactivos
Abandono de navegaciónSeguimiento por interés en producto
ReposiciónRecordatorios de recompra

Ejemplos de código

Inicializar el conector

import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({
apiKey: process.env.TAJO_API_KEY,
brevoApiKey: process.env.BREVO_API_KEY
});
// Connect Shopify store
await tajo.connectors.connect('shopify', {
shopUrl: 'your-store.myshopify.com',
apiKey: process.env.SHOPIFY_API_KEY,
apiSecret: process.env.SHOPIFY_API_SECRET
});

Ejecutar la sincronización inicial

// Full historical sync
await tajo.connectors.sync('shopify', {
type: 'full',
resources: ['customers', 'orders', 'products'],
since: '2023-01-01'
});
// Check sync status
const status = await tajo.connectors.status('shopify');
console.log(status);
// {
// connected: true,
// lastSync: '2024-01-15T10:30:00Z',
// customersCount: 15420,
// ordersCount: 8234,
// productsCount: 342
// }

Rastrear eventos de carrito

Añade el script de Tajo a tu tema de Shopify:

<!-- Add to theme.liquid before </head> -->
{% if customer %}
<script>
window.tajoConfig = {
customerId: "{{ customer.id }}",
customerEmail: "{{ customer.email }}",
customerName: "{{ customer.first_name }}"
};
</script>
{% endif %}
<script src="https://cdn.tajo.io/shopify.js"></script>

Handler personalizado de webhooks

// Handle Shopify webhooks manually
app.post('/webhooks/shopify', async (req, res) => {
const hmac = req.get('X-Shopify-Hmac-SHA256');
// Verify webhook signature
if (!verifyShopifyWebhook(req.body, hmac)) {
return res.status(401).send('Unauthorized');
}
const topic = req.get('X-Shopify-Topic');
// Forward to Tajo
await tajo.connectors.handleWebhook('shopify', {
topic,
payload: req.body
});
res.status(200).send('OK');
});

Monitorización

Métricas del dashboard

Monitoriza tu conexión con Shopify desde el dashboard de Tajo:

  • Estado de sincronización: salud de la conexión en tiempo real
  • Clientes sincronizados: total de contactos desde Shopify
  • Pedidos rastreados: eventos de pedido procesados
  • Recuperación de carrito: rendimiento de carritos abandonados
  • Tasa de errores: intentos de sincronización fallidos

Logs de webhooks

Consulta el estado de entrega de los webhooks:

Terminal window
tajo connectors logs shopify --type webhook --last 24h

Historial de sincronización

Revisa las operaciones de sincronización pasadas:

Terminal window
tajo connectors history shopify --limit 10

Resolución de problemas

Problemas habituales

Límites de velocidad de la API

Shopify tiene límites de velocidad de 2 peticiones/segundo. Usa sincronizaciones por lotes para grandes importaciones históricas.

ProblemaCausaSolución
Webhook no recibidoPermisos de la appReinstala la app con los scopes correctos
Cliente no sincronizadoFalta el emailShopify requiere email en los clientes
Faltan productosEstado del productoComprueba que el producto está en estado “active”
Carrito no rastreadoScript no cargadoVerifica el script en theme.liquid

Modo depuración

Habilita el logging detallado:

connectors:
shopify:
debug: true
log_level: verbose
log_webhooks: true

Probar la conexión

Terminal window
tajo connectors test shopify
# ✓ API connection successful
# ✓ Webhooks registered
# ✓ Products accessible
# ✓ Customers readable
# ✓ Orders readable

Buenas prácticas

  1. Empieza con una tienda de pruebas - Usa primero una development store
  2. Ejecuta la sincronización inicial fuera de horas punta - Las sincronizaciones grandes pueden ser lentas
  3. Asigna atributos personalizados - No te quedes solo con las asignaciones por defecto
  4. Habilita el seguimiento del carrito - Fundamental para la recuperación de carritos abandonados
  5. Monitoriza la salud de los webhooks - Configura alertas para las entregas fallidas
  6. Usa importaciones por lotes - Para datos históricos de más de 10.000 registros

Seguridad

  • OAuth 2.0 - Autenticación segura basada en tokens
  • Verificación de webhooks - Validación de firma HMAC
  • Almacenamiento cifrado - Credenciales de API cifradas en reposo
  • Acceso por scopes - Solo los permisos mínimos necesarios

Recursos relacionados

Subscribe to updates

developer-docs

Drop your email or phone number — we'll send you what matters next.

Asistente AI

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

Empieza gratis con Brevo