Index
Web Services are a way for application developers to access content and services to build new applications. For example, you can combine our data and services with those you create in a desktop application or those offered by other Web sites. With Kelkoo Shopping Web Services, more of the power of the Kelkoo network is in your hands.
Extensible Markup Language (XML) is a W3C-recommended general-purpose markup language that supports a wide variety of applications.
The signing process checks that you are authorized to use the web services. To sign a URL you will use your client Id and secret key.
By using JavaScript, your secret key will be viewable by everyone just by displaying your page source. This is why it must not be used.
Below is the illustration of the productSearch url parameters. Be careful, the values below are an example, they could be changed when a new feature is added, please refer to the values in the “Request URL” part in request builder
UrlSigner($urlDomain, $urlPath, $partner, $key) $urlDomain='http://uk.shoppingapis.kelkoo.com' $urlPath='/V3/productSearch?query=ipod&sort=default_ranking&start=1&results=20&show_products=1&how_subcategories=1&show_refinements=1'
2 hours. Ie. the url generated in the Request Build has the validity of 2 hours.
Do a Category Search with Category=601 (601 is the mother category Id of all the category )
500, even if the totalResultsAvailable in the response is more thant 500. This is not a service allowing user to retrive a large amount of offers
The refinements are available and usable for Productsearch and CatalogSearch API
How use refinements
query example : http://uk.shoppingapis.kelkoo.com/V3/productSearch?category=137901&sort=default_ranking&start=1&results=20&show_products=0&show_subcategories=0&show_refinements=1&aid=XXXXXX×tamp=1418056984&hash=8nDxyL0Bh1h_Cs6WRGLksw–
you should get in xml response something like :
<Refinements> <Refinement name="type" label="Type" totalvalues="6" type="ValueList"> <RefineValue> <Title>Sofas</Title> <Value>Sofas</Value> <NumberOfProducts>14870</NumberOfProducts> </RefineValue> <RefineValue> <Title>Love Seats</Title> <Value>Love_Seats</Value> <NumberOfProducts>2989</NumberOfProducts> </RefineValue> ... ... </Refinement> </Refinements>
example for the refinement value Love_Seats : http://uk.shoppingapis.kelkoo.com/V3/productSearch?category=137901&refinement=Love_Seats&sort=default_ranking&start=1&results=20&show_products=0&show_subcategories=0&show_refinements=1&aid=XXXXX×tamp=1418056914&hash=ihr_OJ0FYfxznKfQChQTEQ–
Now you should get the products corresponding to your refined query.
Can i use several refinements ?
yes !, several values can be passed by using the following syntax: &refinement=“value1,value2,value3″
Refinement exceptions
– NarrowsBy filter : you have to pass the category id value in the parameter category
http://uk.shoppingapis.kelkoo.com/V3/productSearch?category=108101&sort=default_ranking&start=1&results=20&show_products=1&show_subcategories=1&show_refinements=1&aid=XXXXXX×tamp=1418117522&hash=ghwTTbelYvC32Oft8Eky8g–
– Merchant filter : you have to pass the merchant id value in the parameter merchantId
query example : http://uk.shoppingapis.kelkoo.com/V3/productSearch?category=108101&merchantId=13740713&sort=default_ranking&start=1&results=20&show_products=1&show_subcategories=1&show_refinements=1&aid=XXXXXX×tamp=1418117522&hash=ghwTTbelYvC32Oft8Eky8g–
This is a combination of several parameters (relevancy,popularity and CPC) permitting to rank the results (offers)
If you’re an eCS user you can control this yourself by adding the following parameter to your eCS query: &imagesOverSsl=1
The default value is “0” which returns image URLs over http.
No it’s not needed, we already cache them in our own Cloud.
If it’s absolutely mandatory in your process, you should cache the images according to the url path and the following url parameters whitelist: country, merchantId, categoryId, width, height, image and sign.
Basically , there’re 2 kinds of categories in kelkoo : PDB Category and 2ndF category .To get specific offers (products) , you need to run different query according to the category .
Only a PDB Category can return the results using Catalog Search .
To distinguish these 2 categories , you can use “Category Search” . The table below shows which search servcie to use according to the attribut value .
Attribut valueCategorySearch service to use
catalogs=”true” | PDB category | Catalog Search |
refinements=”true” | 2ndF category | Product Search |
catalogs=”false” & refinements=”false” | Mother Category | Product Search |
So for the category “Fashion & Lingerie” (107301), you should run Product Search and specify Query=”Fashion & Lingerie”, Catetory=”107301″ to get the offers.
The principle of Live offers retrieval avoids to know in advance the full number of offers. It has not been available in the first search yet.