Modélisation du code XML d'exécution de promotion

Vous pouvez modéliser le XML d'exécution de promotion de votre nouveau type de promotion pour identifier les données à modifier pour votre type de promotion personnalisé. Les données que vous identifiez comme informations requises sont utilisées dans les tâches de personnalisation de promotion ultérieures pour faciliter la création de votre type de promotion.

Avant de commencer

Consultez les rubriques suivantes pour bien comprendre comment est représentée une promotion en XML :

Pourquoi et quand exécuter cette tâche

Pour modéliser le code XML d'exécution de votre type de promotion personnalisé, partez de celui généré pour un type de promotion similaire. Analysez ensuite le code XML pour déterminer en quoi diffère votre type de promotion personnalisé et apportez-lui les modifications requises.

La plupart des types de promotion personnalisés se concentrent sur l'adaptation de l'élément <PurchaseCondition> (condition d'achat). La condition d'achat définit ce que doit contenir le chariot du client pour qu'ils se qualifient pour une promotion, ainsi que la récompense correspondante. Les professionnels saisissent les données pour une promotion spécifique dans la section Condition d'achat et récompense de l'interface utilisateur.

Procédure

  1. Examinez le code XML d'exécution d'un type de promotion similaire afin de l'utiliser comme point de départ pour votre propre modèle. Pour plus d'informations sur l'extraction du XML d'exécution d'une promotion, voir Extraction du code XML d'exécution pour un type de promotion
  2. Modifiez le XML d'exécution de promotion extrait pour refléter les exigences de votre type de promotion personnalisé.

    Si vous personnalisez la condition d'achat ou la récompense, intéressez-vous à l'élément <PurchaseCondition>, tout spécifiquement à l'élément <Pattern> pour la condition d'achat et à l'élément <Distribution> pour la récompense.

    Dans certains cas, il est judicieux d'examiner plusieurs types de promotion par défaut afin d'obtenir le résultat voulu. Votre type de promotion personnalisé pourrait, par exemple, combiner une condition d'achat provenant d'un type de promotion par défaut avec une récompense issue d'un autre.

  3. Affectez à cette structure un nom de type de promotion unique, par exemple, ProductLevelPWPFixedCostDiscount. Vous devez vous référer à ce nom lorsque vous créez le type de promotion personnalisé.

Exemple

Vous souhaitez modéliser le code XML d'exécution de votre type de promotion personnalisé qui repose sur le XML d'exécution de la promotion ci-après.
  • Pour l'achat de l'entrée de catalogue X, pourcentage de remise sur l'entrée de catalogue Y
A partir de ce type de promotion existant, vous souhaitez créer le type de promotion personnalisée suivant :
  • Les clients acquérant deux chaises de table (FULO-01) se qualifient pour l'achat d'une table haute (FULO-02) au prix promotionnel de $200
Pour modéliser ce XML, vous ne devez définir que le contenu de l'élément <PurchaseCondition> de votre type de promotion. Tous les autres éléments du type de promotion restent identiques à la promotion par défaut utilisée comme point de départ.

Votre modélisation de l'élément <PurchaseCondition> dans le code XML d'exécution de la promotion sera similaire à l'exemple suivant :

<PurchaseCondition impl="com.ibm.commerce.marketing.promotion.condition.PurchaseCondition">
   <Pattern impl="com.ibm.commerce.marketing.promotion.condition.Pattern">
      <Constraint impl="com.ibm.commerce.marketing.promotion.condition.Constraint">
         <WeightedRange impl="com.ibm.commerce.marketing.promotion.condition.WeightedRange">
            <LowerBound>2</LowerBound>
            <UpperBound>2</UpperBound>
            <Weight>1</Weight>
         </WeightedRange>
         <FilterChain impl="com.ibm.commerce.marketing.promotion.condition.FilterChain">
            <Filter impl="com.ibm.commerce.marketing.promotion.condition.MultiSKUFilter">
               <IncludeCatEntryKey>
                  <CatalogEntryKey>
                     <SKU>FULO-01</SKU>
                     <DN>ou=b2c,o=seller organization,o=root organization</DN>
                  </CatalogEntryKey>
               </IncludeCatEntryKey>
            </Filter>
         </FilterChain>
      </Constraint>
      <Constraint impl="com.ibm.commerce.marketing.promotion.condition.Constraint">
         <WeightedRange impl="com.ibm.commerce.marketing.promotion.condition.WeightedRange">
            <LowerBound>1</LowerBound>
            <UpperBound>1</UpperBound>
            <Weight>1</Weight>
         </WeightedRange>
         <FilterChain impl="com.ibm.commerce.marketing.promotion.condition.FilterChain">
            <Filter impl="com.ibm.commerce.marketing.promotion.condition.MultiSKUFilter">
               <IncludeCatEntryKey>
                  <CatalogEntryKey>
                     <SKU>FULO-02</SKU>
                     <DN>ou=b2c,o=seller organization,o=root organization</DN>
                  </CatalogEntryKey>
               </IncludeCatEntryKey>
            </Filter>
         </FilterChain>
      </Constraint>
   </Pattern>
   <Distribution impl="com.ibm.commerce.marketing.promotion.reward.Distribution">
      <Type>Volume</Type>
      <Base>Quantity</Base>
      <Currency>USD</Currency>
      <Range impl="com.ibm.commerce.marketing.promotion.reward.DistributionRange">
         <UpperBound>-1</UpperBound>
         <LowerBound>1</LowerBound>
         <UpperBoundIncluded>false</UpperBoundIncluded>
         <LowerBoundIncluded>true</LowerBoundIncluded>
         <RewardChoice>
            <Reward impl="com.ibm.commerce.marketing.promotion.reward.DefaultReward">
               <AdjustmentFunction impl="com.ibm.commerce.marketing.promotion.reward.AdjustmentFunction">
                  <FilterChain impl="com.ibm.commerce.marketing.promotion.condition.FilterChain">
                     <Filter impl="com.ibm.commerce.marketing.promotion.condition.MultiSKUFilter">
                        <IncludeCatEntryKey>
                           <CatalogEntryKey>
                              <SKU>FULO-02</SKU>
                              <DN>ou=b2c,o=seller organization,o=root organization</DN>
                           </CatalogEntryKey>
                        </IncludeCatEntryKey>
                     </Filter>
                  </FilterChain>
                  <Adjustment impl="com.ibm.commerce.marketing.promotion.reward.FixedCostAdjustment">
                     <FixedCost>200</FixedCost >
                     <Currency>USD</Currency>
                     <AdjustmentType>IndividualAffectedItems</AdjustmentType>
                  </Adjustment>
               </AdjustmentFunction>
            </Reward>
         </RewardChoice>
      </Range>
      <PatternFilter impl="com.ibm.commerce.marketing.promotion.condition.DummyPatternFilter" />
   </Distribution>
</PurchaseCondition>