Ejemplo: Fragmentos XML de filtros

La revisión de la representación XML de algunos filtros comunes en el XML de promoción de ejecución de una promoción puede ayudar a entender cómo personalizar un filtro .

Los fragmentos de código de ejemplo siguientes representan filtros de promociones:

Filtro ficticio

Este filtro devuelve todo lo que recibe.


<Filter impl="com.ibm.commerce.marketing.promotion.condition.DummyFilter" />

Filtro de categoría

Este filtro permite la selección de varias categorías. También se pueden especificar varias categorías excluidas.


<Filter impl="com.ibm.commerce.marketing.promotion.condition.CategoryFilter">
   <IncludeCategory>
      <CategoryKey>
         <DN>o=root organization</DN>
         <Name>Store 201 Pants</Name>
      </CategoryKey>
   </IncludeCategory>
   <ExcludeCategory>
      <CategoryKey>
         <DN>o=root organization</DN>
         <Name>Store 201 Sweaters</Name>
      </CategoryKey>
   </ExcludeCategory>
</Filter>

Filtro de fabricantes

Este filtro selecciona artículos fabricados por el fabricante especificado.


<Filter impl="com.ibm.commerce.marketing.promotion.condition.ManufacturerFilter">
   <MFName>Camille Rochester</MFName>
</Filter>

Filtro basado en múltiples códigos de artículo

Este filtro admite múltiples códigos de artículo. El código de artículo especificado se puede incluir o excluir. Un artículo sólo puede pasar este filtro cuando está en la lista de incluidos y no en la lista de excluidos.


<Filter impl="com.ibm.commerce.marketing.promotion.condition.MultiSKUFilter"> 
   <IncludeCatEntryKey>
      <CatalogEntryKey>
         <SKU>SKU-20101088</SKU>
         <DN>o=Root Organization</DN>
      </CatalogEntryKey>
   </IncludeCatEntryKey>
   <IncludeCatEntryKey>
      <CatalogEntryKey>
         <SKU>SKU-20101089</SKU>
         <DN>o=Root Organization</DN>
      </CatalogEntryKey>
   </IncludeCatEntryKey>
   <ExcludeCatEntryKey>
      <CatalogEntryKey>
         <SKU>SKU-20101084</SKU>
         <DN>o=Root Organization</DN>
      </CatalogEntryKey>
   </ExcludeCatEntryKey>
   <ExcludeCatEntryKey>
      <CatalogEntryKey>
         <SKU>SKU-20101087</SKU>
         <DN>o=Root Organization</DN>
      </CatalogEntryKey>
   </ExcludeCatEntryKey>
</Filter>

Filtro de cantidad solicitada

Este filtro se utiliza normalmente en los ajustes, no en las restricciones.


<Filter impl="com.ibm.commerce.marketing.promotion.condition.OrderedQuantityFilter">
   <!-- Potential values: 
        highest: the order in which order items are sorted is highest priced to 
              lowest priced
        lowest: the order in which order items are sorted is lowest priced to 
              highest priced
         -->
   <Type>highest</Type>

   <!-- potential values: 
        exact: select exact X items
        upto: select up to X items 
        minimum: select minimum X items
        rest: select all the items except the first X items where X is the 
              quantity specified in the <NoOfItem> tag
         -->
   <FilterCriteria>exact</FilterCriteria>
   <NoOfItems>5</NoOfItems>
</Filter>

Filtro de comparación de precios

Este filtro ha dejado de utilizarse y se ha sustituido por OrderedQuantityFilter.


<Filter impl="com.ibm.commerce.marketing.promotion.condition.PriceComparisonFilter">
   <Type>highest</Type>
   <FilterCriteria>exact</FilterCriteria>
   <NoOfItems>5</NoOfItems>
</Filter>

Filtro de umbral de precio

Los artículo que pasan este filtro deben tener un precio superior al precio especificado en este filtro.


<Filter impl="com.ibm.commerce.marketing.promotion.condition.PriceThresholdFilter">
   <ThresholdPrice>210</ThresholdPrice>
   <Currency>USD</Currency>
</Filter>

Filtro de selección de cantidad

Este filtro selecciona X artículos de un grupo de Y artículos. Se utiliza a menudo en funciones de ajuste y no en restricciones.


<Filter impl="com.ibm.commerce.marketing.promotion.condition.QuantitySelectionFilter">
   <GroupOf>6</GroupOf>
   <Select>3</Select>
   <!-- Possible values: First, Last, Random -->
   <SelectPosition>First</SelectPosition>
</Filter>

Filtro de modalidad de envío

Los artículos que pasan este filtro tiene que enviarse con la modalidad de envío especificada. La combinación de DN + Identificador de tienda + Empresa de transportes + Código de envío identifica de forma exclusiva la modalidad de envío.


<Filter impl="com.ibm.commerce.marketing.promotion.condition.ShippingModeFilter">
   <DN>ou=BlueMall B2C Organization,o=Seller Organization,o=Root Organization</DN>
   <StoreIdentifier>BlueStore 201</StoreIdentifier>
   <Carrier>BlueStore 201 Courier</Carrier>
   <ShippingCode>Overnight</ShippingCode>
</Filter>

Filtro de patrón de coste total

Los patrones coincidentes que pueden pasar este filtro deben tener un total combinado que sea igual o superior al importe especificado en este filtro.


<PatternFilter impl="com.ibm.commerce.marketing.promotion.condition.TotalCostPatternFilter">
    <TotalCost>5000</TotalCost>
    <Currency>USD</Currency>
</PatternFilter>

Filtro de patrón ficticio

Este filtro devuelve el patrón de entrada.


<PatternFilter impl="com.ibm.commerce.marketing.promotion.condition.DummyPatternFilter" />