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

Endpoint

What is an offer ?

In order to understand what "offer" means for Octopia you can read the help center documentation. You will find :

  1. How to create and update offers

  2. How to delete an offer

  3. The difference between product and offer

  4. How to apply promotion

Help center documentation

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.

Picture

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.

Download examples of package Full and Light

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.

Picture

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

Picture

The method will return a PackageId number with which you can call the reports with the Gets offer package logs method.

Picture

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

Picture

The method will return a PackageId number with which you can call the reports with the Gets offer package logs method.

Picture

We strongly recommend that you consult your integration reports to know if your products are correctly updated or not