eCommerce Automation with OpenClaw + Shopify

Automate Shopify operations with OpenClaw AI agents. Order processing, inventory sync, customer service, fraud detection, and personalization at scale.

E
ECOSIRE Research and Development Team
|19 de marzo de 202612 min de lectura2.7k Palabras|

Automatización del comercio electrónico con OpenClaw + Shopify

Shopify es la plataforma. OpenClaw es la inteligencia de operaciones que se ejecuta sobre él. Si bien Shopify maneja el escaparate, el pago y el procesamiento de pagos, la complejidad operativa de administrar una tienda Shopify a escala (gestión de pedidos, optimización de inventario, comunicación con el cliente, detección de fraude, procesamiento de devoluciones, personalización) requiere una automatización que va más allá de lo que proporcionan los flujos nativos de Shopify.

Los agentes de OpenClaw se integran con Shopify a través de webhooks y la API de administración para manejar la capa operativa de forma autónoma. Esta guía cubre ocho dominios de automatización: procesamiento de pedidos, detección de fraude, gestión de inventario, atención al cliente, personalización, devoluciones y reembolsos, automatización de marketing y coordinación de proveedores.

Conclusiones clave

  • OpenClaw se suscribe a los webhooks de Shopify en tiempo real, lo que permite una respuesta en menos de un segundo a eventos de pedidos, cambios de inventario y acciones de los clientes.
  • El Agente de procesamiento de pedidos maneja el enrutamiento de cumplimiento, la generación de etiquetas de envío, la selección del transportista y las notificaciones a los clientes de principio a fin.
  • El Agente de Detección de Fraude examina cada pedido utilizando señales de comportamiento, validación de direcciones, controles de velocidad y puntuaciones de riesgo de terceros antes de que comience el cumplimiento.
  • El agente de inventario monitorea los niveles de existencias en los almacenes y ubicaciones de Shopify, activa nuevos pedidos y administra mensajes de existencias bajas en el escaparate.
  • El agente de servicio al cliente maneja consultas sobre el estado de los pedidos, solicitudes de devolución y preguntas de soporte comunes automáticamente con la voz de su marca.
  • El Agente de personalización genera recomendaciones de productos, mensajes de recuperación del carrito y secuencias posteriores a la compra adaptadas al historial individual del cliente.
  • Toda la automatización es observable: cada acción de los agentes aparece en un panel con un seguimiento de auditoría completo.
  • ECOSIRE crea y administra integraciones de OpenClaw Shopify para tiendas Shopify en crecimiento y a escala empresarial.

Arquitectura de integración

OpenClaw se conecta a Shopify a través de tres canales:

Shopify Webhooks: el canal principal en tiempo real. OpenClaw registra puntos finales de webhook para los tipos de eventos a los que necesita responder: orders/create, orders/updated, orders/fulfilled, inventory_levels/update, customers/create, refunds/create y más. Shopify firma todas las cargas útiles de webhooks con HMAC-SHA256; OpenClaw verifica la firma antes de procesarla.

API de administración de Shopify: Las API REST y GraphQL para consultar datos no disponibles en webhooks y para crear/actualizar registros de Shopify. Los límites de tarifas son administrados por el adaptador de herramientas Shopify de OpenClaw mediante un algoritmo de depósito con fugas.

API Shopify Storefront: para funciones de personalización que inyectan recomendaciones y contenido dinámico en el escaparate.

export const ShopifyTool = defineTool({
  name: "shopify",
  type: "rest",
  baseUrl: `https://${process.env.SHOPIFY_SHOP_DOMAIN}/admin/api/2024-01`,
  auth: {
    type: "header",
    header: "X-Shopify-Access-Token",
    value: "${SHOPIFY_ACCESS_TOKEN}", // Vault reference
  },
  rateLimiting: {
    type: "leaky-bucket",
    bucketSize: 40,
    refillRate: 2, // 2 requests per second (REST API rate limit)
  },
  webhookVerification: {
    secret: "${SHOPIFY_WEBHOOK_SECRET}",
    algorithm: "hmac-sha256",
  },
});

Agente de procesamiento de pedidos: cumplimiento a velocidad de máquina

Cada minuto entre la realización del pedido y el inicio del cumplimiento es un minuto en el que algo puede salir mal: el inventario se agota, el límite del transportista pasa, el entusiasmo del cliente disminuye. El Agente de procesamiento de pedidos inicia la secuencia de cumplimiento en el momento en que se crea un pedido.

El flujo de trabajo de cumplimiento:

Paso 1: Validación del pedido: verifique la disponibilidad del inventario con las líneas de pedido del pedido. Si algún artículo está agotado, verifique si se puede cumplir desde una ubicación alternativa antes de generar un pedido pendiente.

Paso 2: Detección de fraude: Enrute el pedido al Agente de detección de fraude (que se describe a continuación). Espera el cumplimiento hasta que se complete la verificación de fraude (normalmente menos de 2 segundos).

Paso 3: Ruta del almacén: para comerciantes con múltiples ubicaciones de cumplimiento, seleccione el almacén óptimo según la disponibilidad del inventario, la proximidad a la dirección de envío y la carga de trabajo actual.

Paso 4: Selección del transportista: según el servicio de envío seleccionado por el cliente, las dimensiones y el peso del producto y el destino, seleccione el servicio de transportista específico y genere la etiqueta de envío.

Paso 5: Notificación al cliente: envíe una confirmación de pedido con un enlace de seguimiento en el momento en que se genere la etiqueta. Actualice Shopify con el número de cumplimiento y seguimiento.

export const ProcessOrder = defineSkill({
  name: "process-order",
  tools: ["shopify", "warehouse", "shipping", "email"],
  async run({ input, tools }) {
    const order = await tools.shopify.get(`/orders/${input.orderId}.json`);

    // Check inventory
    const stockCheck = await checkInventoryForOrder(tools.shopify, order.line_items);
    if (!stockCheck.allAvailable) {
      return { processed: false, reason: "INVENTORY_SHORTAGE", shortItems: stockCheck.shortItems };
    }

    // Warehouse routing
    const warehouse = await selectWarehouse(tools.warehouse, order, stockCheck.locations);

    // Generate shipping label
    const label = await tools.shipping.createLabel({
      fromAddress: warehouse.address,
      toAddress: order.shipping_address,
      packages: buildPackages(order.line_items),
      service: order.shipping_lines[0]?.code ?? "GROUND",
    });

    // Fulfill in Shopify
    await tools.shopify.post(`/orders/${input.orderId}/fulfillments.json`, {
      fulfillment: {
        location_id: warehouse.shopifyLocationId,
        tracking_number: label.trackingNumber,
        tracking_company: label.carrier,
        tracking_urls: [label.trackingUrl],
        line_items: order.line_items.map((li) => ({ id: li.id, quantity: li.quantity })),
        notify_customer: false, // We send our own notification
      },
    });

    // Send customer notification
    await tools.email.send({
      to: order.email,
      template: "order-shipped",
      data: { order, trackingNumber: label.trackingNumber, trackingUrl: label.trackingUrl },
    });

    return { processed: true, trackingNumber: label.trackingNumber, warehouse: warehouse.name };
  },
});

Agente de detección de fraude: controla cada pedido en tiempo real

Los pedidos fraudulentos cuestan a los comerciantes de Shopify aproximadamente entre el 0,5% y el 2% de los ingresos en devoluciones de cargo y pérdidas de mercancías. El Agente de Detección de Fraude examina cada pedido utilizando un modelo de riesgo de múltiples factores antes de que comience el cumplimiento.

Factores de riesgo evaluados:

factorCómo se evalúa
Velocidad de direcciónMúltiples pedidos a la misma dirección desde diferentes métodos de pago en 24 horas
Verificación del BIN de la tarjetaEl país emisor de la tarjeta coincide con el país de la dirección de facturación
Coincidencia entre IP y facturaciónGeolocalización de IP coherente con la dirección de facturación
Anomalía del valor del pedidoValor del pedido significativamente mayor que el historial del cliente
Riesgo de dominio de correo electrónicoDominio de correo electrónico desechable o dominio recién registrado
Envío de envíoEnvío a una dirección de transporte de carga conocida
El nombre no coincideEl nombre de facturación no coincide con el nombre del titular de la tarjeta (si está disponible)
Velocidad en el correo electrónicoMás de 3 pedidos del mismo email en 7 días
export const ScreenForFraud = defineSkill({
  name: "screen-for-fraud",
  tools: ["shopify", "ipinfo", "fraud-db"],
  async run({ input, tools }) {
    const order = input.order;
    const risks: RiskFactor[] = [];

    // Address velocity
    const addressOrders = await tools.shopify.get(
      `/orders.json?shipping_address=${encodeURIComponent(order.shipping_address.address1)}&created_at_min=${hoursAgo(24)}`
    );
    if (addressOrders.orders.length > 3) {
      risks.push({ factor: "ADDRESS_VELOCITY", score: 30, detail: `${addressOrders.orders.length} orders to same address in 24h` });
    }

    // IP geolocation
    const ipInfo = await tools.ipinfo.lookup(order.browser_ip);
    if (ipInfo.country !== order.billing_address.country_code) {
      risks.push({ factor: "IP_BILLING_MISMATCH", score: 25, detail: `IP country ${ipInfo.country} vs billing ${order.billing_address.country_code}` });
    }

    // Known fraud patterns
    const fraudMatch = await tools.fraudDb.check({
      email: order.email,
      ip: order.browser_ip,
      phone: order.phone,
    });
    if (fraudMatch.known) {
      risks.push({ factor: "KNOWN_FRAUD_SIGNAL", score: 80, detail: fraudMatch.reason });
    }

    const totalRiskScore = risks.reduce((sum, r) => sum + r.score, 0);
    const recommendation = totalRiskScore >= 80 ? "cancel"
      : totalRiskScore >= 40 ? "hold-for-review"
      : "approve";

    return { recommendation, riskScore: totalRiskScore, risks };
  },
});

Agente de gestión de inventario: nunca se agote ni se exceda

El agente de inventario observa los niveles de inventario de Shopify en todas las ubicaciones y coordina el reabastecimiento antes de que se agote el stock.

Comportamientos clave:

Alertas de existencias bajas: cuando el inventario de un producto cae por debajo del punto de reorden, el agente crea una tarea de reabastecimiento, ya sea una orden de compra (para productos obtenidos de proveedores) o una solicitud de transferencia (para productos disponibles en otra ubicación).

Gestión del escaparate: cuando el inventario alcanza un nivel críticamente bajo, el agente actualiza el mensaje del escaparate del producto ("¡Solo quedan 3!") para crear urgencia. Cuando un producto se agota, se puede configurar en "Continuar vendiendo" con una fecha de entrega estimada actualizada, o se puede ocultar el producto si esa es la política configurada.

Ajuste estacional: antes de períodos de alta demanda (días festivos, eventos promocionales), el agente ajusta los puntos de reorden al alza según los patrones históricos de demanda de años anteriores.

export const ManageInventoryLevel = defineSkill({
  name: "manage-inventory-level",
  tools: ["shopify"],
  async run({ input, tools }) {
    const product = await tools.shopify.get(`/products/${input.productId}.json`);
    const level = await tools.shopify.get(
      `/inventory_levels.json?inventory_item_ids=${product.variants.map(v => v.inventory_item_id).join(",")}`
    );

    const totalAvailable = level.inventory_levels.reduce((sum, l) => sum + l.available, 0);

    if (totalAvailable <= input.reorderPoint && totalAvailable > 0) {
      // Low stock — update storefront
      await tools.shopify.put(`/products/${input.productId}.json`, {
        product: { metafields: [{ namespace: "inventory", key: "stock_urgency", value: `Only ${totalAvailable} left in stock!` }] },
      });
      return { action: "LOW_STOCK_FLAGGED", available: totalAvailable };
    }

    if (totalAvailable === 0) {
      await tools.shopify.put(`/variants/${product.variants[0].id}.json`, {
        variant: { inventory_policy: "continue", inventory_management: "shopify" },
      });
      return { action: "OUT_OF_STOCK_CONTINUE_SELLING", available: 0 };
    }

    return { action: "NONE", available: totalAvailable };
  },
});

Agente de servicio al cliente: respuestas de voz de marca a escala

El agente de servicio al cliente maneja los cinco tipos principales de consultas de los clientes que representan más del 80% del volumen de tickets de soporte:

  1. Estado del pedido: consulta en Shopify el pedido y responde con el estado actual, el enlace de seguimiento y la entrega estimada.
  2. Inicio de devolución: valida la elegibilidad de devolución según la política de devolución, genera una autorización de devolución y envía una etiqueta de envío de devolución.
  3. Pregunta sobre el producto: busca en las preguntas frecuentes y la descripción del producto para responder preguntas previas a la compra.
  4. Cancelar pedido: Cancela pedidos que no han entrado en cumplimiento; para pedidos cumplidos, inicia el proceso de devolución.
  5. Solicitud de reenvío: para envíos perdidos o dañados, crea un pedido de reemplazo e inicia un reclamo al transportista.

Las respuestas se generan con la voz de la marca mediante un mensaje del sistema configurable. Las pruebas A/B de plantillas de respuesta se admiten a través de la configuración del agente.


Agente de personalización: cada cliente obtiene una experiencia única

El Agente de personalización crea perfiles de clientes individuales a partir del historial de compras, datos de navegación (a través de la API de eventos de clientes de Shopify) e interacciones de soporte. Utiliza estos perfiles para generar:

Recomendaciones de productos: para los correos electrónicos posteriores a la compra y el widget de recomendación de la tienda, el agente selecciona productos que complementan el historial de compras del cliente y coinciden con su sensibilidad al precio.

Recuperación de carrito: para carritos abandonados, el agente selecciona el momento, el contenido del mensaje y la oferta de descuento según el historial del cliente. Los clientes de alto valor que han comprado antes reciben un mensaje diferente al de los compradores nuevos que agregaron un artículo.

Segmentación de lealtad: etiqueta automáticamente a los clientes con segmentos del ciclo de vida (nuevos, activos, en riesgo, caducados) y activa secuencias de retención adecuadas. Un cliente "en riesgo" que no ha comprado en 90 días obtiene una campaña de recuperación; un cliente "nuevo" que acaba de completar su primera compra recibe una secuencia de incorporación.


Automatización de devoluciones y reembolsos

Las devoluciones son caras de procesar manualmente. El Agente de Devoluciones se encarga de todo el ciclo de vida de las devoluciones:

  1. El cliente envía la solicitud de devolución a través de un formulario o ticket de soporte.
  2. El agente valida la elegibilidad: dentro del plazo de devolución, el artículo es de categoría retornable, no marcado como fraudulento.
  3. El agente genera una autorización de devolución de mercancía (RMA) y envía una etiqueta de devolución prepaga.
  4. Cuando el transportista escanea el envío de devolución, el agente notifica al cliente.
  5. Cuando el almacén recibe e inspecciona la devolución, el agente procesa el reembolso en Shopify automáticamente.
  6. Si el artículo devuelto está dañado, el agente lo dirige al flujo de trabajo de disputas en lugar de realizar un reembolso automático.

Preguntas frecuentes

¿Cómo maneja OpenClaw los límites de tasa de API de Shopify en grandes volúmenes de pedidos?

El adaptador de herramientas Shopify implementa un limitador de tasa de depósitos con fugas que rastrea el tamaño restante del depósito API mediante el encabezado de respuesta X-Shopify-Shop-Api-Call-Limit. Las operaciones de alta prioridad (procesamiento de webhook de confirmación de pedido) reciben acceso prioritario al depósito. Las operaciones no urgentes (consultas de análisis, generación de informes) se ponen en cola y se ejecutan durante los períodos de poco tráfico. Para las tiendas que exceden los límites de la API REST, el agente puede cambiar a la API GraphQL, que utiliza un modelo de limitación de tarifas basado en costos que permite consultas por lotes más eficientes.

¿Se puede ajustar el agente de detección de fraude para reducir los falsos positivos?

Sí. Las ponderaciones de los factores de riesgo y los umbrales de aprobación/retención/cancelación son totalmente configurables. Después de la implementación inicial, ECOSIRE proporciona un servicio de calibración: analizamos los primeros 30 días de decisiones de detección de fraude con los resultados reales de los contracargos para ajustar las ponderaciones. Los comerciantes también pueden crear reglas de lista blanca manuales para clientes recurrentes confiables o patrones de pedidos específicos que el modelo marca incorrectamente.

¿Qué sucede durante una interrupción de Shopify o una falla en la entrega del webhook?

Shopify reintenta entregas fallidas de webhooks durante 48 horas con un retroceso exponencial. El controlador de webhook de OpenClaw está diseñado para ser idempotente: recibir el mismo webhook varias veces produce el mismo resultado, no acciones duplicadas. Para escenarios en los que la entrega de webhooks falla por completo, OpenClaw incluye un trabajo de conciliación que sondea la API de Shopify Orders en busca de pedidos no procesados ​​que se crearon pero cuyos webhooks nunca se recibieron.

¿El agente de personalización funciona para tiendas con una base de clientes pequeña?

El arranque en frío es el principal desafío para la personalización con bases de clientes pequeñas. Para nuevos clientes (menos de 3 pedidos), el agente recurre a recomendaciones basadas en categorías y de los más vendidos en lugar de al historial individual. A medida que los clientes acumulan un historial de compras, la personalización se vuelve más precisa. El agente es más eficaz para tiendas con al menos 1000 clientes activos y 90 días de historial de pedidos.

¿Puede la automatización funcionar junto con Shopify Flow?

Sí. OpenClaw no entra en conflicto con las automatizaciones de Shopify Flow. El patrón recomendado es usar Shopify Flow para automatizaciones simples basadas en reglas dentro del ecosistema Shopify (etiquetar clientes, enviar correos electrónicos básicos) y OpenClaw para automatizaciones complejas entre sistemas que requieren razonamiento, llamadas API externas o lógica de decisión de varios pasos. OpenClaw también puede activar flujos de trabajo de Shopify Flow a través de la API de Shopify cuando sea apropiado.


Próximos pasos

Una tienda Shopify que ejecuta la automatización OpenClaw es un negocio fundamentalmente diferente a uno que ejecuta operaciones manuales. El procesamiento de pedidos se realiza en segundos, no en horas. El fraude se detecta antes de su cumplimiento. El inventario nunca se agota silenciosamente. Los clientes obtienen respuestas instantáneas y precisas en cualquier hora.

El servicio de integración OpenClaw Shopify de ECOSIRE proporciona la pila de automatización completa: detección de fraude calibrada para su categoría de producto, enrutamiento de cumplimiento configurado para su red de almacén, agentes de servicio al cliente capacitados en la voz de su marca y modelos de personalización creados a partir de los datos de sus clientes.

Comuníquese con ECOSIRE para obtener una hoja de ruta de implementación y evaluación de automatización de Shopify.

E

Escrito por

ECOSIRE Research and Development Team

Construyendo productos digitales de nivel empresarial en ECOSIRE. Compartiendo perspectivas sobre integraciones Odoo, automatización de eCommerce y soluciones empresariales impulsadas por IA.

Chatea en whatsapp