Features V2
Offer feature V2
How to manage your catalog
API product Feature
The offer allows you to manage your catalog. With the offer feature, you will be able to:
Update your catalog information
Offer = VAT ; Delivery ; Product condition
Manage your price & stock
Set up commercial operations
Check your offer integration log
What is an offer ?
In order to understand what "offer" means for Octopia you can read the help center documentation. You will find :
How to create and update offers
How to delete an offer
The difference between product and offer
How to apply promotion
Some definition
Product: The product sheet must exist on the seller catalog to receive an offer.
Offer: The offer data concern : stock, price, condition, delivery method(s)... The number of offer in the same package is limited (max 40 000) to improve updating performance.

Package: You have two types of offer packages:
Full : Submit all offers information ( prices, stock, delivery information...). Mandatory to activate your product into the catalog.
StockAndPrice (light) : Once your full offers package has been integrated, you can submit the stock and/or price package. StockAndPrice packages are only available for Cdiscount.
How the offers work
The catalog only displays products that have been created and have received a full offer. The offers are sent to our system via a package XML. You must follow the process in order to make sure that the offers will be integrated.
.png)
Process - Step by step
Recover the EAN codes you need
1 - To retrieve your catalog you must use the Search offers by criteria method if your products have already received an offer for your store.
For the initialization of your feeds we recommend you to call the method once without reference filter to retrieve the entirety.
How to build the offer package
The structure:
The name given to the Zip package has no importance. There is no specific norm.
The structure of the folder must respect the following structure :
Folder _rels containing the file .rels
Folder Content
File [Content_Types].xml
The "Content" folder must contain the offers.xml
The "Offers.xml" is containing all the data.
Several choices for the package offers.xml :
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)
For Octopia Marketplaces :
Only the Full Package is autorised. You MUST add the sales channel id to target the right marketplace.
Download example of Package for Octopia sales channel
For Flash sales and Sales
Download example of package Flash Sales and Sales
The attributes
Mandatory for full offers :
<Offer SellerProductId="32427220" ProductEan="0080605625006" ProductCondition="6" Price="19.95" EcoPart="0.10" DeaTax="3.14" vat="19.6" Stock="10" Comment="Offre avec tous les modes de livraisons possibles" PreparationTime="1">
ProductCondition value :
6 -> New
4 ->AverageState
2 -> VeryGoodState
1 -> LikeNew
Some other attributes :
StrikedPrice Allows you to display the strike price
PriceMustBeAligned "Align" or "DontAlign" and MinimumPriceForPriceAlignment
IsCDAV "true" or "false"
Shipping information
The available delivery methods to be informed for parcels under 30 kg :
Only Registered and Tracked are mandatory
<ShippingInformation AdditionalShippingCharges="0.95" DeliveryMode="Standard" ShippingCharges="1.0" />
<ShippingInformation AdditionalShippingCharges="1.95" DeliveryMode="Tracked" ShippingCharges="2.0" />
<ShippingInformation AdditionalShippingCharges="2.95" DeliveryMode="Registered" ShippingCharges="3.0" />
<ShippingInformation AdditionalShippingCharges="6.95" DeliveryMode="RelaisColis" ShippingCharges="7.5" />
<ShippingInformation AdditionalShippingCharges="7.95" DeliveryMode="SoColissimo" ShippingCharges="8.5" />
<ShippingInformation AdditionalShippingCharges="7.95" DeliveryMode="MondialRelay ShippingCharges="8.5" />
Commercial mechanics,
there are 4 possible ones :
the strikedprice which corresponds to the price generally found in stores. It is not limited in time. Price is strictly lower than StrikedPrice.
Minimum price for alignement (MinimumpriceforPriceAlignment and PriceMustBeAligned) which is automatically aligned with the competition up to the fixed floor price. it is not limited in time. In your case, please note that you have entered "1.00", which means that you can lower the price by up to 1€.
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.
You can find examples of commercial mechanics in the full offer package.
Sales Channel Management
You have to specify the sales channel id for each of your sales channels, by adding this code to your Offers.xml file
"SalesChannelId" = "STRING"
Example with Casino id : CASIFR
<OfferPackage.OfferPublicationList>
<OfferPublicationList Capacity="1">
<PublicationPool SalesChannelId="CASIFR"/>
</OfferPublicationList>
</OfferPackage.OfferPublicationList>
Here is the list of available sales channels :
Marketplace SalesChannelId Currency
Cdiscount CDISFR EUR
Casino CASIFR EUR
Cdon Danemark CDONDK DKK
Cdon Norvege CDONNO NOK
Cdon Finlande CDONFI EUR
Cdon Suede CDONSE SEK
Marjane Maroc MARJMA MAD
Rakuten RAKUFR EUR
The Phone House PHONES EUR
Dropshipping FR DROPFR EUR
Worten Portugal WORTPT EUR
Europazon EUROFR EUR
Alltricks France ALLTFR EUR
BHV France BHVFRA EUR
Carethy Espagne CAREES EUR
Xcite Koweit XCITKW KWD
Rue du Commerce RDCOFR EUR
Bulevip Espagne BULEES EUR
Colizey France COLIFR EUR
Perfume's Club PERFES EUR
Exito Colombie EXITCO USD
Ramsay France RAMSFR EUR
Joom France JOOMFR EUR
Fyndiq FYNDSE EUR
Kingfisher KINGGB GBP
Integration of your package and report
Once your offer package is done, you have to host it on a downloadable url then insert this url in the body of the submit an offer method
The method will return a PackageId number with which you can call the reports with the Gets offer package logs method.
We strongly recommend that you consult your integration reports to know if your products are correctly updated or not
Endpoints
Get offer package logs
GET /offer-integration-packages/{packageId}
Response attributes : integration state ; Offer integration status ; seller product id ; product EAN ; log message
Recommandations call frequency : Every time you push a package and by using the previous packageId
Submit offer package
POST/offer-integration-packages
Response attributes : Package id
Recommandations call frequency :
Full package : Between 2 to 4 times a day
Light package : As much as you want
Search offers by criteria
GET /offers/search
Response attributes : offer id ; offer state ; seller product id ; product EAN ; price ; stock ; shipping information ...
Recommandations call frequency : Every time you need
Process - Step by step
Recover the EAN codes you need
1 - To retrieve your catalog you must use the Search offers by criteria method if your products have already received an offer for your store.
For the initialization of your feeds we recommend you to call the method once without reference filter to retrieve the entirety.
How to build the offer package
The structure:
The name given to the Zip package has no importance. There is no specific norm.
The structure of the package must contain this tree structure necessarily.
Folder _rels containing the file .rels
Folder Content containing the file Offers.xml
File [Content_Types].xml
Download examples of package Full and Light
The attributes
Mandatory for full offers :
<Offer SellerProductId="32427220" ProductEan="0080605625006" ProductCondition="6" Price="19.95" EcoPart="0.10" DeaTax="3.14" vat="19.6" Stock="10" Comment="Offre avec tous les modes de livraisons possibles" PreparationTime="1">
ProductCondition value :
6 -> New
4 ->AverageState
2 -> VeryGoodState
1 -> LikeNew
Some other attributes :
StrikedPrice Allows you to display the strike price
PriceMustBeAligned "true" or "false" and MinimumPriceForPriceAlignment
IsCDAV "true" or "false"
Shipping information
The available delivery methods to be informed for parcels under 30 kg :
Only Registered and Tracked are mandatory
<ShippingInformation AdditionalShippingCharges="0.95" DeliveryMode="Standard" ShippingCharges="1.0" />
<ShippingInformation AdditionalShippingCharges="1.95" DeliveryMode="Tracked" ShippingCharges="2.0" />
<ShippingInformation AdditionalShippingCharges="2.95" DeliveryMode="Registered" ShippingCharges="3.0" />
<ShippingInformation AdditionalShippingCharges="6.95" DeliveryMode="RelaisColis" ShippingCharges="7.5" />
<ShippingInformation AdditionalShippingCharges="7.95" DeliveryMode="SoColissimo" ShippingCharges="8.5" />
<ShippingInformation AdditionalShippingCharges="7.95" DeliveryMode="MondialRelay ShippingCharges="8.5" />
Commercial mechanics,
there are 4 possible ones :
the strikedprice which corresponds to the price generally found in stores. It is not limited in time. Price is strictly lower than StrikedPrice.
Minimum price for alignement (MinimumpriceforPriceAlignment and PriceMustBeAligned) which is automatically aligned with the competition up to the fixed floor price. it is not limited in time. In your case, please note that you have entered "1.00", which means that you can lower the price by up to 1€.
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.
You can find examples of commercial mechanics in the full offer package.
Fine-tuned management of sales channels
you can specify specific information for each of your sales channels, by adding this code to your Offers.xml file
<OfferPackage.OfferPublicationList>
<OfferPublicationList Capacity="1">
<PublicationPool Id="25"/>
</OfferPublicationList>
</OfferPackage.OfferPublicationList>
Here is the list of available sales channels :
Publication Pool name
1 Cdiscount
25 Casino
29 Cdon Suède
30 Marjane Maroc
33 Rakuten
34 The Phone House
38 Worten Portugal
46 Exito Colombie
Integration of your package and report
Once your offer package is done, you have to host it on a downloadable url then insert this url in the body of the submit an offer method
The method will return a PackageId number with which you can call the reports with the Gets offer package logs method.
We strongly recommend that you consult your integration reports to know if your products are correctly updated or not