Functional documentation

Offer feature V2

How to manage your catalog

API offer Feature

  • Manage CDISCOUNT catalog but also Octopia sales channels
  • Create and update your offer information
  • Check your offer integration log
  • Set up commercial operations (Cdiscount only)


What is an offer ?

  1. The difference between product and offer
  2. How to create and update offers via API
  3. How to delete an offer (not with API)
  4. How to apply commercial operations (only Cdiscount)

Help center documentation

Offer submission workflow

Offer submission

How to submit offers with xml – step by step 

1/ Match the EAN codes

Use the Get product API to verify if the product exists in the product referential. 

If the product already exists, you can directly submit an offer on it. 

If the product does not exist, you will have to create it before submiting an offer on it. 

2/ Initiate the zip file

> Download examples of package Full and/or Light (Only for Cdiscount sale channel)

2.1 The name of the zip file:

The name given to the Zip package has no importance. There is no specific norm.

2.2 The structure

The structure of the folder must respect the following structure :

Folder _rels containing the file .rels

Folder Content

File [Content_Types].xml

2.3 “Content” folder

The “Content” folder must contain the offers.xml 

2.4 “Offers.xml” file

The “Offers.xml” is containing all the data necessary to submit offers. 

3/ Fill the Offers.xml file

Several options for the offers.xml package 

For Cdiscount Marketplace:

You can use the Package Full or light (Stock & Price). You do not need to add the sales Channel id.

Download examples of package Full and Stock and Price (or light)

Cdiscount allows to submit offers with sales and flash sales 

Download example of package Flash Sales and Sales

For Octopia Marketplaces:

Only the Full Package is accepted on Octopia. You MUST add the sales channel id to target the right marketplace.

Download example of Package for Octopia sales channel

The attributes must be displayed like this (example for Casino Marketplace ; id : CASIFR) : 

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

The list of sales channels for each seller is available here.

3.1/ The specificities of some attributes

Cdiscount AND Octopia :

Mandatory attributes for a FULL offer package on  Cdiscount AND Octopia:

Name ; PackageType ; SellerProductId ; ProductEan ; ProductCondition ; Price ; EcoPart ; DeaTax ; vat ; Stock ; Comment ; PreparationTime ; DeliveryMode ; ShippingCharges ; AdditionalShippingCharges

See management rules.

Optional attributes for a FULL offer package on  Cdiscount AND Octopia:

  • StrikedPrice :  Allows you to display the strike price

Mandatory attributes for Cdiscount : 

  • PurgeAndReplace : Allows to purge the offers and update only the offers of the current package. For Octopia sales channel, if this attribute is in the package, it is automaticaly put in false. This attribute is ignored on Octopia sales channels

Optional attributes for a FULL offer package on Cdiscount only:

Price competitiveness :

  • PriceMustBeAligned : “Align” or “DontAlign”
  • MinimumPriceForPriceAlignment : the minimum price to be aligned

Commercial animations : cf package Flash Sales and Sales

  • Sales that are only active during the official sales period in France (January and June). Type=3 and DiscountUnit=1. The SalesreferencePrice is the price that will be applied to the sale (usually equal to the Price) and the DiscountValue is the discount percentage. Be careful, in your example, you make a discount of 99.90%. Not combinable with flash sales.
  • Flash sales. Limited to 72h maximum for each SKU with a mandatory 3x the time of the flash sale between each sale. Type=1 and DiscountUnit=1. The DiscountValue is applied directly on the Price. And the spacing between StartDate and EndDate must not exceed 48h. Not combinable with sales.

Package unit and value:

  • ProductPackagingUnit : allows to define the unit used to dysplay the unit price (price per liter, per kilo, per square meter or per cubic meter).
  • ProductPackagingValue : This attribute defines the packaged quantity expressed according to the unity(unit). This value allows to calculate the unit price from the offer price.

4/ Submit your offer package

Once your offer package is ready, you have to host it on a downloadable url then insert this url in the body of the API method : submit an offer.

The API will return a PackageId number with which you can consult the integration results.

Package log

How to get the offer package log ?

Thanks to the packageId, the seller can call the dedicated API in order to get the information about:

  • the status of integration of the package
  • the status of integration of each offer
  • the log message that gives the error code and detailled information on the integration result
  • the date of integration

Information will be replaced with the offer request information.

Scroll to Top