Automatisation du commerce électronique avec OpenClaw + Shopify
Shopify est la plateforme. OpenClaw est l'intelligence opérationnelle qui s'appuie sur lui. Alors que Shopify gère la vitrine, le paiement et le traitement des paiements, la complexité opérationnelle de la gestion d'une boutique Shopify à grande échelle (gestion des commandes, optimisation des stocks, communication avec les clients, détection des fraudes, traitement des retours, personnalisation) nécessite une automatisation qui va au-delà de ce que fournissent les flux natifs de Shopify.
Les agents OpenClaw s'intègrent à Shopify via des webhooks et l'API Admin pour gérer la couche opérationnelle de manière autonome. Ce guide couvre huit domaines d'automatisation : traitement des commandes, détection des fraudes, gestion des stocks, support client, personnalisation, retours et remboursements, automatisation du marketing et coordination des fournisseurs.
Points clés à retenir
- OpenClaw s'abonne aux webhooks Shopify en temps réel, permettant une réponse en moins d'une seconde aux événements de commande, aux modifications de stock et aux actions des clients.
- L'agent de traitement des commandes gère le routage d'exécution, la génération des étiquettes d'expédition, la sélection du transporteur et les notifications clients de bout en bout.
- L'agent de détection de fraude examine chaque commande à l'aide de signaux comportementaux, de validation d'adresse, de contrôles de vitesse et de scores de risque tiers avant le début de l'exécution.
- L'agent d'inventaire surveille les niveaux de stock dans les entrepôts et les sites Shopify, déclenche les réapprovisionnements et gère les messages de faible stock sur la vitrine.
- L'agent du service client gère automatiquement les demandes de renseignements sur l'état des commandes, les demandes de retour et les questions d'assistance courantes avec la voix de votre marque.
- L'agent de personnalisation génère des recommandations de produits, des messages de récupération de panier et des séquences post-achat adaptées à l'historique de chaque client.
- Toute automatisation est observable : chaque action de l'agent apparaît dans un tableau de bord avec une piste d'audit complète.
- ECOSIRE crée et gère les intégrations OpenClaw Shopify pour les magasins Shopify en croissance et à l'échelle de l'entreprise.
Architecture d'intégration
OpenClaw se connecte à Shopify via trois canaux :
Shopify Webhooks : le principal canal en temps réel. OpenClaw enregistre les points de terminaison du webhook pour les types d'événements auxquels il doit répondre : orders/create, orders/updated, orders/fulfilled, inventory_levels/update, customers/create, refunds/create, et plus encore. Shopify signe toutes les charges utiles des webhooks avec HMAC-SHA256 ; OpenClaw vérifie la signature avant le traitement.
API Shopify Admin : les API REST et GraphQL pour interroger des données non disponibles dans les webhooks et pour créer/mettre à jour des enregistrements Shopify. Les limites de débit sont gérées par l'adaptateur d'outils Shopify d'OpenClaw à l'aide d'un algorithme de compartiment à fuite.
API Shopify Storefront : pour les fonctionnalités de personnalisation qui injectent des recommandations et du contenu dynamique dans la vitrine.
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",
},
});
Agent de traitement des commandes : exécution à la vitesse de la machine
Chaque minute entre la passation d'une commande et le lancement de son exécution est une minute où quelque chose peut mal tourner : les stocks sont épuisés, la date limite du transporteur est dépassée, l'enthousiasme du client diminue. L'agent de traitement des commandes démarre la séquence d'exécution dès la création d'une commande.
Le workflow d'exécution :
Étape 1 – Validation de la commande : Vérifiez la disponibilité des stocks par rapport aux éléments de la commande. Si un article est en rupture de stock, vérifiez s'il peut être expédié depuis un autre emplacement avant de déclencher une commande en souffrance.
Étape 2 — Dépistage de la fraude : acheminez la commande vers l'agent de détection de fraude (couvert ci-dessous). Suspendez le traitement jusqu'à ce que le contrôle de fraude soit terminé (généralement moins de 2 secondes).
Étape 3 — Acheminement de l'entrepôt : pour les commerçants disposant de plusieurs sites de traitement, sélectionnez l'entrepôt optimal en fonction de la disponibilité des stocks, de la proximité de l'adresse de livraison et de la charge de travail actuelle.
Étape 4 — Sélection du transporteur : en fonction du service d'expédition sélectionné par le client, des dimensions, du poids et de la destination du produit, sélectionnez le service de transporteur spécifique et générez l'étiquette d'expédition.
Étape 5 — Notification client : Envoyez une confirmation de commande avec un lien de suivi au moment où l'étiquette est générée. Mettez à jour Shopify avec le numéro de traitement et de suivi.
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 };
},
});
Agent de détection de fraude : contrôle de chaque commande en temps réel
Les commandes frauduleuses coûtent aux commerçants Shopify environ 0,5 à 2 % de leurs revenus en rétrofacturations et pertes de marchandises. L'agent de détection de fraude examine chaque commande à l'aide d'un modèle de risque multifactoriel avant le début de son exécution.
Facteurs de risque évalués :
| Facteur | Comment il est évalué |
|---|---|
| Vitesse d'adresse | Plusieurs commandes à la même adresse depuis différents modes de paiement en 24 heures |
| Vérification du BIN de la carte | Le pays émetteur de la carte correspond au pays de l'adresse de facturation |
| Correspondance IP/facturation | Géolocalisation IP cohérente avec l'adresse de facturation |
| Anomalie de valeur de commande | Valeur de la commande nettement supérieure à l'historique du client |
| Risque lié au domaine de messagerie | Domaine de messagerie jetable ou domaine nouvellement enregistré |
| Expédition | Expédition à une adresse de transport connue |
| Incompatibilité de nom | Le nom de facturation ne correspond pas au nom du titulaire de la carte (si disponible) |
| Vitesse sur email | Plus de 3 commandes provenant du même email en 7 jours |
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 };
},
});
Agent de gestion des stocks : jamais de rupture de stock, jamais de surstock
L'agent d'inventaire surveille les niveaux de stock de Shopify sur tous les sites et coordonne le réapprovisionnement avant que des ruptures de stock ne surviennent.
Comportements clés :
Alertes de stock faible : lorsque le stock d'un produit tombe en dessous du point de commande, l'agent crée une tâche de réapprovisionnement : soit un bon de commande (pour les produits provenant de fournisseurs), soit une demande de transfert (pour les produits disponibles à un autre emplacement).
Gestion de la vitrine : lorsque l'inventaire atteint un niveau critiquement bas, l'agent met à jour le message de la vitrine du produit (« Il n'en reste que 3 ! ») pour créer une urgence. Lorsqu'un produit est en rupture de stock, il peut être défini sur « Continuer la vente » avec une date de livraison estimée mise à jour, ou le produit peut être masqué si telle est la politique configurée.
Ajustement saisonnier : avant les périodes de forte demande (vacances, événements promotionnels), l'agent ajuste les points de commande à la hausse en fonction des modèles de demande historiques des années précédentes.
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 };
},
});
Agent du service client : réponses vocales de marque à grande échelle
L'agent du service client gère les cinq principaux types de demandes de clients qui représentent plus de 80 % du volume des tickets d'assistance :
- Statut de la commande : interroge Shopify pour la commande et répond avec l'état actuel, le lien de suivi et la livraison estimée.
- Initiation du retour : valide l'éligibilité au retour par rapport à la politique de retour, génère une autorisation de retour et envoie une étiquette d'expédition de retour.
- Question sur le produit : recherche dans la FAQ et la description du produit pour répondre aux questions préalables à l'achat.
- Annuler la commande : annule les commandes qui n'ont pas été exécutées ; pour les commandes exécutées, lance le processus de retour.
- Demande de réexpédition : pour les envois perdus ou endommagés, crée une commande de remplacement et lance une réclamation auprès du transporteur.
Les réponses sont générées avec la voix de la marque à l'aide d'une invite système configurable. Les tests A/B des modèles de réponse sont pris en charge via la configuration de l'agent.
Agent de personnalisation : chaque client vit une expérience unique
L'agent de personnalisation crée des profils clients individuels à partir de l'historique des achats, des données de navigation (via l'API Customer Events de Shopify) et des interactions d'assistance. Il utilise ces profils pour générer :
Recommandations de produits : pour les e-mails post-achat et le widget de recommandation de vitrine, l'agent sélectionne les produits qui complètent l'historique d'achat du client et correspondent à sa sensibilité au prix.
Récupération de panier : pour les paniers abandonnés, l'agent sélectionne le moment, le contenu du message et l'offre de remise en fonction de l'historique du client. Les clients de grande valeur qui ont déjà acheté reçoivent un message différent de celui des nouveaux acheteurs qui ont ajouté un article.
Segmentation de fidélité : identifie automatiquement les clients avec des segments de cycle de vie (nouveaux, actifs, à risque, expirés) et déclenche des séquences de rétention appropriées. Un client « à risque » qui n'a pas acheté depuis 90 jours bénéficie d'une campagne de reconquête ; un « nouveau » client qui vient de finaliser son premier achat reçoit une séquence d'intégration.
Automatisation des retours et des remboursements
Les retours sont coûteux à traiter manuellement. L'agent des retours gère l'intégralité du cycle de vie des retours :
- Le client soumet une demande de retour via un formulaire ou un ticket d'assistance.
- L'agent valide l'éligibilité : dans la fenêtre de retour, l'article est de catégorie consignée et n'est pas signalé comme frauduleux.
- L'agent génère une autorisation de retour de marchandise (RMA) et envoie une étiquette de retour prépayée.
- Lorsque le transporteur scanne l'envoi de retour, l'agent en informe le client.
- Lorsque le retour est reçu et inspecté par l'entrepôt, l'agent traite automatiquement le remboursement dans Shopify.
- Si l'article retourné est endommagé, l'agent l'achemine vers le workflow de litige au lieu du remboursement automatique.
Questions fréquemment posées
Comment OpenClaw gère-t-il les limites de débit de l'API de Shopify en cas de volumes de commandes élevés ?
L'adaptateur d'outils Shopify implémente un limiteur de débit de compartiment qui fuit qui suit la taille restante du compartiment API à l'aide de l'en-tête de réponse X-Shopify-Shop-Api-Call-Limit. Les opérations hautement prioritaires (traitement du webhook de confirmation de commande) bénéficient d'un accès prioritaire au compartiment. Les opérations non urgentes (requêtes analytiques, génération de rapports) sont mises en file d'attente et exécutées pendant les périodes de faible trafic. Pour les magasins dépassant les limites de l'API REST, l'agent peut passer à l'API GraphQL, qui utilise un modèle de limitation de débit basé sur les coûts qui permet des requêtes par lots plus efficaces.
L'agent de détection de fraude peut-il être configuré pour réduire les faux positifs ?
Oui. Les pondérations des facteurs de risque et les seuils d’approbation/conservation/annulation sont entièrement configurables. Après le déploiement initial, ECOSIRE fournit un service d'étalonnage : nous analysons les 30 premiers jours de décisions de détection de fraude par rapport aux résultats réels des rétrofacturations pour ajuster les pondérations. Les commerçants peuvent également créer des règles de liste blanche manuelles pour les clients réguliers de confiance ou pour des modèles de commande spécifiques que le modèle signale de manière incorrecte.
Que se passe-t-il lors d'une panne de Shopify ou d'un échec de livraison d'un webhook ?
Shopify réessaye les livraisons de webhooks ayant échoué pendant 48 heures avec une interruption exponentielle. Le gestionnaire de webhook d'OpenClaw est conçu pour être idempotent : recevoir le même webhook plusieurs fois produit le même résultat, et non des actions en double. Pour les scénarios dans lesquels la livraison des webhooks échoue complètement, OpenClaw inclut une tâche de rapprochement qui interroge l'API Shopify Orders pour les commandes non traitées qui ont été créées mais dont les webhooks n'ont jamais été reçus.
L'agent de personnalisation travaille-t-il pour des magasins avec une petite clientèle ?
Le démarrage à froid est le principal défi de la personnalisation avec de petites bases de clients. Pour les nouveaux clients (moins de 3 commandes), l'agent s'appuie sur des recommandations basées sur des catégories et des best-sellers plutôt que sur un historique individuel. À mesure que les clients accumulent un historique d’achats, la personnalisation devient plus précise. L'agent est plus efficace pour les magasins comptant au moins 1 000 clients actifs et 90 jours d'historique de commandes.
L'automatisation peut-elle fonctionner avec Shopify Flow ?
Oui. OpenClaw n'est pas en conflit avec les automatisations Shopify Flow. Le modèle recommandé consiste à utiliser Shopify Flow pour des automatisations simples basées sur des règles au sein de l'écosystème Shopify (marquage des clients, envoi d'e-mails de base) et OpenClaw pour des automatisations complexes et intersystèmes qui nécessitent un raisonnement, des appels d'API externes ou une logique de décision en plusieurs étapes. OpenClaw peut également déclencher les workflows Shopify Flow via l'API Shopify, le cas échéant.
Prochaines étapes
Une boutique Shopify exécutant l’automatisation OpenClaw est une entreprise fondamentalement différente d’une boutique fonctionnant avec des opérations manuelles. Le traitement des commandes s'effectue en quelques secondes et non en quelques heures. La fraude est détectée avant sa réalisation. L’inventaire ne s’épuise jamais silencieusement. Les clients reçoivent des réponses instantanées et précises à toute heure.
Le service d'intégration OpenClaw Shopify d'ECOSIRE fournit la pile d'automatisation complète : détection de fraude calibrée en fonction de votre catégorie de produits, routage d'exécution configuré pour votre réseau d'entrepôts, agents du service client formés à la voix de votre marque et modèles de personnalisation construits à partir de vos données client.
Contactez ECOSIRE pour obtenir une évaluation de l'automatisation Shopify et une feuille de route de mise en œuvre.
Rédigé par
ECOSIRE Research and Development Team
Création de produits numériques de niveau entreprise chez ECOSIRE. Partage d'analyses sur les intégrations Odoo, l'automatisation e-commerce et les solutions d'entreprise propulsées par l'IA.
Articles connexes
AI-Powered Accounting Automation: What Works in 2026
Discover which AI accounting automation tools deliver real ROI in 2026, from bank reconciliation to predictive cash flow, with implementation strategies.
Australian GST Guide for eCommerce Businesses
Complete Australian GST guide for eCommerce businesses covering ATO registration, the $75,000 threshold, low value imports, BAS lodgement, and GST for digital services.
eCommerce Bookkeeping: Revenue Recognition and Sales Tax
Master eCommerce bookkeeping with correct revenue recognition timing, sales tax collection across marketplaces, and reconciliation for Shopify, Amazon, and more.