Aller au contenu

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.

shop-promo

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 :

Piloter par une IA

Ce que ce module sait faire quand on le lui demande en langage naturel, et ce que chaque action engage.

  • promos lecture seule

    Les 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 ? »

  • activer confirmation demandée

    Active 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 »

  • creer confirmation demandée

    Cré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_categories
  • shop_promo_codes
  • shop_promo_scope
  • shop_promo_uses