Usted está aquí:
Importación y exportación de promociones en B2C Commerce
Use promotion.xsd para especificar un archivo de importación y exportación para las campañas y las promociones. Este tema aplica a B2C Commerce.
Ejemplos de estructura de importación de elemento de nivel superior y datos masivos en B2C Commerce
Ejemplos de estructura para definir elementos de campaña y promoción en el nivel superior y para soporte de datos masivos. Este tema aplica a B2C Commerce.
Los elementos de campaña o promoción de nivel superior pueden aparecer de la siguiente manera:
<!-- top-level element -->
<xsd:element name="promotions">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="campaign" type="Campaign" minOccurs="0" maxOccurs="unbounded" />
<xsd:element name="promotion" type="Promotion" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
Para importar datos masivos, use esta estructura:
<!-- fake element for mass data support -->
<xsd:element name="campaign" type="Campaign" />
<xsd:element name="promotion" type="Promotion" />
Campañas promocionales en B2C Commerce
Una campaña es un tipo de datos complejo dentro del esquema promotion.xsd que se usa principalmente para agrupar promociones. Este tema aplica a B2C Commerce.
Las campañas también están asociadas con los grupos de clientes. Puede especificar grupos de clientes desde un archivo de importación/exportación de promociones o por separado usando customergroup.xsd. El siguiente ejemplo es desde promotion.xsd:
<xsd:complexType name="CustomerGroups" mixed="false">
<xsd:sequence>
<xsd:element name="customer-group" type="CustomerGroup" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CustomerGroup" mixed="false">
<xsd:attribute name="group-id" type="Generic.NonEmptyString.256" use="required" />
</xsd:complexType>
Clases de promociones en B2C Commerce
Todas las clases de promoción (producto, pedido, envío y producto de regalo) comparten ciertos elementos que están definidos al nivel del elemento XML de la promoción y especificados en promotion.xsd. Este tema aplica a B2C Commerce.
Las diferencias entre las principales clases de promoción (producto, pedido y envío) están representadas como una elección opcional de elementos específicos de la regla de la clase de promoción.
<xsd:choice minOccurs="0" maxOccurs="1">
<xsd:element name="product-promotion-rule" type="ProductPromotionRule" />
<xsd:element name="shipping-promotion-rule" type="ShippingPromotionRule" />
<xsd:element name="order-promotion-rule" type="OrderPromotionRule" />
</xsd:choice>
Las reglas de productos excluidos se importan y se exportan con promociones de pedido usando el elemento excluded-products.
<!-- order promotions -->
<xsd:complexType name="OrderPromotionRule" mixed="false">
<xsd:sequence>
<!-- new element-->
<xsd:element name="excluded-products" type="ProductSpecification" minOccurs="0" maxOccurs="1" />
<!-- end of new element-->
...
</xsd:sequence>
</xsd:complexType>
El elemento qualifying-products está admitido para las promociones de envío y pedido.
Esta es una muestra de cómo se ve un XML de importación y exportación de promociones de pedidos:
<promotion campaign-id="Demo Campaign" promotion-id="OP_10_500">
<enabled-flag>true</enabled-flag>
<qualifiers>
<customer-groups/>
</qualifiers>
<exclusivity>class</exclusivity>
<name xml:lang="x-default">10% off orders $500 and up</name>
<callout-msg xml:lang="x-default">10% off orders $500 and up.</callout-msg>
<details xml:lang="x-default">10% off orders $500 and up.</details>
<order-promotion-rule>
<!-- excluded product section -->
<excluded-products>
<included-products>
<condition-group>
<category-condition catalog-id="mainproduct-catalog">
<category-id>GiftCerts</category-id>
</category-condition>
</condition-group>
</included-products>
</excluded-products>
<!-- end of excluded product section -->
<discounts condition-type="order-total">
<discount>
<threshold>500.0</threshold>
<percentage>10.0</percentage>
</discount>
</discounts>
</order-promotion-rule>
</promotion>
non-qualifying-products está en desuso. Está admitido en la importación pero no en la exportación.Exportación de promociones individuales
En Business Manager, puede importar y exportar promociones individuales. Este tema aplica a B2C Commerce.
Importación/exportación de los atributos rango y exclusivo en B2C Commerce
Los atributos de promoción Rango y Exclusivo se admiten en promotion.xsd. Este tema aplica a B2C Commerce.
- La funcionalidad de importación/exportación puede sobrescribir la lista de valores del atributo rango del sistema.
- La lista de valores del atributo exclusivo del sistema no es personalizable.
El esquema de promotion.xsd ahora se extiende de la siguiente manera:
<!-- shipping promotion-->
<xsd:complexType name="ShippingPromotionRule" mixed="false">
<xsd:sequence>
<xsd:element
name="qualifying-products"
type="ProductSpecification"
minOccurs="0"
maxOccurs="1" />
<!-- new element-->
<xsd:element
name="shipping-methods"
type="PromotedShippingMethods"
minOccurs="1"
maxOccurs="1"/>
<xsd:element
name="discounts"
type="TieredShippingDiscounts" />
<xsd:element
name="max-applications"
type="MaxApplications"
minOccurs="0"
maxOccurs="1" />
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="ShippingPromotionConditionType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="shipment-total" />
<xsd:enumeration value="product-quantity" />
<!-- new element-->
</xsd:restriction>
</xsd:simpleType>
Consulte Promotion.xsd para ver más detalles del formato de importación/exportación.
promotion.xsd admite el tipo de descuento gratuito.
El tipo complejo BogoProductDiscount incluye el tipo de descuento.
<xsd:complexType name="BogoProductDiscount" mixed="false">
<xsd:sequence>
<xsd:element
name="threshold"
type="Threshold"
minOccurs="1"
maxOccurs="1" />
<xsd:choice minOccurs="1" maxOccurs="1">
<xsd:element
name="fixed-price"
type="Amount" />
<xsd:element
name="percentage"
type="Percentage" />
<xsd:element
name="amount"
type="Amount" />
<xsd:element
name="free"
type="EmptyElement"/>
<!-- new element -->
</xsd:choice>
<xsd:element
name="eligible-quantity"
type="Quantity"
minOccurs="1"
maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
El tipo complejo TieredShippingDiscount también incluye el nuevo tipo de descuento.
<xsd:complexType name="TieredShippingDiscount" mixed="false">
<xsd:sequence>
<xsd:element
name="threshold"
type="Threshold"
minOccurs="1"
maxOccurs="1" />
<xsd:choice minOccurs="1" maxOccurs="1">
<xsd:element
name="fixed-price"
type="Amount" />
<xsd:element
name="percentage"
type="Percentage" />
<xsd:element
name="amount"
type="Amount" />
<xsd:element
name="free"
type="EmptyElement"/>
<!-- new element -->
</xsd:choice>
</xsd:sequence>
</xsd:complexType>
El elemento gratuito es un elemento XML vacío.
Ejemplo:
...
<discounts condition-type="product-quantity">
<discount>
<threshold>2.0</threshold>
<free/>
</discount>
</discounts>
Promoción de producto Compre X por el total en B2C Commerce
Puede agregar una promoción de producto Compre X por un total a una campaña. Este tema aplica a B2C Commerce.
El elemento total-discounts representa el tipo de promoción de Compre X por un total. El elemento total-discounts es del tipo TotalProductDiscount dentro del archivo de importación o exportación de la promoción existente.
El siguiente es un XML de muestra:
<promotion campaign-id="Demo Campaign" promotion-id="PP_20OFF">
<enabled-flag>true</enabled-flag>
<qualifiers>
<customer-groups/>
</qualifiers>
<rank>10</rank>
<exclusivity>no</exclusivity>
<name xml:lang="x-default">ShirtsForTotalPrice</name>
<callout-msg
xml:lang="x-default">Buy 2 shirts for $20 total or 3 shirts for $23 total</callout-msg>
<product-promotion-rule>
<!-- only discounted products supported for new promotion type -->
<discounted-products>
<included-products>
<condition-group>
<category-condition catalog-id="product-catalog">
<category-id>Shirts</category-id>
</category-condition>
</condition-group>
</included-products>
</discounted-products>
<total-discounts>
<discount>
<total-fixed-price>20.00</total-fixed-price>
<eligible-quantity>3</eligible-quantity>
</discount>
<discount>
<total-fixed-price>30.00</fixed-price>
<eligible-quantity>5</eligible-quantity>
</discount>
</total-discounts>
</product-promotion-rule>
</promotion>
Importación y exportación de grupos de clientes para promociones en B2C Commerce
Los grupos de clientes están relacionados con las campañas. Puede usar el esquema customergroup.xsd con promociones. Este tema aplica a B2C Commerce.
El siguiente XML de muestra contiene una campaña (sin promociones) que tiene dos grupos de clientes.
<campaign campaign-id="c1">
<description>A sample campaign.</description>
<enabled-flag>true</enabled-flag>
<start-date>2008-01-17T11:04:24</start-date>
<end-date>2008-01-17T11:04:31</end-date>
<customer-groups>
<customer-group group-id="gold-customers" />
<customer-group group-id="platinum-customers" />
</customer-groups>
</campaign>
Importación y exportación de código fuente para promociones en B2C Commerce
Puede usar el esquema sourcecode.xsd importar y exportar para promociones. Este tema aplica a B2C Commerce.
El siguiente XML de muestra detalla una promoción de producto que está marcada como disparada explícitamente por dos grupos de código fuente de muestra:
<product-promotion promotion-id="simple-product-promo" campaign-id="c1">
...
<sourcecodes>
<sourcecode group-id="sample-group-1" />
<sourcecode group-id="sample-group-2" />
</sourcecodes>
...
</product-promotion>
Importación de asignaciones de cupones de promociones y campañas en B2C Commerce
El esquema promotion.xsd puede definir cómo especificar los cupones que están asociados con promociones y campañas. Este tema aplica a B2C Commerce.
Se definen detalles específicos de los cupones en el esquema coupon.xsd.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xsd:schema
xmlns="http://www.demandware.com/xml/impex/promotion/2008-01-31"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xml="http://www.w3.org/XML/1998/namespace"
targetNamespace="http://www.demandware.com/xml/impex/promotion/2008-01-31"
elementFormDefault="qualified"
attributeFormDefault="unqualified">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd" />
<!-- top-level element -->
<xsd:element name="promotions">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="campaign" type="Campaign" minOccurs="0" maxOccurs="unbounded" />
<xsd:element name="promotion" type="Promotion" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
En esta parte es donde especifica los cupones que son parte de una campaña.
<xsd:complexType name="Campaign" mixed="false">
<xsd:sequence>
. . .
<xsd:element name="coupons" type="PromotionCoupons" minOccurs="0" maxOccurs="1" />
. . .
</xsd:sequence>
. . .
</xsd:complexType>
En esta parte es donde especifica los cupones que son parte de una promoción.
<xsd:complexType name="Promotion" mixed="false">
<xsd:sequence>
. . .
<xsd:element name="coupons" type="PromotionCoupons" minOccurs="0" maxOccurs="1" />
. . .
</xsd:sequence>
. . .
</xsd:complexType>
. . .
En esta parte es donde define los nombres e identificaciones de los cupones.
<xsd:complexType name="PromotionCoupons" mixed="false">
<xsd:sequence>
<xsd:element name="coupon" type="Coupon" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Coupon" mixed="false">
<xsd:attribute name="coupon-id" type="Generic.NonEmptyString.256" use="required" />
</xsd:complexType>
. . .
En esta parte es donde define PromotionQualifiers como un tipo genérico.
<xsd:complexType name="PromotionQualifiers" mixed="false">
<xsd:sequence>
. . .
<xsd:element name="coupons" type="EmptyElement" minOccurs="0" maxOccurs="1" />
</xsd:sequence>
</xsd:complexType>
. . .
</xsd:schema>
Importación y exportación de promociones de productos en B2C Commerce
Una regla de promoción de producto agrega toda la información requerida para dirigir ciertos productos con reglas de descuento específicas del producto. Este tema aplica a B2C Commerce.
Importación y exportación de condiciones del atributo de producto para promociones en B2C Commerce
El esquema promotion.xsd admite especificaciones de productos que contienen condiciones del atributo de producto. Este tema aplica a B2C Commerce.
Se brinda soporte para estos tipos complejos:
- ProductSpecification.ConditionGroup
- ProductSpecification.ProductAttributeFilter
Importación y exportación de rango y exclusividad para promociones en B2C Commerce
La funcionalidad de importación y exportación también incluye los atributos de rango y exclusividad. Este tema aplica a B2C Commerce.
En el siguiente ejemplo de rango y exclusividad, la configuración PromotionExclusivity es obligatoria y el elemento xsd no puede declararse como obligatorio por razones técnicas. El valor por defecto de n.º se establece para una promoción nueva en caso de que no se especifique el elemento.
<xsd:complexType name="Promotion" mixed="false">
<xsd:sequence>
<xsd:element name="enabled-flag" type="xsd:boolean" minOccurs="0" maxOccurs="1" />
<xsd:element name="qualifiers" type="PromotionQualifiers" minOccurs="0" maxOccurs="1" />
<!-- NEW -->
<xsd:element name="rank" type="xsd:int" minOccurs="0" maxOccurs="1" />
<xsd:element name="exclusive" type="PromotionExclusivity" minOccurs="0" maxOccurs="1" />
<xsd:restriction base="xsd:string">
<xsd:enumeration value="no" />
<xsd:enumeration value="class" />
<xsd:enumeration value="global" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="PromotionExclusivity">
<xsd:element name="name" type="LocalizedString" minOccurs="0" maxOccurs="unbounded" />
...
</xsd:sequence>
...
</xsd:complexType>
Los tipos complejos BogoProductDiscount y TieredShippingDiscount incluyen los tipos de descuento.
<xsd:element name="fixed-price" type="Amount" />
<xsd:element name="percentage" type="Percentage" />
<xsd:element name="amount" type="Amount" />
<xsd:element name="free" type="EmptyElement" />
Condiciones de atributo de regla de producto de promoción en B2C Commerce
Al importar el catálogo, asegúrese de considerar los atributos de producto. Este tema aplica a B2C Commerce.
Si bien los atributos de producto pueden ser numéricos, el valor del atributo de producto solo es una cadena. Las cadenas son el denominador común más bajo de todos los tipos de atributo admitidos. La lógica de importación valida el operador y los valores de atributo en función de definiciones de metadatos. Estas definiciones son similares a lo que existe para los atributos de producto personalizados en las importaciones de catálogo.
Las siguientes son las reglas de validación:
- Las identificaciones de atributos, los operadores y los valores son revisados mediante la validación de esquema XML y no deben ser cadenas vacías.
- El valor del attribute-id se usa para recuperar la definición del atributo del tipo de objeto del sistema Producto. Si no existe tal definición del atributo, la condición se saltea.
- Si el tipo de la condición de atributo no está admitido, la condición se saltea.
- Si una condición de atributo admite solo un valor y aparecen varios valores en el XML, se registra una advertencia y se usa el primer valor.
- Solo se permiten los operadores admitidos (tipos de valor). Si se detecta un operador no admitido, la condición de atributo se saltea.
- Si uno de múltiples valores no es válido, se saltea la condición de atributo completa.
Esta tabla muestra las reglas de validación.
| Tipo de valor | Valor | ¿Múltiples elementos 'attribute-value' permitidos? | Operador |
|---|---|---|---|
| Cadena | - | sí | - |
| Entero | valor numérico sin espacios decimales | no | El operador "menor que" se mapea al operador interno "menor o igual que". El operador "mayor que" se mapea al operador interno "mayor o igual que". |
| Booleano | el valor es igual a 'verdadero' o 'falso' | no | - |
| Conjunto de cadenas | - | sí | - |
| Conjunto de enteros | valor numérico sin espacios decimales | no | El operador "menor que" se mapea al operador interno "menor o igual que". El operador "mayor que" se mapea al operador interno "mayor o igual que". |
| Enum. de cadenas | uno de los valores de la definición del atributo | no | - |
| Enum. de enteros | valor numérico sin espacios decimales | no | El operador "menor que" se mapea al operador interno "menor o igual que". El operador "mayor que" se mapea al operador interno "mayor o igual que". |
Esta tabla muestra cómo B2C Commerce evalúa las condiciones de atributo en función del tipo.
| Tipo de valor | Operadores admitidos | Múltiples valores admitidos | Editor de valor del lado cliente | Condición de muestra |
|---|---|---|---|---|
| Cadena | es igual a | si (O combinado) | campo de texto | el atributo de producto "tamaño" es igual a "10" |
| Entero | mayor o igual que, es igual a, menor o igual que | no | campo de texto | el atributo de producto "tamaño" es mayor o igual que "4" |
| Booleano | es igual a | no | cuadro combinado | el atributo de producto "habilitado" es "verdadero" |
| Conjunto de cadenas | es igual a | si (O combinado) | campo de texto | el atributo de producto "Coeficiente del aspecto de imagen" es igual a "16:9" |
| Conjunto de enteros | mayor o igual que, es igual a, menor o igual que | no | campo de texto | el atributo de producto "ancho" es mayor o igual que "3" |
| Enum. de cadenas | es igual a | no | cuadro combinado | el atributo de producto "peso" es igual a "27 lb" |
| Enum. de enteros | mayor o igual que, es igual a, menor o igual que | no | cuadro combinado | el atributo de producto "ancho" es igual a "3" |
Condiciones de inclusión y exclusión para promociones en B2C Commerce
Como parte de la regla de producto de la promoción, puede importar y exportar cualquier calificador condicional de inclusión y exclusión (incluso los Libros de precios). Este tema aplica a B2C Commerce.
Además, puede exportar calificadores condicionales como parte de la regla de costo de envío (importación de método de envío).
Importación/exportación de promociones de pedidos en B2C Commerce
Las promociones de pedidos son más simples que las promociones de producto, su esquema XML es un subconjunto de los esquemas de promociones de productos descriptos previamente. Este tema aplica a B2C Commerce.
Esta muestra representa una promoción de pedido por niveles que otorga un descuento de $10 o $25 en el pedido, siempre que el total de mercancías exceda los $100 o $200, respectivamente.
<promotion promotion-id="simple-order-promo" campaign-id="c1">
<enabled-flag>true</enabled-flag>
<name xml:lang="x-default">Simple OrderPromotion</name>
<order-promotion-rule>
<discounts>
<discount>
<threshold>100</threshold>
<amount>10</amount>
</discount>
<discount>
<threshold>200</threshold>
<amount>25</amount>
</discount>
</discounts>
</order-promotion-rule>
</promotion>
Esta muestra representa una promoción de regalo de un pedido simple que agrega un producto gratuito (SKU1) al pedido si el cliente compró algo (umbral del total del pedido mayor que 0).
<promotion promotion-id="bonus-order-promo" campaign-id="c1">
<enabled-flag>true</enabled-flag>
<name xml:lang="x-default">Bonus OrderPromotion</name>
<order-promotion-rule>
<discounts>
<discount>
<threshold>0</threshold>
<bonus>
<bonus-products>
<product-id>SKU1</product-id>
</bonus-products>
</bonus>
</discount>
</discounts>
</order-promotion-rule>
</promotion>
Puede usar el elemento <payment-methods> y el tipo complejo PromotedPaymentMethods para crear descuentos en un pedido en función del método de pago. El ejemplo a continuación es una promoción que ofrece un 10 % de descuento para cualquier pedido en el que se use PayPal como el método de pago.
<promotion promotion-id="paymentpromo">
<enabled-flag>false</enabled-flag>
<searchable-flag>false</searchable-flag>
<exclusivity>no</exclusivity>
<callout-msg xml:lang="x-default">Use Paypal to receive 10% off your order!</callout-msg>
<details xml:lang="x-default">10% for paypal</details>
<order-promotion-rule>
<payment-methods>
<method-id>PayPal</method-id>
</payment-methods>
<discount-only-qualifying-products>true</discount-only-qualifying-products>
<discounts condition-type="order-total">
<discount>
<threshold>0.0</threshold>
<percentage>10.0</percentage>
</discount>
</discounts>
</order-promotion-rule>
</promotion>Importación/exportación de promociones de envío en B2C Commerce
El formato de la importación/exportación de las promociones de envío es similar a la de las promociones de pedidos. La diferencia principal es que las promociones de envío le permiten definir métodos de envío con descuento. Este tema aplica a B2C Commerce.
Este XML de muestra representa una promoción de envío por niveles que otorga un descuento del 50 % o 100 % en métodos de envío seleccionados, siempre que el total de productos calificados exceda $50 o $100, respectivamente.
<promotion promotion-id="tiered-shipping-promo" campaign-id="c1">
<enabled-flag>true</enabled-flag>
<name xml:lang="x-default">Tiered ShippingPromotion</name>
<shipping-promotion-rule>
<shipping-methods>
<method-id>ups-ground</method-id>
<method-id>ups-air</method-id>
</shipping-methods>
<discounts condition-type="shipment-total">
<discount>
<threshold>50</threshold>
<percentage>50</percentage>
</discount>
<discount>
<threshold>100</threshold>
<fixed-price>0</fixed-price>
</discount>
</discounts>
</shipping-promotion-rule>
</promotion>
La promoción en el ejemplo anterior tiene un tipo de condición de "shipment-total". Alternativamente, una promoción de envío puede especificar un tipo de condición "product-quantity". Tales promociones requieren que haya una cierta cantidad de productos calificados en el envío para que el descuento se pueda aplicar. El XML para este tipo de promoción incluirá una sección <qualifying-products> antes de <discounted-methods>.
En general, una promoción de envío con un tipo de condición "product-quantity" requiere que haya en el pedido un número específico de productos calificados y ningún producto excluido. Sin embargo, se puede configurar que las promociones de envío permitan o prohíban los productos excluidos. El elemento opcional <prohibit-excluded-products> que acepta valores de verdadero o falso se puede incluir en el XML de la promoción para controlar este comportamiento. Si el elemento se omite para una promoción importada recientemente, se prohíben los productos excluidos.
Consulte el esquema promotion.xsd para más información.
Importación/exportación del cronograma de promoción en B2C Commerce
Todas las clases de promoción admiten un cronograma de promoción opcional que controla cuándo una promoción está activa. Este tema aplica a B2C Commerce.
Lo siguiente es un fragmento de código de la sección Cronograma de promoción del promotion.xsd.
<xsd:complexType name="PromotionSchedule" mixed="false">
<xsd:sequence>
<xsd:element name="start-date" type="xsd:dateTime" minOccurs="0" maxOccurs="1" />
<xsd:element name="end-date" type="xsd:dateTime" minOccurs="0" maxOccurs="1" />
<xsd:element name="recurrence" type="PromotionSchedule.Recurrence" minOccurs="0" maxOccurs="1" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="PromotionSchedule.Recurrence" mixed="false">
<xsd:sequence>
<xsd:element name="day-of-week" type="PromotionSchedule.DayOfWeek" minOccurs="0" maxOccurs="1" />
<xsd:element name="time-of-day" type="PromotionSchedule.TimeOfDay" minOccurs="0" maxOccurs="1" />
</xsd:sequence>
</xsd:complexType>
Este XML de muestra contiene un cronograma del mes de enero (ver fecha de inicio/finalización) que limita las promociones a lunes, viernes, sábado y domingo entre las 9 a. m. y 7 p. m. (en esos días).
<schedule>
<start-date>2008-01-01T13:32:01</start-date>
<end-date>2008-01-31T13:33:30</end-date>
<recurrence>
<day-of-week>
<weekday>Monday</weekday>
<weekday>Friday</weekday>
<weekday>Saturday</weekday>
<weekday>Sunday</weekday>
</day-of-week>
<time-of-day>
<time-from>09:00:00</time-from>
<time-to>19:00:00</time-to>
</time-of-day>
</recurrence>
</schedule>

