Introduction
Ce guide explique comment créer des règles simples permettant de contrôler automatiquement le traitement des commandes et des livraisons.
Vous pouvez utiliser ces règles pour :
- Appliquer des options de livraison
- Ajouter ou supprimer des produits
- Définir des conditions de livraison
Automatiser les décisions de traitement des commandes
🧩 Fonctionnement d’une règle
Chaque règle suit cette structure :
ON
IF
THEN
[ELSE ]
ENDIF
En langage simple :
ON → Quand la règle se déclenche ?
IF → Quelles conditions doivent être remplies ?
THEN → Que doit-il se passer ?
ELSE (optionnel) → Que se passe-t-il sinon ?
🚀 Étape 1 : Choisir le moment d’exécution (événement)
Vous pouvez déclencher les règles à des moments précis :
- ORDERLOAD → Lors du chargement d’une commande
- WS_CREATEDELIVERY → Lors de la création d’une étiquette de trnasport via webservice
👉 Exemple : ON ORDERLOAD
🔍 Étape 2 : Définir les conditions
Les conditions déterminent si la règle s’applique.
Condition simple
PARCELWEIGHT > 10
👉 Signification : la règle s’applique si le colis pèse plus de 10
RECIPCOUNTRYCODE = ‘FR’
👉 Signification : la règle s’applique si le colis est envoyé en France
Combiner plusieurs conditions
Utilisez :
- AND → toutes les conditions doivent être vraies
- OR → au moins une condition doit être vraie
(PARCELWEIGHT > 10 AND RECIPCOUNTRYCODE = ‘FR’)
👉 Signification : colis lourd et destination France
⚙️ Étape 3 : Utiliser les fonctions
Vous pouvez utiliser des fonctions pour simplifier la logique :
- CONTAINS → contient un texte
- IN → appartient à une liste
- HASVALUE → champ renseigné
- ISEMPTY → champ vide
👉 Exemples :
SKU IN (‘A’, ‘B’, ‘C’)
NAME CONTAINS (‘Book’)
RECIPRELAYNUMBER HASVALUE
📦 Étape 4 : Définir les actions
1. Définir une valeur
SIGNATURE = ‘YES’
👉 Exemple : exiger une signature à la livraison
2. Ajouter un produit
ADDPRODUCT(SKU=‘ABC’, QUANTITY=1)
👉 Exemple : ajouter automatiquement un produit cadeau
3. Supprimer un produit
DELETEPRODUCT(SKU=‘ABC’)
👉 Exemple : retirer un produit de la commande
Actions multiples
Vous pouvez combiner plusieurs actions :
SIGNATURE=‘YES’ ADDPRODUCT(SKU=‘A’, QUANTITY=1)
🧾 Exemple complet
ON ORDERLOAD
IF (PARCELWEIGHT > 10 AND RECIPCOUNTRYCODE = ‘FR’)
THEN SIGNATURE = ‘YES’
ELSE SIGNATURE = ‘NO’
ENDIF
Signification :
- Lors du chargement d’une commande
Si le colis est lourd et à destination de la France - Alors une signature est requise
- Sinon, aucune signature
🏷️ Données disponibles
Vous pouvez construire des règles à partir de :
Informations colis
- Poids
- Valeur
- Valeur d’assurance
Informations destinataire
- Pays
- Point relais
Informations produit
- SKU (code produit)
- Nom
- Quantité
Informations livraison
- Service de livraison
- Mots-clés
- Unité de poids
- Signature
✅ Bonnes pratiques
- Gardez les règles simples et lisibles
- Utilisez des parenthèses pour clarifier
- Vérifiez les valeurs (ex : ‘FR’)
- Commencez simple puis enrichissez
- Testez avant mise en production
⚠️ Erreurs courantes à éviter
- Oublier les guillemets (‘FR’ ✔, FR ✖)
- Oublier ENDIF
- Trop de conditions sans structure
- Mauvais nom de variable
🎯 Résumé
Ces règles vous permettent de :
- Automatiser les décisions de livraison
- Contrôler le contenu des commandes
- Appliquer des règles métier
- Réduire les tâches manuelles
🎯 Cas métiers courants
🚚 1. Livraison gratuite pour les commandes élevées
ON ORDERLOAD
IF PARCELVALUE >= 100
THEN SHIPPINGSERVICEKEY = ‘FREE’
ENDIF
👉 Si la commande dépasse 100€, la livraison est gratuite
🇫🇷 2. Signature obligatoire en France
ON WS_CREATEDELIVERY
IF RECIPCOUNTRYCODE = ‘FR’
THEN SIGNATURE = ‘YES’
ENDIF
👉 Toutes les livraisons en France nécessitent une signature
📦 3. Ajouter un cadeau promotionnel
ON ORDERLOAD
IF SKU IN (‘PROMO1’, ‘PROMO2’)
THEN ADDPRODUCT(SKU=‘GIFT01’, QUANTITY=1)
ENDIF
👉 Ajoute automatiquement un cadeau
⚖️ 4. Transport spécial pour colis lourds
ON WS_CREATEDELIVERY
IF PARCELWEIGHT > 20
THEN SHIPPINGSERVICEKEY = ‘HEAVY’
ENDIF
👉 Utilise un transport spécifique pour colis lourds
❌ 5. Supprimer produits interdits
ON ORDERLOAD
IF RECIPCOUNTRYCODE = ‘US’
THEN DELETEPRODUCT(SKU=‘ALCOHOL01’)
ENDIF
👉 Retire les produits interdits selon le pays
🎁 6. Ajouter protection pour produits fragiles
ON ORDERLOAD
IF NAME CONTAINS (‘Glass’)
THEN ADDPRODUCT(SKU=‘PROTECT_BOX’, QUANTITY=1)
ENDIF
👉 Ajoute un emballage protecteur
🚛 7. Livraison en point relais
ON WS_CREATEDELIVERY
IF RECIPRELAYNUMBER HASVALUE
THEN SHIPPINGSERVICEKEY = ‘RELAY’
ENDIF
👉 Utilise un point relais si renseigné
💰 8. Assurance automatique
ON WS_CREATEDELIVERY
IF PARCELVALUE > 200
THEN PARCELINSURRANCEVALUE = PARCELVALUE
ENDIF
👉 Assure les colis de valeur
🌍 9. Livraison internationale
ON WS_CREATEDELIVERY
IF RECIPCOUNTRYCODE <> ‘FR’
THEN SHIPPINGSERVICEKEY = ‘INTERNATIONAL’
ENDIF
👉 Applique un transport international
🧮 10. Règles de livraison combinées
ON ORDERLOAD
IF (PARCELVALUE >= 100 AND PARCELWEIGHT < 10)
THEN SHIPPINGSERVICEKEY = ‘FREE’
ELSE SHIPPINGSERVICEKEY = ‘STANDARD’
ENDIF
👉 Livraison gratuite sous conditions, sinon standard
🎯 11. Valeurs obligatoires
ON ORDERLOAD
IF RECIPRELAYNUMBER ISEMPTY
THEN SHIPPINGSERVICEKEY = ‘HOME’
ENDIF
👉 Livraison à domicile si pas de relais
🛍️ 12. Bonus pour grosses commandes
ON ORDERLOAD
IF QUANTITY >= 10
THEN ADDPRODUCT(SKU=‘BULK_DISCOUNT’, QUANTITY=1)
ENDIF
👉 Ajoute un bonus pour commandes volumineuses
💡 Conseils d’utilisation
- Copiez un scénario proche de votre besoin
- Adaptez les valeurs (prix, pays, SKU…)
- Combinez plusieurs règles si nécessaire
- Testez avec des exemples avant mise en production
