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" />