Skip to main content

Integracion con Shopify

Conecta tu tienda Shopify con ZenFlow para importar pedidos automaticamente, sincronizar inventario y optimizar tus operaciones de fulfillment.
Esta integracion soporta tiendas Shopify de cualquier pais. Compatible con Shopify y Shopify Plus.

Caracteristicas

Importar Pedidos

Importa automaticamente pedidos pagados de Shopify

Actualizar Estados

Marca pedidos como fulfillados y envia info de tracking

Sync Inventario

Sincronizacion de stock en tiempo real hacia Shopify

Mapeo de Productos

Vincula productos de Shopify con tu catalogo en ZenFlow

Guia de Configuracion

Paso 1: Conectar tu Tienda

  1. Ve a Configuracion > Integraciones en ZenFlow
  2. Haz clic en Conectar Shopify
  3. Ingresa el dominio de tu tienda (ej: mitienda.myshopify.com)
  4. Seras redirigido a Shopify para autorizar la aplicacion
  5. Acepta los permisos solicitados
ZenFlow solicita permisos para leer/escribir pedidos, productos e inventario. Estos son necesarios para la sincronizacion bidireccional.

Paso 2: Configurar Sincronizacion

Despues de conectar, establece tus preferencias:
Configuracion de Pedidos:
- Sincronizar pedidos: Si/No
- Importar solo pagados: Si/No
- Almacen por defecto: [Seleccionar]

Configuracion de Inventario:
- Sincronizar stock: Si/No
- Direccion: ZenFlow -> Shopify

Paso 3: Mapear Productos

Vincula tus productos de Shopify con ZenFlow:
  1. Ve a Integraciones > Shopify > Mapeo de Productos
  2. ZenFlow intentara coincidir automaticamente por SKU
  3. Para productos no coincidentes, selecciona el producto ZenFlow manualmente

Flujo de Pedidos

Referencia API

Iniciar Autorizacion

POST /api/v1/integrations/shopify/auth/start
Request:
{
  "shop_domain": "mitienda.myshopify.com",
  "warehouse_id": 1
}
Respuesta:
{
  "success": true,
  "data": {
    "authorization_url": "https://mitienda.myshopify.com/admin/oauth/authorize?..."
  }
}

Obtener Estado de Conexion

GET /api/v1/integrations/shopify/status
Respuesta:
{
  "success": true,
  "data": {
    "connected": true,
    "shop_domain": "mitienda.myshopify.com",
    "shop_name": "Mi Tienda",
    "status": "active",
    "sync_orders": true,
    "sync_stock": true,
    "last_sync_at": "2024-01-20T15:45:00Z"
  }
}

Actualizar Configuracion

PUT /api/v1/integrations/shopify/config
Request:
{
  "sync_orders": true,
  "sync_stock": true
}

Sincronizar Pedidos Manualmente

POST /api/v1/integrations/shopify/sync/orders
Request:
{
  "date_from": "2024-01-01",
  "date_to": "2024-01-31"
}

Sincronizar Stock a Shopify

POST /api/v1/integrations/shopify/sync/stock
Sincroniza todos los niveles de inventario de productos mapeados hacia Shopify.

Listar Mapeos de Productos

GET /api/v1/integrations/shopify/mappings
Respuesta:
{
  "success": true,
  "data": {
    "mappings": [
      {
        "id": 1,
        "product_id": 100,
        "product_sku": "PROD-001",
        "shopify_product_id": "7654321098765",
        "shopify_variant_id": "43210987654321",
        "shopify_sku": "PROD-001",
        "sync_stock": true,
        "last_stock_sync": "2024-01-20T15:45:00Z"
      }
    ]
  }
}

Crear Mapeo de Producto

POST /api/v1/integrations/shopify/mappings
Request:
{
  "product_id": 100,
  "shopify_product_id": "7654321098765",
  "shopify_variant_id": "43210987654321",
  "sync_stock": true
}

Eliminar Mapeo

DELETE /api/v1/integrations/shopify/mappings/:id

Desconectar Tienda

DELETE /api/v1/integrations/shopify/disconnect

Eventos Webhook

ZenFlow recibe estos webhooks de Shopify automaticamente:
TopicDescripcionAccion en ZenFlow
orders/createNuevo pedido creadoImporta el pedido si esta pagado
orders/paidPago confirmadoImporta el pedido para fulfillment
orders/updatedPedido actualizadoRegistra cambios
orders/cancelledPedido canceladoCancela el pedido en ZenFlow
orders/fulfilledPedido fulfilladoRegistra el fulfillment
products/createProducto creadoRegistra para mapeo
products/updateProducto actualizadoActualiza info de mapeo
products/deleteProducto eliminadoElimina mapeo
inventory_levels/updateStock actualizadoRegistra cambio (si bidireccional)
app/uninstalledApp desinstaladaRevoca credenciales

Mapeo de Productos

Coincidencia Automatica

ZenFlow intenta coincidir productos automaticamente usando:
  1. SKU (coincidencia exacta)
  2. Codigo de barras (si esta configurado en Shopify)

Mapeo Manual

Para productos que no coinciden automaticamente:
  1. Ve a Integraciones > Shopify > Mapeo de Productos
  2. Filtra por “Sin mapear”
  3. Selecciona el producto ZenFlow correspondiente

Productos con Variantes

Cada variante de Shopify se mapea a un producto separado en ZenFlow:
ShopifyZenFlow
Remera Azul (S)REMERA-AZUL-S
Remera Azul (M)REMERA-AZUL-M
Remera Azul (L)REMERA-AZUL-L
Remera Roja (S)REMERA-ROJA-S

Mapeo de Estados

Estado ShopifyEstado ZenFlow
unfulfilledListo para preparar
partialEn progreso
fulfilledEnviado
restockedCancelado

Solucion de Problemas

Pedidos No Se Importan

Asegurate de que sync_orders este habilitado en la configuracion. Ve a Integraciones > Shopify > Configuracion.
Por defecto, solo se importan pedidos con estado paid. Verifica que el pedido tenga el pago confirmado en Shopify.
Los webhooks se registran automaticamente. Si hay problemas, desconecta y vuelve a conectar la integracion.

Stock No Se Sincroniza

El producto debe estar mapeado correctamente. Verifica que exista un mapeo en Mapeo de Productos.
Cada mapeo tiene un flag sync_stock. Asegurate de que este habilitado para los productos que quieres sincronizar.
ZenFlow sincroniza con la ubicacion principal de Shopify. Si tienes multiples ubicaciones, verifica cual esta configurada como principal.

Error de Autorizacion

Si la autorizacion falla, verifica que hayas aceptado todos los permisos solicitados. Intenta desconectar y volver a conectar.
Los tokens de Shopify son de larga duracion. Si expira, desconecta y reconecta la integracion.

Limites de Tasa

OperacionLimite
Llamadas API2 requests/segundo
Bucket de tokens40 tokens
ZenFlow maneja los limites de tasa automaticamente con backoff exponencial y respeta el algoritmo de “leaky bucket” de Shopify.

Scopes Requeridos

La integracion solicita los siguientes permisos:
  • read_orders, write_orders - Leer y actualizar pedidos
  • read_products, write_products - Leer y actualizar productos
  • read_inventory, write_inventory - Gestionar niveles de stock
  • read_locations - Leer ubicaciones de inventario
  • read_fulfillments, write_fulfillments - Gestionar fulfillments

Soporte