E-commerce
6 juillet 2026
« Est-ce disponible chez moi ? » « Pourquoi deux colis ? » « Puis-je retirer à Lyon plutôt que d'attendre l'expédition ? » Dès le second entrepôt, ces questions exigent lookup inventaire par location, matrice ETA et lecture fulfillment en temps réel. Un bot générique récite « 3-5 jours ouvrés » ; un bot multi-nœuds lit Shopify et applique MWSTOCK-POLICY (#324).
Denser AI montre qu'un bot RAG peut interroger la base inventaire à la question, variantes et locations incluses, sans attendre un webhook retardé (Denser, inventory sync 2026). Alhena confirme que les chatbots Shopify natifs lisent catalogues, variantes et niveaux stock live pour WISMO et disponibilité (Alhena, Shopify bots 2026).
Ce guide #325 traite le chatbot IA stock multi-entrepôts : disponibilité, délais zone, split shipment, retrait local. Il exécute en conversation la policy SAV multi-entrepôt (#324), distinct du bot livraison et du bot incidents (#320).
Sommaire
Pourquoi automatiser le stock multi-entrepôt en bot plutôt qu'en macros seules ?
Un agent humain ouvre Shopify admin, additionne trois locations, consulte la matrice ETA dans Notion, copie une macro périmée. Le bot exécute le même protocole en secondes avec données live et garde-fous codés.
Trois avantages bot multi-nœuds
Inventaire live : qty agrégée + locations web-enabled avant toute promesse
ETA déterministe : CP client + entrepôt probable + cutoff, pas estimation LLM
Split anticipé : alerte panier si aucun nœud seul ne couvre la qty
Ce que le bot ne décide pas
Order routing Shopify reste côté OMS : minimize split, closest location, ranked locations (Shopify Help, routing 2026). Le bot explique le routing post-assignation et prévient avant achat, il ne réassigne pas fulfillment sans escalade ops.
Principe #325
Pipeline MW-BOT-LOOP : intent → MW-BOT-GUARD → lookup API → flow MW-BOT-FLOW → réponse chiffrée ou escalade → log KPI.
En quoi diffère-t-il du SAV #324, du bot shipping et du bot incidents #320 ?
Cinq contenus stock/logistique, cinq niveaux d'automatisation.
Support multi-entrepôt (#324)
MWSTOCK SAV (#324) : MWSTOCK-INTENT, macros humaines, MWSTOCK-SPLIT. Le #325 : exécution bot de ces flows avec sync locations Shopify.
Bot livraison
Bot shipping : frais port, zones, cutoff mono-entrepôt. Le #325 : disponibilité multi-location et origine fulfillment.
Bot incidents (#320)
Incidents stock (#320) : survente, alternatives post-incident. Le #325 : fonctionnement normal multi-nœuds, pas crise oversell.
Magasin vs online (#271)
Cross-canal (#271) : stock boutique vs web. Le #325 intègre BOPIS et ship-from-store si locations retail activées.
Bot OOS (#245)
Alternatives (#245) : substituts PDP rupture. Le #325 : stock réseau OK mais réparti, pas rupture globale.
Promesse #325
MW-BOT-INTENT, MW-BOT-GUARD, MW-BOT-TOOLS, flows disponibilité/ETA/split/BOPIS, phasing déploiement, KPI bot, playbooks.
Quelle taxonomie MW-BOT-INTENT pour router le bot multi-entrepôt ?
La taxonomie MW-BOT-INTENT reprend MWSTOCK-INTENT (#324) avec intents exécutables sans agent.
10 intents bot multi-nœuds
mwb_avail_live: disponibilité temps réel PDP ou paniermwb_eta_region: délai selon CP, pays, cutoffmwb_cart_split_warn: alerte split probable avant checkoutmwb_split_explain: post-commande, N colis, trackingsmwb_origin_explain: pourquoi expédié depuis {ville}mwb_bopis_eligible: retrait magasin le plus prochemwb_nearest_store_stock: stock boutique vs entrepôt webmwb_order_routing_status: statut assignation entrepôtmwb_market_stock: stock marché UE vs UKmwb_fallback_notify: réassignation entrepôt, options client
Routing bot priorité
Tier 1 auto (semaine 1-2) : mwb_avail_live, mwb_eta_region. Tier 2 (semaine 3-4) : mwb_split_explain, mwb_origin_explain post-auth. Tier 3 : mwb_bopis_eligible si retail actif. CallSphere recommande transparence stock et alternatives contextualisées (CallSphere, inventory agent 2026).
Quels garde-fous MW-BOT-GUARD avant tout flow bot stock ?
Le document MW-BOT-GUARD évite sur-promesse stock et fuite données entrepôt.
12 règles bot multi-nœuds
Jamais qty par location si MWSTOCK-POLICY interdit divulgation
Jamais promettre entrepôt origine pré-achat sans simulation routing
Toujours qty agrégée ou « disponible / rupture » binaire public
ETA depuis matrice MWSTOCK-POLICY, pas hallucination LLM
Auth double post-commande : email + n° commande
Split annoncé si policy exige transparence checkout
BOPIS : vérifier location retail + qty ligne, pas total réseau seul
Markets : stock non fungible cross-market, bot lit market client
Buffer safety : qty online = available minus buffer policy
Drift sync : mode prudence si webhook lag > 15 min
Compensation : escalade humaine si geste routing demandé
Log audit : SKU, locations lues, ETA calculée, intent
Mode prudence drift
Si inventaire Shopify et WMS divergent : bot répond « Vérification stock en cours, un conseiller confirme sous 2 h » au lieu de confirmer disponibilité. Lier erreurs stock (#319) si survente avérée.
Message refus qty location
« Je confirme que l'article est disponible pour expédition rapide depuis notre hub {région}. Je ne peux pas communiquer le stock exact par site pour des raisons opérationnelles. »
Quels outils MW-BOT-TOOLS connecter au bot Shopify ?
La couche MW-BOT-TOOLS liste les APIs minimales pour un bot multi-nœuds crédible.
Lecture Shopify obligatoire
InventoryLevel par location_id + variant_id
Locations : actives, fulfills_online_orders, address geo
Product variant : inventory_policy, inventory_quantity agrégé
Order fulfillments : location_id assignée, tracking multi-colis
Markets : catalogues et inventaire par marché si activé
Sync temps réel vs batch
Denser recommande query à la demande (RAG sur DB inventaire) plutôt que sync nocturne pour pics Black Friday (Denser, RAG inventory 2026). Alternative : webhook inventory_levels/update → cache Redis TTL 60 s par variant/location.
Données complémentaires
Matrice ETA : entrepôt origine × zone CP (CSV versionné)
Cutoff horaire par location depuis MWSTOCK-POLICY
Carrier API : ETA affiné post-expédition (optionnel tier 2)
Geocoding CP : distance client ↔ locations pour BOPIS
Écriture interdite bot
Pas de réassignation fulfillment, pas de transfer inter-entrepôt, pas de modification routing rules. Escalade ticket ops avec payload structuré.
Comment configurer le flow disponibilité MW-BOT-FLOW-AVAIL ?
Le flow MW-BOT-FLOW-AVAIL répond « est-ce disponible ? » avec données live.
Intent mwb_avail_live
Détecter SKU depuis URL session, panier ou question texte
Query InventoryLevel toutes locations web-enabled
Calculer available = sum(qty) - buffers policy
Si available >= qty demandée : « Oui, disponible. Livraison estimée {date} en {CP}. »
Si available < qty : « Stock limité : {max} unités disponibles actuellement. »
Si 0 : proposer alerte réassort (#106) ou alternative (#245)
Intent mwb_cart_split_warn
Avant checkout, bot analyse panier multi-SKU : si aucune location ne couvre 100 % des lignes, message : « Votre commande pourrait arriver en {n} colis séparés pour minimiser le délai. Souhaitez-vous continuer ? » Aligner MWSTOCK-SPLIT (#324).
Intent mwb_eta_region
Collecter CP ou pays si absent (géoloc session optionnelle)
Identifier entrepôt probable : closest avec stock complet panier
Appliquer cutoff : heure > cutoff → J+1 expédition
Output date concrète : « Commandé avant 14 h : réception jeudi 10 juillet. »
Exemple DTC
Client Marseille, stock Paris 8 + Lyon 0. Bot : « Disponible, expédition depuis notre hub Île-de-France, livraison estimée mercredi 9 juillet. » Pas « expédié de Paris » si policy interdit nom entrepôt.
Comment expliquer split et origine avec MW-BOT-FLOW-POST ?
Le flow MW-BOT-FLOW-POST traite les questions post-commande multi-colis et origine.
Intent mwb_split_explain
Auth email + n° commande
Query fulfillments : liste colis, SKUs par colis, tracking, statut
Réponse structurée : « Colis 1/2 : {items}, suivi {url}, statut {status}. Colis 2/2 : prévu {date}. »
Expliquer cause en langage client : stock réparti sur deux hubs pour réduire délai total
Intent mwb_origin_explain
Lire location fulfillment assignée. Mapper cause routing depuis MWSTOCK-POLICY : minimize split, ranked location, market rule. Message type #324 MWSTOCK-ROUTING : « Vos 3 articles sont expédiés ensemble depuis {ville} car c'est le seul hub où les trois sont disponibles simultanément. »
Intent mwb_order_routing_status
Commande payée, pas encore fulfillée : « Votre commande est en préparation. Entrepôt assigné : {region}. Expédition prévue sous {sla} h ouvrées. » Si unassigned : « Assignation entrepôt en cours, confirmation email sous 24 h. » Ne pas inventer ville si fulfillment location null.
Intent mwb_fallback_notify
Webhook ops ou Flow déclenche message proactif : « Stock indisponible sur le hub initialement prévu. Options : expédier depuis {ville_alt} (+1 j) / attendre transfert ({date}) / annuler ligne. » Ecommerce Times : contacter avant plainte (Ecommerce Times, fallback 2026).
Comment activer le retrait local MW-BOT-FLOW-BOPIS ?
Le flow MW-BOT-FLOW-BOPIS croise stock retail et entrepôt web pour retrait local.
Intent mwb_bopis_eligible
Input : SKU + CP client ou ville
Filtrer locations type retail + fulfills_online_orders ou pickup enabled
Tri distance croissante (geocoding CP)
Pour chaque boutique : qty ligne disponible sur cette location (pas agrégé)
Output : « Retrait disponible à {boutique}, {adresse}, {qty} en stock. Délai préparation {sla} h. »
CTA : lien checkout BOPIS ou PDP pickup selector
Intent mwb_nearest_store_stock
Entrepôt web OOS, boutique OK : « Plus disponible en livraison express, mais {n} unités en retrait à {boutique} à {distance} km. » Denser illustre le scénario entrepôt vide + magasin proche → orienter BOPIS (Denser, BOPIS routing 2026). Pont vers #271 et Click & Collect (#177).
Garde-fous BOPIS bot
Qty BOPIS = inventory à la location retail exacte. Panier multi-SKU : vérifier chaque ligne sur la même boutique ou proposer split retrait + livraison. Si qty insuffisante sur boutique la plus proche : lister alternative magasin #2, pas promettre réservation sans paiement si policy l'interdit.
Intent mwb_market_stock
Client UK sur site EU : bot lit market catalog, explique stock non expédiable cross-border. Propose site {market_url} ou hub local si existant.
Quels flows prioriser selon votre architecture multi-entrepôt ?
La matrice déploiement MW-BOT évite d'activer dix intents jour 1.
2 entrepôts web France
Semaine 1 : mwb_avail_live + mwb_eta_region. Semaine 3 : mwb_split_explain + mwb_origin_explain. ShipBob estime 13 % économies via routing distribué (ShipBob 2026).
Web + 3PL opaque
Ne pas exposer nom 3PL. Bot dit « centre de préparation {région} ». Prioriser mwb_order_routing_status et mwb_split_explain.
Retail + entrepôt
Activer mwb_bopis_eligible semaine 2 si BOPIS > 10 % CA. Sync POS latence : mode prudence si sync > 5 min (#271).
Multi-market EU/UK
mwb_market_stock en tier 1. Markets Shopify séparés obligatoires. Bot ne suggère jamais expédition cross-market.
Phasing Alhena
Alhena recommande phase 1 WISMO + stock lookup, phase 2 BOPIS et self-service avancé (Alhena, phased 2026). Aligner roadmap MW-BOT sur volume tickets MWSTOCK-INTENT (#324).
Quels KPI mesurer pour le bot stock multi-entrepôt ?
Mesurez résolution bot qualifiée et précision ETA, pas la déflection brute.
KPI mensuels MW-BOT
mwb_bot_resolution_rate : intents clos sans humain / total MW-BOT-INTENT
mwb_eta_accuracy : ETA bot vs livraison réelle (écart jours)
mwb_split_surprise_rate : tickets split post-achat non anticipés
mwb_false_avail_incidents : promesse bot puis rupture (cible 0)
mwb_bopis_conversion : sessions BOPIS suggérées → commandes pickup
mwb_escalation_ops_rate : handoffs routing / total
mwb_csat_stock_bot : satisfaction segment stock bot
Benchmarks réalistes
Phase 1 (avail + ETA) : 50-65 % résolution bot. Phase 2 (+ post-order split) : 60-75 %. mwb_false_avail_incidents doit rester à 0 : renforcer MW-BOT-GUARD et mode prudence drift. GuruSup : requêtes stock bien traitées convertissent en achat immédiat (GuruSup, stock queries 2026).
Revue mensuelle
Top intents non résolus → enrichir corpus ou nouvel edge case. Corréler mwb_split_surprise_rate avec règle minimize split Shopify.
Comment Qstomy automatise disponibilité, délais et retrait local multi-entrepôt ?
Qstomy exécute MW-BOT-FLOW en conversation Shopify : stock live, ETA zone, split post-commande, éligibilité BOPIS, sans modifier order routing.
Capacités
Router MW-BOT-INTENT depuis message naturel
Query InventoryLevel multi-location temps réel
ETA déterministe depuis matrice MWSTOCK-POLICY
Alerte split panier pré-checkout
Explication origine fulfillment post-auth
BOPIS : boutique la plus proche avec qty ligne
MW-BOT-GUARD : zéro qty location si policy interdit
Scénario DTC chiffré
Marque outdoor, 2 entrepôts + 4 boutiques BOPIS. Avant #325 : 41 tickets MWSTOCK/mois, mwb_bot_resolution_rate 0 % (macros seules), mw_split_surprise_rate 19 %. Après MW-BOT MVP 8 semaines : tickets humains 14/mois, mwb_bot_resolution_rate 68 %, mwb_eta_accuracy ±0,8 j, split surprise 6 %, mwb_bopis_conversion +22 % sur sessions éligibles. CSAT stock 4,5/5.
Intégration
Connecteur Shopify locations natif. Sync MWSTOCK-POLICY (#324). Voir support client IA, Shopify, démo.
Quels playbooks déployer pour lancer le bot multi-entrepôt ?
Playbook 1 : audit MWSTOCK tickets 90 j (2 h)
Export intents #324. Mesurer volume mw_avail, mw_split, mw_origin. Prioriser tier 1 bot.
Playbook 2 : MW-BOT-GUARD + matrice ETA (1 j)
12 règles section 4. CSV entrepôt × zone. Tests : 10 questions qty location doivent toutes refuser si policy interdit.
Playbook 3 : MW-BOT-FLOW-AVAIL MVP (1 semaine)
Intents avail + ETA. Connecter InventoryLevel API. QA 30 CP France. Lancer PDP + panier.
Playbook 4 : post-order + BOPIS (2 semaines)
Flows split, origin, bopis_eligible. Auth double. Test parcours retail Lyon + entrepôt Paris.
Playbook 5 : revue KPI mensuelle (45 min)
Dashboard section 10. Ajuster matrice ETA si mwb_eta_accuracy dérive. Enrichir corpus edge cases.
Maillage utile
Support multi-entrepôt (#324)

Enzo
6 juillet 2026





