Satellite de Boutique v1.3.0
Configurer Promotions
Codes promo au panier : pourcentage, montant fixe ou port offert (cumulable), scope inclure/exclure, ciblage clients et segment.
Ce qu'il fait
Créez des codes promo (« ETE2026 ») que vos clients saisissent au panier ou au checkout : remise en pourcentage, montant fixe, ou aucune remise de ligne — le port offert est un toggle cumulable avec n'importe quel type. Chaque promo empile ses conditions : dates de validité (vides = active jusqu'à désactivation), montant minimum de panier, limite d'utilisation totale et par client, scope inclure/exclure (toute la boutique, des catégories ou des produits), ciblage par catégorie d'acheteurs (satellite tarifs pro, gracieux si absent) et par historique de commandes (nouveaux clients / inactifs depuis N mois) — un bouton, jamais une case cochée à moitié, jamais un menu déroulant. La remise s'applique au niveau de la commande sur le sous-total ÉLIGIBLE (jamais un prix de ligne trafiqué), revalidée au moment de payer (un code expiré/épuisé/hors segment entre-temps est retiré proprement, jamais de remise fantôme), et snapshotée sur la commande : panier, checkout, confirmation, emails et fiche commande affichent tous la même ligne « Remise (CODE) ». Un code déjà utilisé ne se supprime jamais — seule la désactivation reste possible, l'historique des usages est la meilleure protection contre les abus.
- Récompense : pourcentage, montant fixe ou aucune remise de ligne, en boutons + port offert cumulable en toggle (jamais un menu déroulant)
- Sur quoi : toute la boutique, ou des catégories/produits à INCLURE ou à EXCLURE, choisis dans une pop-up maison (chips, jamais un select)
- Pour qui : catégorie d'acheteurs (satellite tarifs pro, bloc gracieusement masqué si absent) et segment (nouveaux clients / inactifs depuis N mois)
- Conditions : dates de validité (vides = active jusqu'à désactivation), montant minimum de panier, limite d'usage totale et par client, actif/inactif
- Champ « Code promo » (saisie + Appliquer/Retirer) au panier ET au checkout, fonctionne sans JavaScript
- Revalidation au moment de payer : un code expiré/épuisé/hors scope/hors segment entre-temps est retiré proprement, jamais de remise fantôme
- Remise visible partout : panier, checkout, confirmation de commande, emails et fiche commande admin
- Un code déjà utilisé ne se supprime jamais : seule la désactivation reste possible, l'historique reste
- Même validation à la création manuelle de commande côté admin
- Se retire sans rien casser : panier/checkout/commandes redeviennent strictement inchangés, les commandes déjà passées gardent leur remise
Ce qu'il suppose
Ce module a besoin de :
- shop ^1.24
Piloter par une IA
Ce que ce module sait faire quand on le lui demande en langage naturel, et ce que chaque action engage.
-
promoslecture seuleLes codes promo, les plus récents d'abord : code, ce qu'il offre (« −20 % + port offert »), s'il est utilisable maintenant (inactif, à venir, expiré, épuisé ou en cours), nombre d'utilisations et limites, panier minimum, dates de validité et restrictions de ciblage. 50 au plus par appel, `suite` donne l'offset suivant.
« quels codes promo sont actifs en ce moment ? » « combien de fois le code ETE2026 a servi ? »
-
activerconfirmation demandéeActive ou désactive un code promo (le bouton « Actif / Inactif » de la liste). La valeur voulue est explicite : actif=true ou actif=false. Un code actif baisse le prix des commandes : confirmation demandée. Prévient quand le code activé reste inutilisable (date passée, quota atteint).
« désactive le code ETE2026 » « active le code BIENVENUE »
-
creerconfirmation demandéeCrée un code promo avec les validations de l'écran (code de 3 à 60 caractères, pourcentage de 1 à 100, code pas déjà pris). Le code est créé INACTIF, sauf si active=true : activez-le quand il est prêt. Un champ inconnu, une date illisible ou une valeur absurde est refusé sans rien créer. Le ciblage (produits, catégories, segments de clients) se règle à l'écran. Confirmation demandée.
« crée un code RENTREE10 à −10 % valable jusqu'au 30 septembre » « crée un code port offert dès 60 € »
Ses points de branchement
Pour greffer du code sans toucher au module : ce qu'il annonce, et ce qu'il écoute.
Ce qu'il écoute 11
newsletter.offres- priorité 10
newsletter.code_unique- priorité 10
newsletter.bilan_codes- priorité 10
newsletter.origine_du_code- priorité 10
shop.hub.tiles- priorité 21
shop.cart.totals- priorité 20
shop.order.totals- priorité 20
shop.order.created- priorité 20
shop.cart.panel- priorité 20
shop.checkout.shipping_options- priorité 20
shop.order.editor.fields- priorité 25
Ses données
Les tables que ce module crée. Désactiver un module ne les efface pas : ses données restent en base et reviennent s'il est réactivé.
Les tables 4
shop_promo_buyer_categoriesshop_promo_codesshop_promo_scopeshop_promo_uses