Products
Retrieve and add products
Requests
Type |
Call |
Description |
GET |
/api/v2/products |
Retrieves a range of products. |
By default the product is retrieved in the default language as setup in the store. To retrieve the product in a different language, please set the 'Accept-Language' header or add the parameter 'acceptLanguageId={languageId}' to the url.
It's also possible to make use for filters. Example: /api/v2/products?filter[search]=ean:12345
- only_main_products: retourneer artikelen zonder de bijbehorende artikelopties
- categoryId: retourneer alleen artikelen alleen als ze in de opgegeven categorie staan
- recursiveCategories: indien true, dan wordt bij het gebruik van category_id ook in onderliggende categorieen gekeken.
- stockFrom: alleen producten vanaf de opgegeven voorraad
- stockTo: alleen producten tot en met de opgegeven voorraad
- manufacturerId: alleen producten met de opgegeven manufacturer
- search: alleen producten met de opgegeven ean (?filter[search]=ean:{ean}), sku (?filter[search]=sku:{sku}) of wildcard (?filter[search]=*t?st*)
- limit: toon maximaal {limit} artikelen
- offset: toon artikelen vanaf deze index
|
GET |
/api/v2/products/{productId|Sku} |
Retrieves a specific product |
POST |
/api/v2/products |
Voegt een nieuw product toe |
PHP Examples
Endpoint
GET /api/v2/products
<?php
$strApiBaseUrl = 'uwdomein.uwdomeinextentie'; // base URL
$productId = '50'; // order id - E.g. '50'
$token = '8f00f89310945a0ca35666c8c9ced2e314e37aa6c32e900932e19902b42208767'; // your API token
$strUrl = 'http://'.$strApiBaseUrl.'/api/v2/products/'.$productId.'?token='.$token;
$objCurl = curl_init();
curl_setopt($objCurl, CURLOPT_URL, $strUrl);
curl_setopt($objCurl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($objCurl, CURLOPT_TIMEOUT, 60);
curl_setopt($objCurl, CURLOPT_USERAGENT, 'Shoptrader');\
curl_setopt($objCurl, CURLOPT_HTTPHEADER, array("Accept-Language: nl"));
// execute cURL
$responseCurl = curl_exec($objCurl);
if ($responseCurl === FALSE) {
echo "cURL Error: ".curl_error($objCurl);
} else {
print_r($responseCurl); // the successful response contains a JSON as shown below
}
?>
Show response
Hide response
Success response (JSON)
Array
(
[numRows] => 24
[numPages] => 24
[pageNumber] => 0
[startIndex] => 0
[endIndex] => 1
[totalValue] => 110.0000
[totalPurchaseValue] => 110.0000
[totalMargin] => 0.0000
[totalQuantity] => 30
[totalPhysicalQuantity] => 74
[totalMinimumQuantity] => 74
[lowestPrice] => 0.0000
[highestPrice] => 9.0000
[data] => Array
(
[0] => Array
(
[uprid] => 1472
[productId] => 1472
[stockId] => -1
[referenceId] => 0
[isBundle] => 0
[bundledProducts] => Array
(
)
[status] => 1
[quantity] => 2
[ean] =>
[sku] =>
[model] => whisky-29871
[name] => Aberlour 12 Years Double Cask Matured 70CL
[price] => 33.0496
[taxClassId] => 3
[taxRate] => 21.0000
[url] => whisky/single-malt/whisky-2
[urlAbs] => http://xx.monza.shoptrader.com/whisky/single-malt/whisky-2
[attributesString] =>
[backOrder] => 0
[onHome] => 0
[layover] => 0
[configurationAllowCheckout] => 0
[configurationStockCheck] => 0
[dateAdded] => 2014-07-02 00:00:00
[lastModified] => 2018-06-26 11:07:26
[attributes] => Array
(
)
[description] =>
Lorem Ipsum is slechts een proeftekst uit het drukkerij- en zetterijwezen. Lorem Ipsum is de standaard proeftekst in deze bedrijfstak sinds de 16e eeuw, toen een onbekende drukker een zethaak met letters nam en ze door elkaar husselde om een font-catalogus te maken. Het heeft niet alleen vijf eeuwen overleefd maar is ook, vrijwel onveranderd, overgenomen in elektronische letterzetting. Het is in de jaren '60 populair geworden met de introductie van Letraset vellen met Lorem Ipsum passages en meer recentelijk door desktop publishing software zoals Aldus PageMaker die versies van Lorem Ipsum bevatten.
Lorem Ipsum is slechts een proeftekst uit het drukkerij- en zetterijwezen. Lorem Ipsum is de standaard proeftekst in deze bedrijfstak sinds de 16e eeuw, toen een onbekende drukker een zethaak met letters nam en ze door elkaar husselde om een font-catalogus te maken. Het heeft niet alleen vijf eeuwen overleefd maar is ook, vrijwel onveranderd, overgenomen in elektronische letterzetting. Het is in de jaren '60 populair geworden met de introductie van Letraset vellen met Lorem Ipsum passages en meer recentelijk door desktop publishing software zoals Aldus PageMaker die versies van Lorem Ipsum bevatten.
[descriptions] => Array
(
[description] =>
Lorem Ipsum is slechts een proeftekst uit het drukkerij- en zetterijwezen. Lorem Ipsum is de standaard proeftekst in deze bedrijfstak sinds de 16e eeuw, toen een onbekende drukker een zethaak met letters nam en ze door elkaar husselde om een font-catalogus te maken. Het heeft niet alleen vijf eeuwen overleefd maar is ook, vrijwel onveranderd, overgenomen in elektronische letterzetting. Het is in de jaren '60 populair geworden met de introductie van Letraset vellen met Lorem Ipsum passages en meer recentelijk door desktop publishing software zoals Aldus PageMaker die versies van Lorem Ipsum bevatten.
Lorem Ipsum is slechts een proeftekst uit het drukkerij- en zetterijwezen. Lorem Ipsum is de standaard proeftekst in deze bedrijfstak sinds de 16e eeuw, toen een onbekende drukker een zethaak met letters nam en ze door elkaar husselde om een font-catalogus te maken. Het heeft niet alleen vijf eeuwen overleefd maar is ook, vrijwel onveranderd, overgenomen in elektronische letterzetting. Het is in de jaren '60 populair geworden met de introductie van Letraset vellen met Lorem Ipsum passages en meer recentelijk door desktop publishing software zoals Aldus PageMaker die versies van Lorem Ipsum bevatten.
[extra] =>
Lorem Ipsum is slechts een proeftekst uit het drukkerij- en zetterijwezen. Lorem Ipsum is de standaard proeftekst in deze bedrijfstak sinds de 16e eeuw, toen een onbekende drukker een zethaak met letters nam en ze door elkaar husselde om een font-catalogus te maken. Het heeft niet alleen vijf eeuwen overleefd maar is ook, vrijwel onveranderd, overgenomen in elektronische letterzetting. Het is in de jaren '60 populair geworden met de introductie van Letraset vellen met Lorem Ipsum passages en meer recentelijk door desktop publishing software zoals Aldus PageMaker die versies van Lorem Ipsum bevatten.
[intro] =>
Deze malt whisky is gerijpt in bourbon en traditionele vaten. Zodra de ideale rijpingsleeftijd is bereikt worden de 2 vaten samengevoegd (marriage). Zo ontstaat er een krachtige, zoete whisky met in de smaak vanille, sherry en chocolade.
)
[images] => Array
(
[0] => ../images/productimages/smaller/2a.jpg
[1] => ../images/productimages/smaller/2b.jpg
[2] => ../images/placeholders/image_missing_vierkant.png
[3] => ../images/placeholders/image_missing_vierkant.png
[4] => ../images/placeholders/image_missing_vierkant.png
[5] => ../images/placeholders/image_missing_vierkant.png
[6] => ../images/placeholders/image_missing_vierkant.png
[7] => ../images/placeholders/image_missing_vierkant.png
[8] => ../images/placeholders/image_missing_vierkant.png
[9] => ../images/placeholders/image_missing_vierkant.png
[10] => ../images/placeholders/image_missing_vierkant.png
[11] => ../images/placeholders/image_missing_vierkant.png
)
[discounts] => Array
(
[groupDiscount] => 0.00
[groupDiscountCategory] => 0.00
[groupDiscountProduct] => 0.00
)
[category] => Array
(
[id] => 70
[name] => Single malt
[categoryIds] => 70
[cPath] => 62_70
)
[quantities] => Array
(
[quantity] => 2
[physicalQuantity] => 0
[minimumQuantity] => 1
[quantityStep] => 1
[trackQuantity] => 1
)
[prices] => Array
(
[basePrice] => 41.3140
[normalPrice] => 41.3140
[price] => 33.0496
[specialPrice] => 33.0496
[purchasePrice] => 30.0000
)
[manufacturer] => Array
(
[id] => 14
[name] => Aberlour
)
[dimensions] => Array
(
[type] => 0
[width] => 0.00
[height] => 0.00
[area] => 0.00
[weight] => 0.00
)
[reviews] => Array
(
[count] => 0
[avg] => 0
)
[addons] => Array
(
[multicatalog] => Array
(
[enabled] => 1
)
)
)
)
)
Endpoint
POST /api/v2/products
model string |
The article number |
sku string |
The SKU code |
ean string |
The EAN code |
name string |
The product name |
quantity string |
The available stock |
categoryId integer |
The category where the article is placed |
price float |
The price excluding VAT |
purchasePrice float |
The purchase price excluding BTW |
status integer |
0 = offline, 1 = online |
taxRate integer |
The value for the BTW percentage that is used (E.g. "21") |
image string |
The name of a product image. This image must already be present on the shop |
imageAlt string |
The description for the product image shown when the image is not available |
<?php
$strApiBaseUrl = 'uwdomein.uwdomeinextentie'; // base URL
$token = '8f00f89310945a0ca35666c8c9ced2e314e37aa6c32e900932e19902b42208767'; // your API token
$strUrl = 'http://'.$strApiBaseUrl.'/api/v2/products?token='.$token;
$parameters = array(
"model" => "1234567",
"sku" => "SKU1234567",
"ean" => "80015354685487654554",
"name" => "NewProduct",
"quantity" => "30",
"categoryId" => "79",
"price" => "15.50",
"purchasePrice" => "11.00",
"status" => 1,
"taxRateVal" => 21,
"image" =>"",
"imageAlt" =>"image"
);
$objCurl = curl_init();
curl_setopt($objCurl, CURLOPT_URL, $strUrl);
curl_setopt($objCurl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($objCurl, CURLOPT_TIMEOUT, 60);
curl_setopt($objCurl, CURLOPT_USERAGENT, 'Shoptrader');
curl_setopt($objCurl, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($objCurl, CURLOPT_POSTFIELDS, json_encode($parameters));
curl_setopt($objCurl, CURLOPT_HTTPHEADER, array("Content-Type: application/json", "Accept-Language: nl"));
// execute cURL
$responseCurl = curl_exec($objCurl);
if ($responseCurl === FALSE) {
echo "cURL Error: ".curl_error($objCurl);
} else {
print_r($responseCurl); // the successful response contains a JSON as shown below
}
?>
Show response
Hide response
Success response (JSON)
{
"uprid": "58",
"productId": "58",
"stockId": "-1",
"referenceId": "0",
"isBundle": "0",
"status": "1",
"quantity": "30",
"ean": "80015354685487654554",
"sku": "SKU1234567",
"model": "1234567",
"name": "NewProduct",
"basePrice": "15.5000",
"price": "15.5000000000",
"purchasePrice": "11.0000",
"taxClassId": "3",
"taxRate": "21.0000",
"isPhysical": "1",
"isDigital": "0",
"isQuotation": "0",
"attributesString": "",
"freeAbove": "0",
"freeAboveOrderValue": "0.0",
"availableFrom": "0000-00-00 00:00:00",
"availableTo": "0000-00-00 00:00:00",
"dateAdded": "2019-02-01 15:54:34",
"lastModified": "2019-02-01 15:54:34",
"category": {
"id": "79",
"name": "Blush",
"categoryIds": "79",
"cPath": "76_79"
},
"quantities": {
"quantity": "30",
"physicalQuantity": "0",
"minimumQuantity": "0",
"quantityStep": "1",
"trackQuantity": "1"
},
"dimensions": {
"type": "0",
"width": "0.0000",
"height": "0.0000",
"area": "0.00000000",
"weight": "0.00"
},
"discounts": {
"name": "",
"groupDiscount": "0.00",
"groupDiscountCategory": "0.00",
"groupDiscountProduct": "0.00"
},
"manufacturer": {
"id": 0,
"name": ""
}
}