The JSON product list service gives you endless possibilities of displaying your products in any way you wish – with no constraints to design or functionality. The JSON product list also enables you to create multiple product lists and place them anywhere in the shop.
The JSON product list service produces a JSON formatted list of products. By making a call to the service, a JSON object is returned containing products and virtually all associated data. This means that you are able to display any information available about the products directly in the product list – for instance product name, product number, sales price(s), manufacturer, gross weight or expected delivery date. In the Fields section you see a full list of available product data when using the JSON product list service.
The product lists are cacheable, both server side, on a CDN and in the local browser cache which means that performance is excellent even for large product lists. JSON product lists may thus display stale date for at least 30 minutes after an update. It should be noted however that the adding a deleted product or a product with a stale price to the basket will result in correct prices in the basket.
Contents
Why JSON?
To the top
JSON (JavaScript Object Notation) is a lightweight human-readable syntax for storing and exchanging data. The JSON format is syntactically identical to the code for creating JavaScript object and hence can be parsed using standard JavaScript functions (or for instance jQuery) - however JSON is language independent and thus can be used with most of the modern programming languages.
JSON is hierarchical (values within values) and data consists of name/value pairs. JSON uses objects and arrays as data structures and numbers, strings, Booleans, and null as values.
Below is a simple example of the JSON syntax. Note that this example does not reflect the actual structure of data returned by the eSeller Cloud JSON product list service.
JSON example
{
“productID” : “KL2432”,
“productName” : “Hugo Boss men’s suit”,
“productPrice” : 2500,
“productPriceFormatted” : “DKK 2.500,00”
“inStock” : true,
“relatedProducts”: [
{“productID”: “KL2532”},
{“productID”: “KL2341”}
]
}
Further information
Learn more about the JSON format here.
Services
To the top
The services accept HTTP GET requests. Note that some versions of Internet Explorer enforce a maximum request length of 2kb.
The currently available services are:
www.esellercloud.com/Services/ProductService.asmx/ProductList?v=VERSIONNUMBER
www.esellercloud.com/Services/ProductService.asmx/Products?v=VERSIONNUMBER
www.esellercloud.com/Services/ProductService.asmx/ProductVariants?v=VERSIONNUMBER
www.esellercloud.com/Services/ProductService.asmx/RelatedProducts?v=VERSIONNUMBER
Where VERSIONNUMBER is the desired format version number. Currently only one version number exists:
www.esellercloud.com/Services/ProductService.asmx/ProductList?v=1.0
A request to the JSON product service can be tailored to suit your needs by using the available parameters accordingly. Below is an overview of the parameters that the request consists of grouped by service.
Response
Headers
The response will have the following headers:
- Pragma: public
- Max-age: 21600
Cookies will never be set in the response
Data
Data will be formatted according to https://google-styleguide.googlecode.com/svn/trunk/jsoncstyleguide.xml. The response will contain EITHER a data container OR an errors container but never both. The response may contain up to 1000 products. Products will be sorted according to sort order or the sorting directive given in the request (so parameter). Salesprices will be sorted by quantity ascending.
Service: ProductList
To the top
The "ProductList" service is generally used for retrieving products for the main product lists (e.g. lists of products in menus) or as the search result list. Only products that have at least one menu relation will be included in JSON results.
The table below displays all available parameters for the "ProductList" service. The service is located at www.esellercloud.com/Services/ProductService.asmx/ProductList?
Parameter |
Name |
Description |
Example |
v |
Version number |
Version number |
v=1.0 |
context |
String |
Is defined by the client and is echoed by the server in the JSON result. Can be used to correlate responses with requests - especially useful in situations where batches of requests are made. |
frontPageProducts |
fn1 … fn(n)
fv1 … fv(n)
fk1 … fk(n) |
fn=Filter type
fv=Filter value
fk= Custom field ext ID |
URL encoded string. You are able to specify multiple filters in one request. Filter types include: CustomFields, ProductVariants, ProductPrice, ProductManufacturer and ProductInStock. Note that ProductVariants and ProductManufacturer values must be set with the internal IDs of the values. For ProductPrice and CustomFields filters it is possible to specify ranges rather than fixed values. Using ranges presupposes that the custom field has the type Decimal or Integer and the range operator is tilde ("~"). Note that when using ranges, both range limits are included. For decimal range limits, a dot (".") must be used as the decimal mark - this means that decimal custom field values must also use dot (".") as the decimal mark. |
fn1=CustomFields&fv1=Cotton&fk1=Material
fn1=CustomFields&fk1=Length&fv1=100~250
fn1=ProductVariants&fv1=443^441
fn1=ProductPrice&fv1=150~300
fn1=ProductManufacturer&fv1=5686
fn1=ProductInStock&fv1=true
|
so |
Product list sorting |
None = 0,
Product number ascending = 1,
Product number descending = 2,
Name ascending = 3,
Name descending = 4,
Price ascending = 5,
Price descending = 6,
Product card = 7 |
so=5 |
cId |
Currency ID |
Integer (the internal ID of an active currency) |
cId=232 |
langId |
Language ID |
Integer (the internal ID of an active language) |
langId=2 |
countryId |
Country ID |
Integer (the internal ID of an active country) |
countryId=23 |
locId |
Location ID |
Integer (the internal ID of an active location or empty if location is not used) |
locId=735 |
customerId |
Authorization token |
String identifying authorization for the request. The value is created by the server, and can be retrieved by <eSeller:Select value-of=”context: AuthToken” /> or <eSeller:Select value-of=”context: AuthTokenUrlEncoded” />, which is url encoded and can be used directly in a url. |
customerId=r/PBJU4aAIz+OJ40XGWJnXjFTdjb2123456P2geSqRDk4sEdN8Hasg== |
p |
Page number |
Integer >=1 – the number of the page being requested |
p=1 |
rp |
Results per page |
Integer < 1000. The desired number of results per page |
rp=25 |
mId |
Menu ID |
Integer (the internal ID of the menu to display) |
mId=123322 |
imgSizeId |
Image Size ID |
Integer – specifies the product image size for the product list (the Internal ID of an image size) |
imgSizeId=4363 |
search |
Search query |
Performs a search using the SMART search feature, delivering the result as JSON. Note that if "mId" is specified, the search result will be limited to a specific menu. If "so" is specified (and is not 0), the search results will be sorted by the specified order (as oppose to being sorted by score). If "so" is not specified, the result will be sorted by score. |
search=polo%20shirt |
maxSearchResults |
Maximum number of search results returned. |
Limits the number of search results returned by the service. If the parameter is not specified, the maximum number of search results defaults to what is specified in shop settings ("SearchProductsMaxResults"). |
maxSearchResults=100 |
pcEId |
Product collection ext. ID |
Returns products for the specified product collection |
pcEId=saleProducts |
pcTag |
Product collection tag |
Returns products for all product collections qualified by the tag |
pcTag=sale |
include |
Comma-separated list of properties to include in the JSON result (that are otherwise omitted) |
Possible values are:
shortDesc: Short description
longDesc: Long description
shortDescRecurse: Includes short description from products in nested products (e.g. bill of materials). Adds JSON property “shortDesc” in nested product listings.
longDescRecurse: Includes long description from products in nested products (e.g. bill of materials). Adds JSON property “longDesc” in nested product listings.
NOTE: Due to the potentially huge amount of data we advise that short and long description are only included where necessary!
bom: Expands bill of materials specification - adds JSON property "bomSpec" containing a list of all products in the bill of materials.
variantDimensionMap: adds JSON property "variantDimensionMap" to the data segment of the JSON result (also for nested product listings). Contains a mapping of all variant dimensions and variant dimension values for all variants in the result set. |
include=shortDesc,longDesc |
Example requests
Get all products from a specific menu
/Services/ProductService.asmx/ProductList?v=1.0&so=1&cId=54&langId=1&countryId=11&locId=&customerId=r/PBJU4aAIz+OJ40XGWJnXjFTdjb2123456P2geSqRDk4sEdN8Hasg==&mId=6692&p=1&rp=25&imgSizeId=0
- Get all products from the product menu with menu ID 6692
Set multiple filters in one request
/Services/ProductService.asmx/ProductList?v=1.0&so=1&cId=54&langId=1&countryId=11&locId=&customerId=r/PBJU4aAIz+OJ40XGWJnXjFTdjb2123456P2geSqRDk4sEdN8Hasg==&mId=1302&p=1&rp=5&imgSizeId=0&fn1=ProductVariants&fv1=443^441^445&fn2=ProductPrice&fv2=1500~7000&fn3=CustomFields&fv3=Cotton&fk3=Material
- In this request a product variant filter is set to filter on the variant values with ID 443, 443 and 445 (note that “^” means “and”. Moreover, a price filter is set to all products with a price between 1500 and 7000 (note that "~" is used to specify a price range). Lastly, a filter is set to only show products that have the custom field “Material” with the custom field value “Cotton”.
Set range filters
/Services/ProductService.asmx/ProductList?v=1.0&so=1&cId=54&langId=1&countryId=11&locId=&customerId=r/PBJU4aAIz+OJ40XGWJnXjFTdjb2123456P2geSqRDk4sEdN8Hasg==&mId=1302&p=1&rp=25&imgSizeId=0&fn1=CustomFields&fk1=Length&fv1=125~658&fn2=CustomFields&fk2=Height&fv2=68.5~105.5
- In this request two custom field range filters are set; Length between 125 and 658 (both inclusive) and Height between 68.5 and 105.5 (both inclusive). Note that decimal values must use "." as decimal mark.
Perform a SMART search query
/Services/ProductService.asmx/ProductList?v=1.0&cId=54&langId=1&countryId=11&locId=&customerId=r/PBJU4aAIz+OJ40XGWJnXjFTdjb2123456P2geSqRDk4sEdN8Hasg==&p=1&rp=25&imgSizeId=0&maxSearchResults=100&search=ralph%20lauren%20polo
- Performs a SMART search of the query "ralph lauren polo" and returns the result as JSON (
BETA).
Perform a SMART search query for a specific location
/Services/ProductService.asmx/ProductList?v=1.0&cId=54&langId=1&countryId=11&locId=1422&customerId=r/PBJU4aAIz+OJ40XGWJnXjFTdjb2123456P2geSqRDk4sEdN8Hasg==&p=1&rp=25&imgSizeId=0&maxSearchResults=100&search=coca%20cola
- Performs a SMART search of the query "coca cola" for the location with ID 1422 and returns the result as JSON (
BETA).
Gets a list of products from a specific product collection
/Services/ProductService.asmx/ProductList?v=1.0&cId=54&langId=1&countryId=11&locId=1422&customerId=r/PBJU4aAIz+OJ40XGWJnXjFTdjb2123456P2geSqRDk4sEdN8Hasg==&p=1&rp=25&imgSizeId=0&pcEId=summer2016
- Gets all products from the product collection with ext. ID "summer2016".
Gets a list of products based on a product collection tag
/Services/ProductService.asmx/ProductList?v=1.0&cId=54&langId=1&countryId=11&locId=1422&customerId=r/PBJU4aAIz+OJ40XGWJnXjFTdjb2123456P2geSqRDk4sEdN8Hasg==&p=1&rp=25&imgSizeId=0&pcTag=bargains
- Gets all products from all product collections with the tag "bargains".
Response
Below you see all fields provided in the JSON response
Field |
Description |
Example |
apiVersion |
String – API version number – similar to VERSIONNUMBER in path |
1.0 |
id |
Integer – a unique number that allows a request to be tied to a log entry. All log entries related to JSON services MUST contain the id |
12345 |
context |
String - Echoes the context sent by the client |
frontPageProducts |
servedBy |
Name of the active server. Used for testing purposes - identifying which server is serving the content. |
"servedBy": "ESLWEB305" |
data
|
Object – Object containing data
|
|
kind |
String – Specifies the object type. In the data object the kind will be products (in plural) |
Products |
updated |
Datetime of when a fresh (non-cached) version of the response was retrieved from the server |
2015-10-02T13:13:53.1388591+00:00 |
lang |
String- BCP 47 formatted language specification. Lang will always reflect the requested language |
En |
currentItemCount |
Number of entries in the current response. Is always equal to or lower than productPerPage |
13 |
productPerPage |
Number of product per response |
25 |
startPageNumber |
Index of the first page |
1 |
totalProducts |
Total number of results |
521 |
pageNumber |
Current response pageindex |
2 |
totalPages |
Total number of pages (totalProducts/ productPerPage) (round up) |
21 |
nextLink |
Link to next result-set. Empty for ultimate page |
/Services/ProductService.asmx/ProductList?v=1.0&lId=0&fn1=ProductManufacturer&fv1=&fn2=ProductPrice&fv2=289%5e15099&so=7&cId=54&langId=1&countryId=11&locId=&customerId=0&mId=21584&p=2&rp=50&imgSizeId=0 |
previousLink |
Link to previous result-set. Empty for first page |
/Services/ProductService.asmx/ProductList?v=1.0&lId=0&fn1=ProductManufacturer&fv1=&fn2=ProductPrice&fv2=289%5e15099&so=7&cId=54&langId=1&countryId=11&locId=&customerId=0&mId=21584&p=1&rp=50&imgSizeId=0 |
productMenus |
Array of product menu objects |
|
navigateUrl |
Relative URL of the product menu |
/pl/Tools_21456.aspx |
navigateText |
Link text |
Tools |
navigateTarget |
Target property (always _self for product menus) |
_self |
extMenuItemID |
Ext. Menu ID |
ToolsMenu |
sorting |
Sorting |
10 |
description |
Menu description |
We carry a large array of great quality tools. |
alternateDescription |
Menu alternate description |
We carry a large array of great quality tools. |
image |
URL of the product menu image |
http://www.myshop.com/Services/ImageHandler.ashx?imgId=62973&sizeId=4129" |
articles |
Array of article objects (CMS/info menus). Note that articles that function as links (redirect to other pages) do not appear in the search result. |
|
navigateUrl |
Relative URL of the article |
/info/CustomerService_124353.aspx |
navigateText |
Link text |
Customer service |
navigateTarget |
Target property (always _self for product menus) |
_self |
sorting |
Sorting |
10 |
description |
Article description |
We provide great customer service. |
items
|
Array of Product objects
|
|
extVariantId |
The external variant ID - otherwise null |
112455 or null |
eSellerId |
The internal eSeller cloud product ID |
243534 |
id |
The product id |
242P233 |
name |
Product name |
Ball bearings |
variantId |
If 0, the product is not a variant - otherwise this is the variant ID |
213344 |
variantValues |
An ordered array of variant values - otherwise null |
"Red", "40", "Cotton" or null |
showProductId |
Determines if the if the eSeller Cloud internal product ID should be shown |
True |
showProductEAN |
Determines if the product EAN should be shown |
True |
showProductManufacturereSKU |
Determines if the product manufacturer SKU should be shown |
True |
showExtProductId |
Determines if the external product ID should be shown |
True |
showAltExtProductID |
Determines if the alternate product ID should be shown |
True |
hasVariants |
Specifies whether a product has variants. Implies that the current product is a variant master |
True |
isVariant |
Determines if a product is a subvariant |
True |
hasSalesPrice |
Specifies whether the product has one or more sales prices |
True |
showSalesPrice |
Specities whether the sales price should be displayed |
True |
manufacturerSKU |
String representing the manufacturer SKU |
HBP54221 |
hasExpectedDeliveryDate |
Specifies whether an expected delivery date is set on the product |
False |
expectedDeliveryDate |
Date representing when a product will be in stock again |
2014-07-05T00:00:00 |
expectedDeliveryDateFormatted |
Formatted date representing when a product will be in stock again |
05-07-2014 |
shipmentType |
Integer specifying the available shipment type.
0 = shipping & collect at store
1 = only collect at store
2 = only shipping
3 = virtual |
0 |
isBuyable |
Determines if a product can be bought and hence if the “add to basket” button should be shown |
True |
showAddToBasket |
Specifies whether the “add to basket” button should be shown |
True |
showAddToFavorites |
Determines if the “add to favorites” button should be shown |
False |
addToFavoritesUrl |
The URL for adding the product to the favorites list |
/baction/atf.aspx?pid=1210839&rurl=%2fServices%2fProductService.asmx%2fProductList%3fv%3d1.0%26so%3d3%26cId%3d54%26langId%3d1%26countryId%3d11%26locId%3d14922%26customerId%3d0%26mId%3d40620%26p%3d1%26rp%3d60%26serial%3d07c18a00a9584881a42827364195adf4 |
boundToInventoryCount |
Determines if a product can be sold if the inventory count is equal to or less than zero |
False |
inventoryCount |
Integer - The number of products in the inventory |
23 |
inventoryCountFormatted |
A formatted string representing the number of products in the inventory |
“23” |
grossWeight |
The product gross weight in grams |
12.000 |
grossWeightFormatted |
A formatted string representing the product gross weight in grams |
“12,000” |
stockStatusText |
A text describing the stock status of the product |
|
inStockMessage |
A text to display if the product is in stock |
In stock – ships in 2-3 business days |
notInStockMessage |
A text to display if the product is not in stock |
Not in stock – ships in 8-10 business days |
bundleSize |
The number of products that can be sold separately |
1 |
smallestSalesUnit |
The minimum number of products that can be sold |
1 |
secondaryId |
The secondary product ID |
12312abc |
posId |
Product ID in any POS system |
500012487 |
EAN |
Product EAN |
126749812548 |
unitOfMeasure |
The unit of measure related measuring the amount of products (barrels, containers, pallets) |
Pair |
unitOfMeasureDesc |
A string describing the unit of measure |
Pair (2 pieces) |
manufacturer |
Name of the product manufacturer |
Hugo Boss |
linkURL |
The product link URL |
/pi/Pants_113105_6692.aspx |
linkName |
The text related to the product link |
Hugo Boss pants |
vendor |
String representing the product vendor |
HUGO BOSS STORE |
URLPathAndQuery |
URL to the product detail page |
/pi/Pants_113105_6692.aspx |
items:salesPrices
|
An array containing objects specifying sales prices for the product
|
|
quantity |
The number of products needed to obtain the tag price |
2 |
quantityFormatted |
The formatted string representing the number of products needed to obtain the tag price |
“2” |
salesUnit |
The unit of measure |
3 |
hasBetterPrice |
Specifies whether a better (lower) price exists – e.g. if a sales price with a quantity of 10 gives a lower price than the sales price with a quantity of 1 |
False |
tagPrice |
The price associated with the current quantity |
125.00 OR Empty string (“”) |
tagPriceFormatted |
The formatted string representing the price associated with the current quantity |
“DKK 125,00” OR Empty string (“”) |
tagPriceVATAmount |
The part of the tag price which is taken up by VAT |
25.00 OR Empty string (“”) |
tagPriceVATAmountFormatted |
The formatted string representing the part of the tag price which is taken up by VAT |
“DKK 25,00” OR Empty string (“”) |
tagPriceExcVATAmountFormatted |
The formatted string representing the part of the tag price which is not VAT |
“DKK 100,00” OR Empty string (“”) |
tagPriceExcVATAmount |
The part of the tag price which is not VAT |
100.00 OR Empty string (“”) |
tagPriceIncVATAmountFormatted |
The formatted string representing the tag price including VAT |
“DKK 125,00” |
tagPriceIncVATAmount |
The tag price including VAT |
125.00 OR Empty string (“”) |
totalTagPrice |
Tag price multiplied with quantity |
200.00 OR Empty string (“”) |
totalTagPriceFormatted |
Formatted string representing tag price multiplied with quantity |
“DKK 200,00” |
totalTagPriceVATAmount |
The amount of the total tag price that is VAT |
40.00 OR Empty string (“”) |
totalTagPriceVATAmountFormatted |
A formatted string representing the amount of the total tag price that is VAT |
“DKK 40,00” OR empty string (“”) |
totalTagPriceExcVATAmountFormatted |
A formatted string representing the total tag price excluding VAT |
“DKK 160,00” |
totalTagPriceExcVATAmount |
The total tag price excluding VAT |
160.00 |
totalTagPriceIncVATAmountFormatted |
A formatted string representing the total tag price including VAT |
“DKK 200,00” |
totalTagPriceExcVATAmount |
The total tag price including VAT |
200.00 |
hasPreviousPrice |
Specifies whether a previous tag price is provided |
True |
previousTagPriceFormatted |
The formatted string representing the previous tag price |
“DKK 300,00” OR Empty string (“”) |
previousTagPrice |
The previous tag price |
300.00 OR Empty string (“”) |
hasRecommendedPrice |
Specifies whether a list tag price is provided |
True |
listTagPrice |
The product list price |
400.00 OR Empty string (“”) |
listTagPriceFormatted |
The formatted string representing the product list price |
“DKK 400,00” OR Empty string (“”) |
lineDiscountPercentage |
The discount percentage associated with the product |
10 OR Empty string (“”) |
lineDiscountPercentageFormatted |
The formatted string representing the discount percentage associated with the product |
“10” OR Empty string (“”) |
tagPriceLineDiscountAmount |
The amount in the requested currency corresponding to the discount percentage |
20 OR Empty string (“”) |
tagPriceLineDiscountAmountFormatted |
The formatted string representing the amount in the requested currency corresponding to the discount percentage |
“DKK 20,00” OR Empty string (“”) |
description |
A description of the sales price |
“Get 3 – pay for 2!” |
items:images
|
An array of images
|
|
url |
URL to product images |
/Services/ImageHandler.ashx?imgId=120834&sizeId=4363 OR Empty string (“”) |
frontPageProduct |
Determines if a product is shown on the frontpage |
True |
greatBuy |
Determines if a great buy splash is to be shown on the product |
True |
noveltyProduct |
Determines if a noveltyproduct splash is to be shown on the product |
False |
deprecated |
Determines if a product is deprecated. Deprecated products should not be buyable |
True |
kind |
String – Specifies the object type. |
Product |
items:customFields
|
An array containing all custom fields and custom field values
|
|
costumFieldName |
String representing the value of customFieldName. Note that custumFieldName will be substituted with the name of the custom field (eg. “Product:customFields:colorCode”) |
Black |
isGiftCard |
Boolean - True if the product is a gift card product |
False |
productRelatedLink |
The related link of the product (e.g. a page with additional product information at the manufacturer website) |
http://www.esellercloud.com |
productRelatedLinkText |
The text used to describe the related link |
See a detailed specification at the manufacturer website |
suggestedQuantity |
The suggested quantity of a product in a product collection. For all calls not using the "pcEId" or "pcTag" parameters, the value will be null. |
3 |
Service: Products
To the top
Using the "Products" service you are able to generate lists containing specific products. Using the "pIds" parameter you are able to specify which products you want to be retrieved in the JSON result.
The table below displays all available parameters for the "Products" service. The service is located at www.esellercloud.com/Services/ProductService.asmx/Products?
Parameter |
Name |
Description |
Example |
v |
Version number |
Version number |
v=1.0 |
context |
String |
Is defined by the client and is echoed by the server in the JSON result. Can be used to correlate responses with requests - especially useful in situations where batches of requests are made. |
frontPageProducts |
cId |
Currency ID |
Integer (the internal ID of an active currency) |
cId=232 |
langId |
Language ID |
Integer (the internal ID of an active language) |
langId=2 |
countryId |
Country ID |
Integer (the internal ID of an active country) |
countryId=23 |
locId |
Location ID |
Integer (the internal ID of an active location or empty if location is not used) |
locId=735 |
customerId |
Authorization token |
String identifying authorization for the request. The value is created by the server, and can be retrieved by <eSeller:Select value-of=”context: AuthToken” /> or <eSeller:Select value-of=”context: AuthTokenUrlEncoded” />, which is url encoded and can be used directly in a url. |
customerId=r/PBJU4aAIz+OJ40XGWJnXjFTdjb2123456P2geSqRDk4sEdN8Hasg== |
pId |
Product ID |
Integer – specifies the item number of a product (eSeller Cloud item number) |
pId=1218427 |
pIds |
Multiple Product IDs |
List of product IDs – specifies the item numbers of multiple products seperated by semicolons (eSeller Cloud item numbers) |
pIds=113386;113385;113384 |
pEId |
Product external ID |
String – specifies the external item number of a product |
pEId=A565E12 |
pEIds |
Multiple Product external IDs |
List of ext. product IDs – specifies the ext. IDs of multiple products seperated by semicolons |
pEIds=AL6512;AL5548;AL6533 |
pLId |
Product lifetime ID |
String – specifies the litetime ID of a product |
pLId=A565E12 |
pLIds |
Multiple Product lifetime IDs |
List of product lifetime IDs – specifies the lifetime IDs of multiple products seperated by semicolons |
pLIds=A565E12 |
imgSizeId |
Image Size ID |
Integer – specifies the product image size for the product list (the Internal ID of an image size) |
imgSizeId=4363 |
include |
Comma-separated list of properties to include in the JSON result (that are otherwise omitted) |
Possible values are:
shortDesc: Short description
longDesc: Long description
shortDescRecurse: Includes short description from products in nested products (e.g. bill of materials). Adds JSON property “shortDesc” in nested product listings.
longDescRecurse: Includes long description from products in nested products (e.g. bill of materials). Adds JSON property “longDesc” in nested product listings.
NOTE: Due to the potentially huge amount of data we advise that short and long description are only included where necessary!
bom: Expands bill of materials specification - adds JSON property "bomSpec" containing a list of all products in the bill of materials.
|
include=shortDesc,longDesc |
Example requests
Get a list of specified products
/Services/ProductService.asmx/Products?v=1.0&cId=54&langId=1&countryId=11&locId=&customerId=r/PBJU4aAIz+OJ40XGWJnXjFTdjb2123456P2geSqRDk4sEdN8Hasg==&imgSizeId=0&pIds=113386;113387
- Gets a list that contains the products with ID 113386 and 113387. Semicolon divides the product IDs.
Response
Below you see all fields provided in the JSON response
Field |
Description |
Example |
apiVersion |
String – API version number – similar to VERSIONNUMBER in path |
1.0 |
id |
Integer – a unique number that allows a request to be tied to a log entry. All log entries related to JSON services MUST contain the id |
12345 |
context |
String - Echoes the context sent by the client |
frontPageProducts |
servedBy |
Name of the active server. Used for testing purposes - identifying which server is serving the content. |
"servedBy": "ESLWEB305" |
data
|
Object – Object containing data
|
|
kind |
String – Specifies the object type. In the data object the kind will be products (in plural) |
Products |
updated |
Datetime of when a fresh (non-cached) version of the response was retrieved from the server |
2015-10-02T13:13:53.1388591+00:00 |
lang |
String- BCP 47 formatted language specification. Lang will always reflect the requested language |
En |
totalProducts |
Total number of results |
521 |
items
|
Array of Product objects
|
|
extVariantId |
The external variant ID - otherwise null |
112455 or null |
eSellerId |
The internal eSeller cloud product ID |
243534 |
id |
The product id |
242P233 |
name |
Product name |
Ball bearings |
variantId |
If 0, the product is not a variant - otherwise this is the variant ID |
213344 |
variantValues |
An ordered array of variant values - otherwise null |
"Red", "40", "Cotton" or null |
showProductId |
Determines if the if the eSeller Cloud internal product ID should be shown |
True |
showProductEAN |
Determines if the product EAN should be shown |
True |
showProductManufacturereSKU |
Determines if the product manufacturer SKU should be shown |
True |
showExtProductId |
Determines if the external product ID should be shown |
True |
showAltExtProductID |
Determines if the alternate product ID should be shown |
True |
hasVariants |
Specifies whether a product has variants. Implies that the current product is a variant master |
True |
isVariant |
Determines if a product is a subvariant |
True |
hasSalesPrice |
Specifies whether the product has one or more sales prices |
True |
showSalesPrice |
Specities whether the sales price should be displayed |
True |
manufacturerSKU |
String representing the manufacturer SKU |
HBP54221 |
hasExpectedDeliveryDate |
Specifies whether an expected delivery date is set on the product |
False |
expectedDeliveryDate |
Date representing when a product will be in stock again |
2014-07-05T00:00:00 |
expectedDeliveryDateFormatted |
Formatted date representing when a product will be in stock again |
05-07-2014 |
shipmentType |
Integer specifying the available shipment type.
0 = shipping & collect at store
1 = only collect at store
2 = only shipping
3 = virtual |
0 |
isBuyable |
Determines if a product can be bought and hence if the “add to basket” button should be shown |
True |
showAddToBasket |
Specifies whether the “add to basket” button should be shown |
True |
showAddToFavorites |
Determines if the “add to favorites” button should be shown |
False |
addToFavoritesUrl |
The URL for adding the product to the favorites list |
/baction/atf.aspx?pid=1210839&rurl=%2fServices%2fProductService.asmx%2fProductList%3fv%3d1.0%26so%3d3%26cId%3d54%26langId%3d1%26countryId%3d11%26locId%3d14922%26customerId%3d0%26mId%3d40620%26p%3d1%26rp%3d60%26serial%3d07c18a00a9584881a42827364195adf4 |
boundToInventoryCount |
Determines if a product can be sold if the inventory count is equal to or less than zero |
False |
inventoryCount |
Integer - The number of products in the inventory |
23 |
inventoryCountFormatted |
A formatted string representing the number of products in the inventory |
“23” |
grossWeight |
The product gross weight in grams |
12.000 |
grossWeightFormatted |
A formatted string representing the product gross weight in grams |
“12,000” |
stockStatusText |
A text describing the stock status of the product |
|
inStockMessage |
A text to display if the product is in stock |
In stock – ships in 2-3 business days |
notInStockMessage |
A text to display if the product is not in stock |
Not in stock – ships in 8-10 business days |
bundleSize |
The number of products that can be sold separately |
1 |
smallestSalesUnit |
The minimum number of products that can be sold |
1 |
secondaryId |
The secondary product ID |
12312abc |
posId |
Product ID in any POS system |
500012487 |
EAN |
Product EAN |
126749812548 |
unitOfMeasure |
The unit of measure related measuring the amount of products (barrels, containers, pallets) |
Pair |
unitOfMeasureDesc |
A string describing the unit of measure |
Pair (2 pieces) |
manufacturer |
Name of the product manufacturer |
Hugo Boss |
linkURL |
The product link URL |
/pi/Pants_113105_6692.aspx |
linkName |
The text related to the product link |
Hugo Boss pants |
vendor |
String representing the product vendor |
HUGO BOSS STORE |
URLPathAndQuery |
URL to the product detail page |
/pi/Pants_113105_6692.aspx |
items:salesPrices
|
An array containing objects specifying sales prices for the product
|
|
quantity |
The number of products needed to obtain the tag price |
2 |
quantityFormatted |
The formatted string representing the number of products needed to obtain the tag price |
“2” |
salesUnit |
The unit of measure |
3 |
hasBetterPrice |
Specifies whether a better (lower) price exists – e.g. if a sales price with a quantity of 10 gives a lower price than the sales price with a quantity of 1 |
False |
tagPrice |
The price associated with the current quantity |
125.00 OR Empty string (“”) |
tagPriceFormatted |
The formatted string representing the price associated with the current quantity |
“DKK 125,00” OR Empty string (“”) |
tagPriceVATAmount |
The part of the tag price which is taken up by VAT |
25.00 OR Empty string (“”) |
tagPriceVATAmountFormatted |
The formatted string representing the part of the tag price which is taken up by VAT |
“DKK 25,00” OR Empty string (“”) |
tagPriceExcVATAmountFormatted |
The formatted string representing the part of the tag price which is not VAT |
“DKK 100,00” OR Empty string (“”) |
tagPriceExcVATAmount |
The part of the tag price which is not VAT |
100.00 OR Empty string (“”) |
tagPriceIncVATAmountFormatted |
The formatted string representing the tag price including VAT |
“DKK 125,00” |
tagPriceIncVATAmount |
The tag price including VAT |
125.00 OR Empty string (“”) |
totalTagPrice |
Tag price multiplied with quantity |
200.00 OR Empty string (“”) |
totalTagPriceFormatted |
Formatted string representing tag price multiplied with quantity |
“DKK 200,00” |
totalTagPriceVATAmount |
The amount of the total tag price that is VAT |
40.00 OR Empty string (“”) |
totalTagPriceVATAmountFormatted |
A formatted string representing the amount of the total tag price that is VAT |
“DKK 40,00” OR empty string (“”) |
totalTagPriceExcVATAmountFormatted |
A formatted string representing the total tag price excluding VAT |
“DKK 160,00” |
totalTagPriceExcVATAmount |
The total tag price excluding VAT |
160.00 |
totalTagPriceIncVATAmountFormatted |
A formatted string representing the total tag price including VAT |
“DKK 200,00” |
totalTagPriceExcVATAmount |
The total tag price including VAT |
200.00 |
hasPreviousPrice |
Specifies whether a previous tag price is provided |
True |
previousTagPriceFormatted |
The formatted string representing the previous tag price |
“DKK 300,00” OR Empty string (“”) |
previousTagPrice |
The previous tag price |
300.00 OR Empty string (“”) |
hasRecommendedPrice |
Specifies whether a list tag price is provided |
True |
listTagPrice |
The product list price |
400.00 OR Empty string (“”) |
listTagPriceFormatted |
The formatted string representing the product list price |
“DKK 400,00” OR Empty string (“”) |
lineDiscountPercentage |
The discount percentage associated with the product |
10 OR Empty string (“”) |
lineDiscountPercentageFormatted |
The formatted string representing the discount percentage associated with the product |
“10” OR Empty string (“”) |
tagPriceLineDiscountAmount |
The amount in the requested currency corresponding to the discount percentage |
20 OR Empty string (“”) |
tagPriceLineDiscountAmountFormatted |
The formatted string representing the amount in the requested currency corresponding to the discount percentage |
“DKK 20,00” OR Empty string (“”) |
description |
A description of the sales price |
“Get 3 – pay for 2!” |
items:images
|
An array of images
|
|
url |
URL to product images |
/Services/ImageHandler.ashx?imgId=120834&sizeId=4363 OR Empty string (“”) |
frontPageProduct |
Determines if a product is shown on the frontpage |
True |
greatBuy |
Determines if a great buy splash is to be shown on the product |
True |
noveltyProduct |
Determines if a noveltyproduct splash is to be shown on the product |
False |
deprecated |
Determines if a product is deprecated. Deprecated products should not be buyable |
True |
kind |
String – Specifies the object type. |
Product |
items:customFields
|
An array containing all custom fields and custom field values
|
|
costumFieldName |
String representing the value of customFieldName. Note that custumFieldName will be substituted with the name of the custom field (eg. “Product:customFields:colorCode”) |
Black |
isGiftCard |
Boolean - True if the product is a gift card product |
False |
productRelatedLink |
The related link of the product (e.g. a page with additional product information at the manufacturer website) |
http://www.esellercloud.com |
productRelatedLinkText |
The text used to describe the related link |
See a detailed specification at the manufacturer website |
suggestedQuantity |
The suggested quantity of a product in a product collection. For all calls not using the "pcEId" or "pcTag" parameters, the value will be null. |
3 |
Service: RelatedProducts
To the top
The "RelatedProducts" service returns a list of related products for a specified product ID. The "tag" parameter can be added to limit the result to related products with a specific tag - e.g. "sparePartsFor".
The table below displays all available parameters for the "RelatedProducts" service. The service is located at www.esellercloud.com/Services/ProductService.asmx/RelatedProducts?
Parameter |
Name |
Description |
Example |
v |
Version number |
Version number |
v=1.0 |
context |
String |
Is defined by the client and is echoed by the server in the JSON result. Can be used to correlate responses with requests - especially useful in situations where batches of requests are made. |
frontPageProducts |
cId |
Currency ID |
Integer (the internal ID of an active currency) |
cId=232 |
langId |
Language ID |
Integer (the internal ID of an active language) |
langId=2 |
countryId |
Country ID |
Integer (the internal ID of an active country) |
countryId=23 |
locId |
Location ID |
Integer (the internal ID of an active location or empty if location is not used) |
locId=735 |
customerId |
Authorization token |
String identifying authorization for the request. The value is created by the server, and can be retrieved by <eSeller:Select value-of=”context: AuthToken” /> or <eSeller:Select value-of=”context: AuthTokenUrlEncoded” />, which is url encoded and can be used directly in a url. |
customerId=r/PBJU4aAIz+OJ40XGWJnXjFTdjb2123456P2geSqRDk4sEdN8Hasg== |
pId |
Product ID |
Integer – specifies the item number of a product |
pId=1218427 |
pEId |
Product external ID |
String – specifies the external ID of a product. Note that pId, pEId and pLId are mutually exclusive which means that you can only specify one of them in the call. |
pEId=LK102A |
pLId |
Product Lifetime ID |
String – specifies the Lifetime ID of a product. Note that pId, pEId and pLId are mutually exclusive which means that you can only specify one of them in the call. |
pLId=500055513 |
imgSizeId |
Image Size ID |
Integer – specifies the product image size for the product list (the Internal ID of an image size) |
imgSizeId=4363 |
maxResults |
Maximum number of related products |
Integer – specifies the maximum number of related products to retrieve. |
maxResults=20 |
tag |
Related product tag |
Display all related products with this tag. If this attribute is omitted, all related products with no tag are displayed. |
tag="spare-parts" |
include |
Comma-separated list of properties to include in the JSON result (that are otherwise omitted) |
Possible values are:
shortDesc: Short description
longDesc: Long description
shortDescRecurse: Includes short description from products in nested products (e.g. bill of materials). Adds JSON property “shortDesc” in nested product listings.
longDescRecurse: Includes long description from products in nested products (e.g. bill of materials). Adds JSON property “longDesc” in nested product listings.
NOTE: Due to the potentially huge amount of data we advise that short and long description are only included where necessary!
bom: Expands bill of materials specification - adds JSON property "bomSpec" containing a list of all products in the bill of materials.
|
include=shortDesc,longDesc< |
Example requests
Get a list of related products with a specified tag
/Services/ProductService.asmx/RelatedProducts?v=1.0&cId=54&langId=1&countryId=11&locId=&customerId=r/PBJU4aAIz+OJ40XGWJnXjFTdjb2123456P2geSqRDk4sEdN8Hasg==&imgSizeId=0&pId=113386&maxResults=10
- Get all products related to the product with ID 113386 - maximum 10 results.
Get all related products for a product specified with external ID
/Services/ProductService.asmx/RelatedProducts?v=1.0&cId=54&langId=1&countryId=11&locId=&customerId=r/PBJU4aAIz+OJ40XGWJnXjFTdjb2123456P2geSqRDk4sEdN8Hasg==&imgSizeId=0&pEId=KL012Y
- Get all products related to the product with external ID KL012Y.
Response
Below you see all fields provided in the JSON response
Field |
Description |
Example |
apiVersion |
String – API version number – similar to VERSIONNUMBER in path |
1.0 |
id |
Integer – a unique number that allows a request to be tied to a log entry. All log entries related to JSON services MUST contain the id |
12345 |
context |
String - Echoes the context sent by the client |
frontPageProducts |
servedBy |
Name of the active server. Used for testing purposes - identifying which server is serving the content. |
"servedBy": "ESLWEB305" |
data
|
Object – Object containing data
|
|
kind |
String – Specifies the object type. In the data object the kind will be products (in plural) |
Products |
updated |
Datetime of when a fresh (non-cached) version of the response was retrieved from the server |
2015-10-02T13:13:53.1388591+00:00 |
lang |
String- BCP 47 formatted language specification. Lang will always reflect the requested language |
En |
currentProductsCount |
Number of entries in the current response. |
13 |
productId |
The ID of the product for which related products are retrieved |
112039 |
items
|
Array of Product objects
|
|
extVariantId |
The external variant ID - otherwise null |
112455 or null |
eSellerId |
The internal eSeller cloud product ID |
243534 |
id |
The product id |
242P233 |
name |
Product name |
Ball bearings |
variantId |
If 0, the product is not a variant - otherwise this is the variant ID |
213344 |
variantValues |
An ordered array of variant values - otherwise null |
"Red", "40", "Cotton" or null |
showProductId |
Determines if the if the eSeller Cloud internal product ID should be shown |
True |
showProductEAN |
Determines if the product EAN should be shown |
True |
showProductManufacturereSKU |
Determines if the product manufacturer SKU should be shown |
True |
showExtProductId |
Determines if the external product ID should be shown |
True |
showAltExtProductID |
Determines if the alternate product ID should be shown |
True |
hasVariants |
Specifies whether a product has variants. Implies that the current product is a variant master |
True |
isVariant |
Determines if a product is a subvariant |
True |
hasSalesPrice |
Specifies whether the product has one or more sales prices |
True |
showSalesPrice |
Specities whether the sales price should be displayed |
True |
manufacturerSKU |
String representing the manufacturer SKU |
HBP54221 |
hasExpectedDeliveryDate |
Specifies whether an expected delivery date is set on the product |
False |
expectedDeliveryDate |
Date representing when a product will be in stock again |
2014-07-05T00:00:00 |
expectedDeliveryDateFormatted |
Formatted date representing when a product will be in stock again |
05-07-2014 |
shipmentType |
Integer specifying the available shipment type.
0 = shipping & collect at store
1 = only collect at store
2 = only shipping
3 = virtual |
0 |
isBuyable |
Determines if a product can be bought and hence if the “add to basket” button should be shown |
True |
showAddToBasket |
Specifies whether the “add to basket” button should be shown |
True |
showAddToFavorites |
Determines if the “add to favorites” button should be shown |
False |
addToFavoritesUrl |
The URL for adding the product to the favorites list |
/baction/atf.aspx?pid=1210839&rurl=%2fServices%2fProductService.asmx%2fProductList%3fv%3d1.0%26so%3d3%26cId%3d54%26langId%3d1%26countryId%3d11%26locId%3d14922%26customerId%3d0%26mId%3d40620%26p%3d1%26rp%3d60%26serial%3d07c18a00a9584881a42827364195adf4 |
boundToInventoryCount |
Determines if a product can be sold if the inventory count is equal to or less than zero |
False |
inventoryCount |
Integer - The number of products in the inventory |
23 |
inventoryCountFormatted |
A formatted string representing the number of products in the inventory |
“23” |
grossWeight |
The product gross weight in grams |
12.000 |
grossWeightFormatted |
A formatted string representing the product gross weight in grams |
“12,000” |
stockStatusText |
A text describing the stock status of the product |
|
inStockMessage |
A text to display if the product is in stock |
In stock – ships in 2-3 business days |
notInStockMessage |
A text to display if the product is not in stock |
Not in stock – ships in 8-10 business days |
bundleSize |
The number of products that can be sold separately |
1 |
smallestSalesUnit |
The minimum number of products that can be sold |
1 |
secondaryId |
The secondary product ID |
12312abc |
posId |
Product ID in any POS system |
500012487 |
EAN |
Product EAN |
126749812548 |
unitOfMeasure |
The unit of measure related measuring the amount of products (barrels, containers, pallets) |
Pair |
unitOfMeasureDesc |
A string describing the unit of measure |
Pair (2 pieces) |
manufacturer |
Name of the product manufacturer |
Hugo Boss |
linkURL |
The product link URL |
/pi/Pants_113105_6692.aspx |
linkName |
The text related to the product link |
Hugo Boss pants |
vendor |
String representing the product vendor |
HUGO BOSS STORE |
URLPathAndQuery |
URL to the product detail page |
/pi/Pants_113105_6692.aspx |
items:salesPrices
|
An array containing objects specifying sales prices for the product
|
|
quantity |
The number of products needed to obtain the tag price |
2 |
quantityFormatted |
The formatted string representing the number of products needed to obtain the tag price |
“2” |
salesUnit |
The unit of measure |
3 |
hasBetterPrice |
Specifies whether a better (lower) price exists – e.g. if a sales price with a quantity of 10 gives a lower price than the sales price with a quantity of 1 |
False |
tagPrice |
The price associated with the current quantity |
125.00 OR Empty string (“”) |
tagPriceFormatted |
The formatted string representing the price associated with the current quantity |
“DKK 125,00” OR Empty string (“”) |
tagPriceVATAmount |
The part of the tag price which is taken up by VAT |
25.00 OR Empty string (“”) |
tagPriceVATAmountFormatted |
The formatted string representing the part of the tag price which is taken up by VAT |
“DKK 25,00” OR Empty string (“”) |
tagPriceExcVATAmountFormatted |
The formatted string representing the part of the tag price which is not VAT |
“DKK 100,00” OR Empty string (“”) |
tagPriceExcVATAmount |
The part of the tag price which is not VAT |
100.00 OR Empty string (“”) |
tagPriceIncVATAmountFormatted |
The formatted string representing the tag price including VAT |
“DKK 125,00” |
tagPriceIncVATAmount |
The tag price including VAT |
125.00 OR Empty string (“”) |
totalTagPrice |
Tag price multiplied with quantity |
200.00 OR Empty string (“”) |
totalTagPriceFormatted |
Formatted string representing tag price multiplied with quantity |
“DKK 200,00” |
totalTagPriceVATAmount |
The amount of the total tag price that is VAT |
40.00 OR Empty string (“”) |
totalTagPriceVATAmountFormatted |
A formatted string representing the amount of the total tag price that is VAT |
“DKK 40,00” OR empty string (“”) |
totalTagPriceExcVATAmountFormatted |
A formatted string representing the total tag price excluding VAT |
“DKK 160,00” |
totalTagPriceExcVATAmount |
The total tag price excluding VAT |
160.00 |
totalTagPriceIncVATAmountFormatted |
A formatted string representing the total tag price including VAT |
“DKK 200,00” |
totalTagPriceExcVATAmount |
The total tag price including VAT |
200.00 |
hasPreviousPrice |
Specifies whether a previous tag price is provided |
True |
previousTagPriceFormatted |
The formatted string representing the previous tag price |
“DKK 300,00” OR Empty string (“”) |
previousTagPrice |
The previous tag price |
300.00 OR Empty string (“”) |
hasRecommendedPrice |
Specifies whether a list tag price is provided |
True |
listTagPrice |
The product list price |
400.00 OR Empty string (“”) |
listTagPriceFormatted |
The formatted string representing the product list price |
“DKK 400,00” OR Empty string (“”) |
lineDiscountPercentage |
The discount percentage associated with the product |
10 OR Empty string (“”) |
lineDiscountPercentageFormatted |
The formatted string representing the discount percentage associated with the product |
“10” OR Empty string (“”) |
tagPriceLineDiscountAmount |
The amount in the requested currency corresponding to the discount percentage |
20 OR Empty string (“”) |
tagPriceLineDiscountAmountFormatted |
The formatted string representing the amount in the requested currency corresponding to the discount percentage |
“DKK 20,00” OR Empty string (“”) |
description |
A description of the sales price |
“Get 3 – pay for 2!” |
items:images
|
An array of images
|
|
url |
URL to product images |
/Services/ImageHandler.ashx?imgId=120834&sizeId=4363 OR Empty string (“”) |
frontPageProduct |
Determines if a product is shown on the frontpage |
True |
greatBuy |
Determines if a great buy splash is to be shown on the product |
True |
noveltyProduct |
Determines if a noveltyproduct splash is to be shown on the product |
False |
deprecated |
Determines if a product is deprecated. Deprecated products should not be buyable |
True |
kind |
String – Specifies the object type. |
Product |
items:customFields
|
An array containing all custom fields and custom field values
|
|
costumFieldName |
String representing the value of customFieldName. Note that custumFieldName will be substituted with the name of the custom field (eg. “Product:customFields:colorCode”) |
Black |
isGiftCard |
Boolean - True if the product is a gift card product |
False |
productRelatedLink |
The related link of the product (e.g. a page with additional product information at the manufacturer website) |
http://www.esellercloud.com |
productRelatedLinkText |
The text used to describe the related link |
See a detailed specification at the manufacturer website |
suggestedQuantity |
The suggested quantity of a product in a product collection. For all calls not using the "pcEId" or "pcTag" parameters, the value will be null. |
3 |
Service: ProductVariants
To the top
The "ProductVariants" service returns all product variants of a main variant product.
The table below displays all available parameters for the "ProductVariants" service. The service is located at www.esellercloud.com/Services/ProductService.asmx/ProductVariants?
Parameter |
Name |
Description |
Example |
v |
Version number |
Version number |
v=1.0 |
context |
String |
Is defined by the client and is echoed by the server in the JSON result. Can be used to correlate responses with requests - especially useful in situations where batches of requests are made. |
frontPageProducts |
cId |
Currency ID |
Integer (the internal ID of an active currency) |
cId=232 |
langId |
Language ID |
Integer (the internal ID of an active language) |
langId=2 |
countryId |
Country ID |
Integer (the internal ID of an active country) |
countryId=23 |
locId |
Location ID |
Integer (the internal ID of an active location or empty if location is not used) |
locId=735 |
customerId |
Authorization token |
String identifying authorization for the request. The value is created by the server, and can be retrieved by <eSeller:Select value-of=”context: AuthToken” /> or <eSeller:Select value-of=”context: AuthTokenUrlEncoded” />, which is url encoded and can be used directly in a url. |
customerId=r/PBJU4aAIz+OJ40XGWJnXjFTdjb2123456P2geSqRDk4sEdN8Hasg== |
pId |
Product ID |
Integer – specifies the item number of a product |
pId=1218427 |
pEId |
Product external ID |
String – specifies the external ID of a product |
pEId=1218427 |
pLId |
Product lifetime ID |
String – specifies the lifetime ID of a product |
pLId=1218427 |
imgSizeId |
Image Size ID |
Integer – specifies the product image size for the product list (the Internal ID of an image size) |
imgSizeId=4363 |
include |
Comma-separated list of properties to include in the JSON result (that are otherwise omitted) |
Possible values are:
variantDimensionMap: adds JSON property "variantDimensionMap" to the data segment of the JSON result (also for nested product listings). Contains a mapping of all variant dimensions and variant dimension values for all variants in the result set. |
include=variantDimensionMap |
Example Requests
Get all product variants for a main variant product
/Services/ProductService.asmx/ProductVariants?v=1.0&cId=54&langId=1&countryId=11&locId=13&imgSizeId=0&pId=113381
- Get all variants of the product with ID 113381 (a main variant product).
Response
Below you see all fields provided in the JSON response
Field |
Description |
Example |
apiVersion |
String – API version number – similar to VERSIONNUMBER in path |
1.0 |
id |
Integer – a unique number that allows a request to be tied to a log entry. All log entries related to JSON services MUST contain the id |
12345 |
context |
String - Echoes the context sent by the client |
frontPageProducts |
servedBy |
Name of the active server. Used for testing purposes - identifying which server is serving the content. |
"servedBy": "ESLWEB305" |
data
|
Object – Object containing data
|
|
kind |
String – Specifies the object type. In the data object the kind will be products (in plural) |
Products |
updated |
Datetime of when a fresh (non-cached) version of the response was retrieved from the server |
2015-10-02T13:13:53.1388591+00:00 |
lang |
String- BCP 47 formatted language specification. Lang will always reflect the requested language |
En |
totalVariants |
Total number of product variants in the current response. (Note: only applicable to ProductVariants requests) |
12 |
productId |
The ID of the product for which variant products are retrieved. |
221002 |
variantDimensions |
An array of variant dimensions for the product |
"color","size" |
items
|
Array of Product objects
|
|
extVariantId |
The external variant ID - otherwise null |
112455 or null |
eSellerId |
The internal eSeller cloud product ID |
243534 |
id |
The product id |
242P233 |
name |
Product name |
Ball bearings |
variantId |
If 0, the product is not a variant - otherwise this is the variant ID |
213344 |
variantValues |
An ordered array of variant values - otherwise null |
"Red", "40", "Cotton" or null |
showProductId |
Determines if the if the eSeller Cloud internal product ID should be shown |
True |
showProductEAN |
Determines if the product EAN should be shown |
True |
showProductManufacturereSKU |
Determines if the product manufacturer SKU should be shown |
True |
showExtProductId |
Determines if the external product ID should be shown |
True |
showAltExtProductID |
Determines if the alternate product ID should be shown |
True |
hasVariants |
Specifies whether a product has variants. Implies that the current product is a variant master |
True |
isVariant |
Determines if a product is a subvariant |
True |
hasSalesPrice |
Specifies whether the product has one or more sales prices |
True |
showSalesPrice |
Specities whether the sales price should be displayed |
True |
manufacturerSKU |
String representing the manufacturer SKU |
HBP54221 |
hasExpectedDeliveryDate |
Specifies whether an expected delivery date is set on the product |
False |
expectedDeliveryDate |
Date representing when a product will be in stock again |
2014-07-05T00:00:00 |
expectedDeliveryDateFormatted |
Formatted date representing when a product will be in stock again |
05-07-2014 |
shipmentType |
Integer specifying the available shipment type.
0 = shipping & collect at store
1 = only collect at store
2 = only shipping
3 = virtual |
0 |
isBuyable |
Determines if a product can be bought and hence if the “add to basket” button should be shown |
True |
showAddToBasket |
Specifies whether the “add to basket” button should be shown |
True |
showAddToFavorites |
Determines if the “add to favorites” button should be shown |
False |
addToFavoritesUrl |
The URL for adding the product to the favorites list |
/baction/atf.aspx?pid=1210839&rurl=%2fServices%2fProductService.asmx%2fProductList%3fv%3d1.0%26so%3d3%26cId%3d54%26langId%3d1%26countryId%3d11%26locId%3d14922%26customerId%3d0%26mId%3d40620%26p%3d1%26rp%3d60%26serial%3d07c18a00a9584881a42827364195adf4 |
boundToInventoryCount |
Determines if a product can be sold if the inventory count is equal to or less than zero |
False |
inventoryCount |
Integer - The number of products in the inventory |
23 |
inventoryCountFormatted |
A formatted string representing the number of products in the inventory |
“23” |
grossWeight |
The product gross weight in grams |
12.000 |
grossWeightFormatted |
A formatted string representing the product gross weight in grams |
“12,000” |
stockStatusText |
A text describing the stock status of the product |
|
inStockMessage |
A text to display if the product is in stock |
In stock – ships in 2-3 business days |
notInStockMessage |
A text to display if the product is not in stock |
Not in stock – ships in 8-10 business days |
bundleSize |
The number of products that can be sold separately |
1 |
smallestSalesUnit |
The minimum number of products that can be sold |
1 |
secondaryId |
The secondary product ID |
12312abc |
posId |
Product ID in any POS system |
500012487 |
EAN |
Product EAN |
126749812548 |
unitOfMeasure |
The unit of measure related measuring the amount of products (barrels, containers, pallets) |
Pair |
unitOfMeasureDesc |
A string describing the unit of measure |
Pair (2 pieces) |
manufacturer |
Name of the product manufacturer |
Hugo Boss |
linkURL |
The product link URL |
/pi/Pants_113105_6692.aspx |
linkName |
The text related to the product link |
Hugo Boss pants |
vendor |
String representing the product vendor |
HUGO BOSS STORE |
URLPathAndQuery |
URL to the product detail page |
/pi/Pants_113105_6692.aspx |
items:salesPrices
|
An array containing objects specifying sales prices for the product
|
|
quantity |
The number of products needed to obtain the tag price |
2 |
quantityFormatted |
The formatted string representing the number of products needed to obtain the tag price |
“2” |
salesUnit |
The unit of measure |
3 |
hasBetterPrice |
Specifies whether a better (lower) price exists – e.g. if a sales price with a quantity of 10 gives a lower price than the sales price with a quantity of 1 |
False |
tagPrice |
The price associated with the current quantity |
125.00 OR Empty string (“”) |
tagPriceFormatted |
The formatted string representing the price associated with the current quantity |
“DKK 125,00” OR Empty string (“”) |
tagPriceVATAmount |
The part of the tag price which is taken up by VAT |
25.00 OR Empty string (“”) |
tagPriceVATAmountFormatted |
The formatted string representing the part of the tag price which is taken up by VAT |
“DKK 25,00” OR Empty string (“”) |
tagPriceExcVATAmountFormatted |
The formatted string representing the part of the tag price which is not VAT |
“DKK 100,00” OR Empty string (“”) |
tagPriceExcVATAmount |
The part of the tag price which is not VAT |
100.00 OR Empty string (“”) |
tagPriceIncVATAmountFormatted |
The formatted string representing the tag price including VAT |
“DKK 125,00” |
tagPriceIncVATAmount |
The tag price including VAT |
125.00 OR Empty string (“”) |
totalTagPrice |
Tag price multiplied with quantity |
200.00 OR Empty string (“”) |
totalTagPriceFormatted |
Formatted string representing tag price multiplied with quantity |
“DKK 200,00” |
totalTagPriceVATAmount |
The amount of the total tag price that is VAT |
40.00 OR Empty string (“”) |
totalTagPriceVATAmountFormatted |
A formatted string representing the amount of the total tag price that is VAT |
“DKK 40,00” OR empty string (“”) |
totalTagPriceExcVATAmountFormatted |
A formatted string representing the total tag price excluding VAT |
“DKK 160,00” |
totalTagPriceExcVATAmount |
The total tag price excluding VAT |
160.00 |
totalTagPriceIncVATAmountFormatted |
A formatted string representing the total tag price including VAT |
“DKK 200,00” |
totalTagPriceExcVATAmount |
The total tag price including VAT |
200.00 |
hasPreviousPrice |
Specifies whether a previous tag price is provided |
True |
previousTagPriceFormatted |
The formatted string representing the previous tag price |
“DKK 300,00” OR Empty string (“”) |
previousTagPrice |
The previous tag price |
300.00 OR Empty string (“”) |
hasRecommendedPrice |
Specifies whether a list tag price is provided |
True |
listTagPrice |
The product list price |
400.00 OR Empty string (“”) |
listTagPriceFormatted |
The formatted string representing the product list price |
“DKK 400,00” OR Empty string (“”) |
lineDiscountPercentage |
The discount percentage associated with the product |
10 OR Empty string (“”) |
lineDiscountPercentageFormatted |
The formatted string representing the discount percentage associated with the product |
“10” OR Empty string (“”) |
tagPriceLineDiscountAmount |
The amount in the requested currency corresponding to the discount percentage |
20 OR Empty string (“”) |
tagPriceLineDiscountAmountFormatted |
The formatted string representing the amount in the requested currency corresponding to the discount percentage |
“DKK 20,00” OR Empty string (“”) |
description |
A description of the sales price |
“Get 3 – pay for 2!” |
items:images
|
An array of images
|
|
url |
URL to product images |
/Services/ImageHandler.ashx?imgId=120834&sizeId=4363 OR Empty string (“”) |
frontPageProduct |
Determines if a product is shown on the frontpage |
True |
greatBuy |
Determines if a great buy splash is to be shown on the product |
True |
noveltyProduct |
Determines if a noveltyproduct splash is to be shown on the product |
False |
deprecated |
Determines if a product is deprecated. Deprecated products should not be buyable |
True |
kind |
String – Specifies the object type. |
Product |
items:customFields
|
An array containing all custom fields and custom field values
|
|
costumFieldName |
String representing the value of customFieldName. Note that custumFieldName will be substituted with the name of the custom field (eg. “Product:customFields:colorCode”) - product variants inherit custom fields from the main variant product. |
Black |
isGiftCard |
Boolean - True if the product is a gift card product |
False |
productRelatedLink |
The related link of the product (e.g. a page with additional product information at the manufacturer website) |
http://www.esellercloud.com |
productRelatedLinkText |
The text used to describe the related link |
See a detailed specification at the manufacturer website |
suggestedQuantity |
The suggested quantity of a product in a product collection. For all calls not using the "pcEId" or "pcTag" parameters, the value will be null. |
3 |
ImageHandler
To the top
The ImageHandler is a service that is able to provide productImages. The ImageHandler Service is referenced from the output of the JSON product list.
ImageHandler returns a product image encoded with mime type: image/jpeg if the provided imageid is found, otherwise a 404 page is shown.
The ImageHandler requires two case sensitive parameters: imgId and sizeId
imgId is an internal image id as provided by the json service
sizeId is the internal image size id
Possible image size ids can be found in the shop administration under Home >> Design >> Overall design >> Image Sizes.
The image size id can be found by hovering the mouse over one of the image sizes and making note of the parameter “isid” which is equivalent of the sizeId
Any other parameters added to the ImageHandler url will negatively affect the load speed and will be discarded by the CDN
SEO considerations when using the JSON product list
To the top
Previously, webcrawlers such as Googlebot, did not render javascript generated pages. This meant that it was necessary to use a special method to allow those crawlers to index the pages. This method, named _escaped_fragment_, has however been deprecated by recent advances in the abilities of crawlers. It is no longer necessary to take any special precautions to allow crawlers to index JSON based product list.
Shops that are using the _escaped_fragment_ method can continue to do so without any detrimental effect on ranking and indexing whereas new shops could and should omit implementation of the escaped fragment standard.
Performance considerations when using the JSON product list
eSeller Cloud uses extensive caching to ensure great performance when getting product lists, but naturally the number of products returned by the service has great influence on how well it performs in terms of response times.
We recommend being very observant of the number of products one tries to get using the service and do not recommend anyone attempting to get lists containing more than 5000 products, as performance may suffer.
Adding the JSON product list to a shop
To the top
If your webshop already has a product list, you can simply change the control that renders the product list. To do so, go to Design > Overall design > Other content design (in drop-down selector) and select the content design for your product list.
Go to the Definition tab and locate the product list control (the control with ControlType “ProductList”):
<eSeller:Control ControlType="ProductList" Controlid="ProductList" IsMainProductlist="True" />
Change the control to the following:
<eSeller:Control ControlType="JsonProductList" Controlid="JsonProductList" IsMainProductlist="True" TestMode="False" />
- which is the control rendering the JSON product list. If TestMode is set to “True”, the JSON result will be rendered as plain text in the content element. This mode is only suitable for testing – the script generating the plain text rendering (jsonProductList.js) should not be used for anything but testing. When TestMode is set to “False” all logic responsible for retrieving and displaying information must be provided by the designer.
Re-saving product sorting elements and product filters
The JSON product list works with product sorting elements and product filters, however it might be necessary to update the elements by re-saving them in the shop administration – note that this only applies to shops using product sorting and/or product filtering.
Re-save product filters by navigating to Stock > Product Filtering and click the “Manage product filtering menu” button – click “Save”.
Re-save the product sorting element by navigating to Stock > Product Sorting and click the “Manage product sorting element” button – click “Save”.