Cómo se almacenan y gestionan los datos de promoción
Si va a crear un nuevo tipo de promoción personalizado para el Management Center, debería entender cómo interactúa el Management Center con el componente de promociones, y cómo se almacenan las promociones en la base de datos.
XML de promoción
Hay dos tipos de XML de promoción:- El XML de promoción de autoría contiene los datos sobre una promoción que los usuarios de empresa entran en la interfaz de usuario de la herramienta Promociones al crear promociones. El XML de promoción de autoría fue introducido con el Feature Pack 4 del Management Center Versión 6 para facilitar la personalización de las promociones.
- El XML de promoción de tiempo de ejecución lo utiliza el servidor para evaluar promociones durante el flujo de compra. El XML de promoción de tiempo de ejecución no ha cambiado desde los Feature Packs anteriores del Management Center.
Cuando un usuario de empresa activa una promoción, el proceso siguiente transforma el XML de promoción de creación en el XML de promoción de tiempo de ejecución:
- La lógica de activación de promoción crea el XML de promoción de autoría a partir de datos almacenados en las tablas de autoría de promociones del Management Center. Estas tablas contienen los datos que los usuarios de empresa han entrado sobre una promoción.
- Un conjunto de plantillas XSLT transforman el XML de promoción de autoría en el XML de promoción de tiempo de ejecución que el motor de promociones necesita para evaluar las promociones. La transformación incluye varios pasos:
- La plantilla XSLT transforma el XML de creación de promoción para crear cuatro secciones de XML de tiempo de ejecución de promoción: la sección basePromotion, la sección purchaseCondition, la sección customCondition y la sección targetingCondition.
- El proceso de transformación utiliza la interfaz fromXML para inicializar un objeto de promoción.
- El proceso de transformación utiliza la interfaz toXML para generar el XML de promoción de tiempo de ejecución y almacenarlo en la tabla PX_PROMOTION en la columna XMLPARAM.
El diagrama siguiente ilustra este proceso:
![Transformación del XML de promoción](../images/locale/pr_XMLTransformMC.gif)
Tenga en cuenta que hasta que se activa una promoción, en la tabla PX_PROMOTION sólo se almacena XML de promoción marcador de posición.
Las plantillas XSLT
Para añadir un nuevo tipo de promoción, los desarrolladores pueden diseñar widgets que recopilan la entrada necesaria y guardan la entrada en las tablas de autoría de promociones. Como se muestra en el diagrama anterior, las plantillas XSLT transforman entonces el XML de promoción de autoría en el XML de promoción de tiempo de ejecución. Por lo tanto, para personalizar el soporte de tiempo de ejecución para un nuevo tipo de promoción sólo se requiere una plantilla XSLT personalizada que dé soporte a los widgets de la interfaz de usuario; los desarrolladores no necesitan realizar cambios en el código Java de fondo para crear el XML de promoción de tiempo de ejecución. Esto hace que la personalización de los tipos de promoción del Management Center resulte más sencilla que la personalización de los tipos de promoción de HCL Commerce Accelerator.
Cada tipo de promoción definido en la herramienta Promociones del Centro de gestión está configurado para trabajar con ciertas plantillas XSLT. La herramienta Promociones proporciona el conjunto de plantillas XSLT que transforman los tipos de promoción predeterminados. Cuando cree un tipo de promoción personalizado, debe crear una plantilla XSLT nueva personalizada; no obstante, puede copiar el contenido de una plantilla XSLT existente en el nuevo archivo y luego personalizar sólo las secciones que sean diferentes.
Elementos de promoción y variables
Los elementos de promoción y sus variables permiten a la herramienta Promociones del Centro de gestión gestionar los datos de autoría de la sección purchaseCondition, la sección customCondition y la sección targetingCondition del XML de promoción de tiempo de ejecución en una infraestructura genérica.
PX_ELEMENT_ID | PX_PROMOTION_ID | NAME | TYPE | SubType | Padre | Secuencia |
---|---|---|---|---|---|---|
1001 | 10101 | Name1001 | PurchaseCondition | UI_PurchaseCondition | NULL | 0 |
1002 | 10101 | Name1002 | DiscountRange | UI_DiscountRange | Name1001 | 0 |
1003 | 10101 | Name1003 | DiscountRange | UI_DiscountRange | Name1001 | 1 |
PX_ELEMENTNVP_ID | PX_ELEMENT_ID | NAME | VALUE | Nota |
---|---|---|---|---|
1000000 | 1001 | Currency |
EUR |
La moneda es USD |
1000001 | 1002 | LowerBound |
100 |
Para un rango de Name1002, el lowerbound=100 |
1000002 | 1002 | Percentage |
10 |
Para un rango de Name1002, el Percentage=10 |
1000003 | 1003 | LowerBound |
500 |
Para un rango de Name1003, el lowerbound=500 |
1000004 | 1003 | Percentage |
50 |
Para un rango de Name1003, el Percentage=50 |
<PurchaseCondition>
<DiscountRange></DiscountRange>
<DiscountRange></DiscountRange>
</PurchaseCondition>
Una variable de elemento de promoción describe el valor de datos opcionales asociados con un elemento de promoción. Cuando un usuario de empresa activa una promoción, la lógica de activación de promoción crea el XML de promoción de autoría e inserta un nodo de datos bajo el nodo de elemento de promoción adecuado, seguida de nodos de texto que se crean según el nombre y el valor de la tabla PX_ELEMENTNVP para el elemento. A continuación se proporciona un ejemplo:<PurchaseCondition>
<Data>
<Currency>USD</Currency>
</Data>
<DiscountRange>
<Data>
<LowerBound>100</LowerBound>
<Percentage>10</Percentage>
</Data>
</DiscountRange>
<DiscountRange>
<Data>
<LowerBound>500</LowerBound>
<Percentage>50</Percentage>
</Data>
</DiscountRange>
</PurchaseCondition>
Tipos de elementos predefinidos
<TargetedProfile>
<CustomerProfileKey>
<ProfileName>Customers who are under 40 years of age</ProfileName>
<OwnerDN>ou=b2c,o=seller organization,o=root organization</OwnerDN>
</CustomerProfileKey>
</TargetedProfile>
Para simplificar el diseño de la herramienta de promociones del Centro de gestión y para mejorar el rendimiento, existen varios tipos de elementos predefinidos que permiten que se gestionen estos tipos de entidades de negocio con únicamente la clave primaria (ID). El servicio de activación de promoción utiliza a continuación este ID para resolver la información de identificador externa que es necesaria en el XML de promoción de tiempo de ejecución y, a continuación, añadir dicha información al XML de promoción de autoría como si la información se recopilara de la interfaz de usuario. Esta información de identificador externo resuelta se inserta en el nodo de datos del elemento de forma que está disponible para su transformación. <TargetingCondition>
<IncludeMemberGroupIdentifier>
<Data>
<Id>8000000000000000551</Id>
<DN>ou=b2c,o=seller organization,o=root organization</DN>
<Name>Registered Customers</Name>
</Data>
</IncludeMemberGroupIdentifier>
<ExcludeMemberGroupIdentifier>
<Data>
<Id>8000000000000000555</Id>
<DN>ou=b2c,o=seller organization,o=root organization</DN>
<Name>Female Customers</Name>
</Data>
</ExcludeMemberGroupIdentifier>
<ExcludeMemberGroupIdentifier>
<Data>
<Id>8000000000000000553</Id>
<DN>ou=b2c,o=seller organization,o=root organization</DN>
<Name>Guest Shoppers</Name>
</Data>
</ExcludeMemberGroupIdentifier>
<IncludeMemberGroupIdentifier>
<Data>
<Id>8000000000000000554</Id>
<DN>ou=b2c,o=seller organization,o=root organization</DN>
<Name>Male Customers</Name>
</Data>
</IncludeMemberGroupIdentifier>
</TargetingCondition>
La lista de tipos de elementos predefinidos incluye los elementos siguientes. Aunque los tipos de promoción predeterminados no utilizan actualmente todos estos elementos predefinidos, se proporcionan para dar soporte a la personalización.- IncludeMemberGroupIdentifier
- Grupo de miembros que forma parte de una condición de inclusión en la regla.
- ExcludeMemberGroupIdentifier
- Grupo de miembros que forma parte de una condición de exclusión en la regla.
- IncludeCategoryIdentifier
- Una categoría que forma parte de una condición de inclusión en la norma.
- ExcludeCategoryIdentifier
- Categoría que forma parte de una condición de exclusión en la regla.
- IncludeCatalogEntryIdentifier
- Una entrada de catálogo que forma parte de una condición de inclusión en la norma.
- ExcludeCatalogEntryIdentifier
- Entrada de catálogo que forma parte de una condición de exclusión en la regla.
- GiftCatalogEntryIdentifier
- Entrada de catálogo que es un regalo gratis en la regla.
- IncludePromotionIdentifier
- Promoción que forma parte de una condición de inclusión en la regla.
- ExcludePromotionIdentifier
- Promoción que forma parte de una condición de exclusión en la regla.
- IncludeShipModeIdentifier
- Modalidad de envío que forma parte de una condición de inclusión en la regla.
- ExcludeShipModeIdentifier
- Una modalidad de envío que forma parte de una condición de exclusión en la norma.
- IncludeStoreIdentifier
- Una tienda que forma parte de una condición de inclusión en la norma.
- ExcludeStoreIdentifier
- Tienda que forma parte de una condición de exclusión en la regla.
- IncludeUserIdentifier
- Un usuario que forma parte de una condición de inclusión en la regla.
- ExcludeUserIdentifier
- Un usuario que forma parte de una condición de exclusión en la regla.
Idy el valor adecuado como clave primaria. Siempre que sea posible utilice estos tipos de elementos predefinidos. Cuando una promoción está activada, los valores Id también se utilizan para incluir las tablas CATENCALCD y CATGPCALCD como soporte a ShopcartDrivenAgendaBuilder.