Newsletter
XML Offer management rules
  • Home
  • XML Offer management rules

The following applies only to XML properties of offers in ZIP packages uploads through the related API endpoint.

See Offer Integration (XML)

Samples in this page cover a single offer at once, while multiple should be sent in each package. So only the Offer node is presented.

Zip file structure reminder

PackageFile.zip
├── [Content_Types].xml
├── _rels/
│   └── .rels
└── Content/
    └── offers.xml

Sample packages

Global file xml structure

Offers.xml
├── xml header
└── OfferPackage*
    │    ├── [Name]*
    │    ├── [PackageType] (optional)
    │    └── [PurgeAndReplace]*
    ├── OfferPackage.OfferPublicationList (optional)
    │    └── OfferPublicationList*
    │         │    └── [Capacity]*
    │         └── PublicationPool*
    │                   └── [SalesChannelId]*
    └── OfferPackage.Offers*
         └── OfferCollection*
              │    └── [Capacity]*
              └── Offer*
                   │    ├── [ProductEan]*
                   │    ├── [SellerProductId]*
                   │    ├── [ProductCondition]
                   │    ├── [Stock]
                   │    ├── [Price]
                   │    ├── [StrikedPrice]
                   │    ├── [EcoPart]
                   │    ├── [Vat]
                   │    ├── [DeaTax]
                   │    ├── [PreparationTime]
                   │    ├── [PriceMustBeAligned]
                   │    ├── [MinimumPriceForPriceAlignment]
                   │    ├── [ProductPackagingUnit]
                   │    └── [ProductPackagingValue]
                   ├── Offer.ShippingInformationList
                   │    └── ShippingInformationList*
                   │         │    └── [Capacity]*
                   │         └── ShippingInformation*
                   │                   ├── [DeliveryMode]*
                   │                   ├── [ShippingCharges]*
                   │                   └── [AdditionalShippingCharges]
                   └── Offer.PriceAndDiscountList
                        └── DiscountComponentList
                             │    └── [Capacity]*
                             └── DiscountComponent*
                                       ├── [DiscountUnit]*
                                       ├── [DiscountValue]*
                                       └── [Type]*

Samples explanations

Below samples are focused on the Offer node only and its dependencies

Package configuration when specific is given before the sample.

Creation or full offer update

Requires OfferPackage to be set to PackageType=”Full”

< OfferPackage.Offers >
  < OfferCollection Capacity="1" >
    < Offer 
        ProductEan="12345678901231"
        SellerProductId="YourInternalReference"
        
        Price="27.3"
        StrikedPrice="29.90"
        
        EcoPart="0.50"
        Vat="20"
        DeaTax="0.10"
        
        PriceMustBeAligned="true"
        MinimumPriceForAlignment="22.50"
        
        Stock="1337"
        ProductPackagingUnit="Piece"
        ProductPackagingValue="1"
        PreparationTime="3"
      >
        < Offer.ShippingInformationList >
          < ShippingInformationList Capacity="1" >
            < ShippingInformation
                DeliveryMode="Tracked"
                ShippingCharges="3.50"
                AdditionalShippingCharges="0.50"
              />
          < /ShippingInformationList >
        < /Offer.ShippingInformationList >
      < /Offer >
  < /OfferCollection >
< /OfferPackage.Offers >

Update Price only

  • Requires < OfferPackage > to be set to PackageType=”StockAndPrice”

  • Can not be combined with salesChannel targetting through OfferPackage.OfferPublicationList except for its default value.

< OfferPackage.Offers >
  < OfferCollection Capacity="1" >
    < Offer 
        ProductEan="12345678901231"
        SellerProductId="YourInternalReference"
        Price="19.99"
      />
  < /OfferCollection >
< /OfferPackage.Offers >

StrikedPrice cannot be updated through this method.

Update inventory/Stock only

  • Requires < OfferPackage > to be set to PackageType=”StockAndPrice”

  • Can not be combined with salesChannel targetting through OfferPackage.OfferPublicationList except for its default value.

< OfferPackage.Offers >
  < OfferCollection Capacity="1" >
    < Offer 
        ProductEan="12345678901231"
        SellerProductId="YourReference"
        Stock="42"
      />
  < /OfferCollection >
< /OfferPackage.Offers >

Update Price AND Stock simultaneously

  • Requires < OfferPackage > to be set to PackageType=”StockAndPrice”

  • Cannot be combined with salesChannel targetting through OfferPackage.OfferPublicationList except for its default value.

< OfferPackage.Offers >
  < OfferCollection Capacity="1" >
    < Offer 
        ProductEan="12345678901231"
        SellerProductId="YourReference"
        Price="27.3"
        Stock="1337"
      />
  < /OfferCollection >
< /OfferPackage.Offers >

Update on specific SalesChannel

Added as a single node within

  • Only available in < OfferPackage > when set to PackageType=”Full”

  • When absent, will target the default salesChannel CDISFR (Cdiscount.com)

< OfferPackage.OfferPublicationList >
  < OfferPublicationList Capacity="1" >
    < PublicationPool 
        SalesChannelId="SELLZZ"
      />
  < /OfferPublicationList >
< /OfferPackage.OfferPublicationList >

French sales pricing upload

Requires < OfferPackage > to be set to PackageType=”Full”

Which requires presence of the Offer.ShippingInformationList node on all offers.

< OfferPackage.Offers >
  < OfferCollection Capacity="1" >
    < Offer 
        ProductEan="12345678901231"
        SellerProductId="YourInternalReference"
        
      >
        < Offer.PriceAndDiscountList >
          < DiscountComponentList Capacity="1" >
            < DiscountComponent 
                DiscountUnit="1"
                DiscountValue="15.00"
                Type="3"
              />
          < /DiscountComponentList >
        < /Offer.PriceAndDiscountList >
      < /Offer >
  < /OfferCollection >
< /OfferPackage.Offers >

Detailed fields list with management rules

SellerProductId

FIELD DESCRIPTION

This reference is the identifier that you give to your offers.

EXPECTED FORMAT

Alphanumeric

FIELD SIZE & MAXIMUM EXPECTED VALUE

Between 1 and 50 characters

CHARACTER

Mandatory

Business rules

This field cannot be empty.Several offers on the same sales channel cannot have the same reference.Allowed special characters: “{ }”, “@”, “%”, “;”, “$”, “=”, “[]”, “/”, “,”, “-“, “()” , ” ‘ “, “\”, ” ” “, “&”, “!”, “#”, “^”, “#”, “?”, “_” , “+” , “:” , ” .”

ProductEan

FIELD DESCRIPTION

The EAN code (bar code) or GTIN, allowing unique identification of the product.

EXPECTED FORMAT

Digital

FIELD SIZE & MAXIMUM EXPECTED VALUE

Between 8 and 14 characters

Valid GTIN

CHARACTER

Mandatory for creation if the seller does not use the product reference used when creating the productOptional for creation if the seller uses the product reference used when creating the productOptional for modifying the offer

Business rules

Check the formatting of the 0s at the start of the cell, so that they appear correctly.The EAN must correspond to an existing product at Cdiscount or Octopia .( Octopia ) The product must be sellable

ProductCondition

FIELD DESCRIPTION

The product condition allows to qualify the state of the product.

To be chosen from the values in the limited list, depending on the condition of the product.

EXPECTED FORMAT

Bounded list

FIELD SIZE & MAXIMUM EXPECTED VALUE

 

CHARACTER

Mandatory (not case sensitive)

Business rules

Please note, in the case of submission by excel matrix, the expected value of the list depends on the language in which the matrix was generated (Example: If generated in English, the value Neuf – Neuf will become New – New)

Enum (productCondition value in XML)

Wording

1

Used – Like new

2

Used – Very good state

4

Used – Average state

6

New – New

7

Refurbished – Like new

8

Refurbished – Very good state

9

Refurbished – Good state

Quantity (Stock)

FIELD DESCRIPTION

Number of units that you put up for sale on the offer on a sales channel

A zero stock does not allow the offer to be published on Cdiscount or Octopia .

If you subscribe to Fulfillment On Demand , this field allows you to declare the stock you are hosting.

EXPECTED FORMAT

Digital

FIELD SIZE & MAXIMUM EXPECTED VALUE

Between 1 and 10 characters

CHARACTER

Mandatory in Full packages

Business rules

The field value must be less than 10,000,000,000.For the same seller, on the same product and the same condition, quantity is shared across all sales channels (Cdiscount and Octopia )If a decimal place is indicated in this field, it is rounded to the whole

Price

FIELD DESCRIPTION

Price to be informed including tax, excluding shipping costs, including Eco share and DEA if applicable, expressed in €.

EXPECTED FORMAT

Digital

FIELD SIZE & MAXIMUM EXPECTED VALUE

10 characters before the decimal point,
2 characters after

CHARACTER

Mandatory in Full packages

Business rules

The price must be greater than 0.00 (Currency).The price must be greater than the sum of the EcoTax and DeaTax fields.The price must be higher than the floor price.The price must be lower than the Origin (or Striked) price.

StrikedPrice

FIELD DESCRIPTION

Market price observed for the product. Also called Striked Price

EXPECTED FORMAT

Digital

FIELD SIZE & MAXIMUM EXPECTED VALUE

10 characters before the decimal point,
2 characters after

CHARACTER

Optional

Business rules

This price must be strictly greater than the Price field.

Vat

FIELD DESCRIPTION

VAT rate applicable to the product, expressed in %

EXPECTED FORMAT

code : Stringvalue : Digital (ex : 0.2 for 20% of VAT)

FIELD SIZE & MAXIMUM EXPECTED VALUE

For the value :4 characters before comma,
2 characters after

CHARACTER

Mandatory in Full packages

Business rules

The VAT field cannot be strictly greater than 100%.The sum of taxes must be strictly lower than the price and floor price

EcoPart

FIELD DESCRIPTION

Eco-participation applicable to new products.

Even if the tax is not applicable to this product, you must fill the field with the value zero.

EXPECTED FORMAT

code : Stringvalue : Digital

FIELD SIZE & MAXIMUM EXPECTED VALUE

3 characters before comma,
2 characters after

CHARACTER

Mandatory in Full packages

Business rules

The EcoTax field must be strictly less than 1000.The sum of taxes must be strictly lower than the price and floor price

DeaTax

FIELD DESCRIPTION

Eco-furnishing applicable to furnishing goods

Even if the tax is not applicable to this product, you must fill in the field with the value zero.

EXPECTED FORMAT

code : Stringvalue : Digital

FIELD SIZE & MAXIMUM EXPECTED VALUE

4 characters before comma,
2 characters after

CHARACTER

Mandatory in Full packages

Business rules

The DEA field must be strictly less than 1000.The sum of taxes must be strictly lower than the price and floor price

PreparationTime

FIELD DESCRIPTION

Maximum number of working days between your validation of the order and delivery of the package to the carrier.

This delay therefore excludes the delay from the carrier to the end customer.

EXPECTED FORMAT

Digital

FIELD SIZE & MAXIMUM EXPECTED VALUE

10 characters before the decimal point,
2 characters after

CHARACTER

Mandatory in Full packages

Business rules

If a decimal place is indicated in this field, it is rounded to the wholeThe preparation Time is mandatory with the delivey modes for the update packages.

Delivery Modes / DeliveryMode

FIELD DESCRIPTION

The list of delivery modes to be applied on offers. For Update packages, the complete list of delivery modes must be expressed.

See also Best Practices > Delivery modes

EXPECTED FORMAT

Object

FIELD SIZE & MAXIMUM EXPECTED VALUE

List of delivery modes and pricing

CHARACTER

Mandatory

Business rules

The delivery mode availability depends on the configuration of the sales channels.If the delivery mode is not configured on the sales channel, an error will be thrown. The offer must have at least one configured delivery mode to be published.

Note : Tracked is always required.

See also : Octopia Delivery Modes

ShippingCharges

FIELD DESCRIPTION

Amount of delivery costs

EXPECTED FORMAT

Digital

FIELD SIZE & MAXIMUM EXPECTED VALUE

10 characters before the decimal point,
2 characters after

CHARACTER

Mandatory

Business rules

The delivery mode cost must be associated to a delivery mode code 

AdditionalShippingCharges

FIELD DESCRIPTION

Amount of additional delivery costs paid for the 2nd and subsequent items for customers. 
If you wish to apply free additional costs, you must put “0” in this field. If the field is not filled, it is automatically set to 0.

EXPECTED FORMAT

Digital

FIELD SIZE & MAXIMUM EXPECTED VALUE

10 characters before the decimal point,
2 characters after

CHARACTER

Optional

Business rules

Additional costs cannot be strictly greater than 30 euros.If the field is not filled by the seller, 0 is automatically filled in it.

PriceMustBeAligned

FIELD DESCRIPTION

Enable automated price alignement on Cdiscount sales channel

EXPECTED FORMAT

Boolean

FIELD SIZE & MAXIMUM EXPECTED VALUE

True False

CHARACTER

Optional, paired with MinimumPriceForPriceAlignment

MinimumPriceForPriceAlignment

FIELD DESCRIPTION

Lowest price allowed for offer price alignment

EXPECTED FORMAT

Digital

FIELD SIZE & MAXIMUM EXPECTED VALUE

10 characters before the decimal point,
2 characters after

CHARACTER

Optional, paired with PriceMustBeAligned

Business rules

Must be below Price

ProductPackagingUnit

FIELD DESCRIPTION

How the product is packaged

EXPECTED FORMAT

Digital

FIELD SIZE & MAXIMUM EXPECTED VALUE

Enum

None Liter Kilogram SquareMeter CubicMeter Piece

CHARACTER

Optional, paired with ProductPackagingValue

ProductPackagingValue

FIELD DESCRIPTION

How the product is packaged based on unit

EXPECTED FORMAT

Digital

FIELD SIZE & MAXIMUM EXPECTED VALUE

10 characters before the decimal point,
2 characters after

CHARACTER

Optional, paired with ProductPackagingUnit

DiscountUnit / DiscountValue / Type

FIELD DESCRIPTION

Declare sale value for french legal sales

EXPECTED FORMAT

Digital as a sale percentage

FIELD SIZE & MAXIMUM EXPECTED VALUE

See sample

DiscountUnit must be set to “1

Type must be set to “3

CHARACTER

Required within Offer.PriceAndDiscountList

Business rules

Only valid within legal french sales periods

Field deprecation notice

Striving to provide a common experience throughout all Octopia Sales Channels, some channel specific fields which were available on legacy offer update feeds (xml) are progressively being deprecated and replaced with Seller configuration or contextual management rules.

CDAV property

The CDAV property cannot be submitted on offers and is not retrievable, it has been replaced with offer eligibility to the service to end customers only on the Cdiscount marketplace. Sellers are advised to check the help center or contact support to get more information.

PackagingUnit / PackagingValue properties

Those properties are undergoing deprecation.