TS Commerce Developers

Products API

Current version: v1.1

Products list

Get a list of all your items

GET
/products/list.json
nodes (string) Additional fields can be required on the fly passing via get "nodes" url parameter.
Available fields: title, image_id, ean, mpn, create_at, update_at, weight, dimension, description, categoryUID , brandUID , categories_name , brand_name , update_at, unlimited, tags.
Multiples accepted using comma separation.
brandUID optional (int) Filter products for a specified brandUID, can be combined with categoryUID param
categoryUID option (int) Filter products for a specified categoryUID, can be combined with brandUID param
Products list Request

$storeden = new Storeden\Storeden($config);
$products_list = $storeden->get('/products/list.json');
					
Products list Response

[
    {
        "code": "a58",
        "price": 173,
        "final_price": 173,
        "status": 1,
        "uid": 49532
    },
    ...
    {
        "code": "135424",
        "price": 6.66,
        "final_price": 6.66,
        "status": 1,
        "uid": 49558
    },
    ...
]
					

Products list, paginated

Get a list of all your items, paginated

GET
/products/paginated_list.json
page (int) Page you want to fetch
limit (int) How many records to return
nodes (string) Additional fields can be required on the fly passing via get "nodes" url parameter.
Available fields: title, image_id, ean, mpn, update_at, weight, dimension, description, categoryUID , brandUID , categories_name , brand_name ,create_at,update_at, filters , attributes , usevariants , variants , vars , gallery*, update_at, unlimited, tags, minimum_purchase, step_minimum_purchase, maximum_purchase,
Multiples accepted using comma separation.
brandUID optional (int) Filter products for a specified brandUID, can be combined with categoryUID param
categoryUID option (int) Filter products for a specified categoryUID, can be combined with brandUID param
Products list Request

$storeden = new Storeden\Storeden($config);
$products_list = $storeden->get('/products/paginated_list.json?limit=50');
					
Products paginated list Response

{
    "total_pages": 9,
    "products_per_page": 50,
    "total_items": 419,
    "current_page_number": 2,
    "current_page": "https://connect.storeden.com/v1.1/products/paginated_list.json?page=2&limit=50",
    "next_page": "https://connect.storeden.com/v1.1/products/paginated_list.json?page=3&limit=50",
    "products": [
	    {
	        "code": "a58",
	        "price": 173,
	        "final_price": 173,
	        "status": 1,
	        "uid": 49532
	    },
	    ...
	    {
	        "code": "135424",
	        "price": 6.66,
	        "final_price": 6.66,
	        "status": 1,
	        "uid": 49558
	    },
	    ...
	]
}
					

Get product details

List a full featured fieldset of one product

GET
/products/product.json?uid={product-uid}
uid required (int) Unique id of your product
Get product details Request

$storeden = new Storeden\Storeden($config);
$product_details = $storeden->get('/products/product.json?uid=49558');
					
Get product details Response

{
    "attributes": [],
    "brandUID": 49232,
    "categoryUID": [ //
        49557        // Legacy name, use categories instead
    ],               //
    "categories": [
        49557
    ],
    "code": "135424", // legacy name, check against sku instead
    "sku": "135424",
    "data": {
        "ean13": "",
        "ean8": "",
        "isbn": "",
        "issn": "",
        "unlimited": false
    },
    "description": "Product Description",
    "dimension": {
        "w": "0",
        "h": "10",
        "z": "0"
    },
    "price": 6.66,
    "final_price": 6.66,
    "highview": 0,
    "parameters": [],
    "seo": {
        "title": "Product SEO Title",
        "keywords": "product, seo, keywords",
        "description": "Product SEO Description"
    },
    "shipping_cost": 0,
    "slug": "api-product-test-custom-friendly-url",
    "status": 1,
    "stockCount": 100, // legacy name, use stock_count instead,
    "stock_count": 100,
    "tags": [],
    "taxable": 0,
    "taxprofile": "52dd3382be85f18660000000", // legacy name, usa tax_profile instead,
	"tax_profile": "52dd3382be85f18660000000",
    "title": "Api Product Test",
    "uid": 49558,
    "updateDate": {
        "sec": 1396856023,
        "usec": 608000
    },
    "usevariants": 0,
    "weight": 0,
    "image_id": "52dd3382be85f186600000fef"
}
					

Get product details by SKU

List a full featured fieldset of one product

GET
/products/productBySku.json?sku={product.sku}
sku required (string) Unique sku of your product. Can be master product SKU or a variant specific SKU
Get product details By SKU Request

$storeden = new Storeden\Storeden($config);
$product_details = $storeden->get('/products/productBySku.json?sku=135424');
					
Get product details By SKU Response

{
    "attributes": [],
    "brandUID": 49232,
    "categoryUID": [ //
        49557        // Legacy name, use categories instead
    ],               //
    "categories": [
        49557
    ],
    "code": "135424", // legacy name, check against sku instead
    "sku": "135424",
    "data": {
        "ean13": "",
        "ean8": "",
        "isbn": "",
        "issn": "",
        "unlimited": false
    },
    "description": "Product Description",
    "dimension": {
        "w": "0",
        "h": "10",
        "z": "0"
    },
    "price": 6.66,
    "final_price": 6.66,
    "highview": 0,
    "parameters": [],
    "seo": {
        "title": "Product SEO Title",
        "keywords": "product, seo, keywords",
        "description": "Product SEO Description"
    },
    "shipping_cost": 0,
    "slug": "api-product-test-custom-friendly-url",
    "status": 1,
    "stockCount": 100, // legacy name, use stock_count instead,
    "stock_count": 100,
    "tags": [],
    "taxable": 0,
    "taxprofile": "52dd3382be85f18660000000", // legacy name, usa tax_profile instead,
	"tax_profile": "52dd3382be85f18660000000",
    "title": "Api Product Test",
    "uid": 49558,
    "updateDate": {
        "sec": 1396856023,
        "usec": 608000
    },
    "usevariants": 0,
    "weight": 0,
    "image_id": "52dd3382be85f186600000fef"
}
					

Get product details by GTIN

List a full featured fieldset of one product

GET
/products/productByGtin.json?gtin={ean13}
gtin required (string) Unique gtin of your product. Can be master product GTIN or a variant specific GTIN
Get product details By Gtin Request

$storeden = new Storeden\Storeden($config);
$product_details = $storeden->get('/products/productByGtin.json?gtin=401234567890');
					
Get product details By Gtin Response

{
    "attributes": [],
    "brandUID": 49232,
    "categoryUID": [ //
        49557        // Legacy name, use categories instead
    ],               //
    "categories": [
        49557
    ],
    "code": "135424", // legacy name, check against sku instead
    "sku": "135424",
    "data": {
        "ean13": "401234567890",
        "ean8": "",
        "isbn": "",
        "issn": "",
        "unlimited": false
    },
    "description": "Product Description",
    "dimension": {
        "w": "0",
        "h": "10",
        "z": "0"
    },
    "price": 6.66,
    "final_price": 6.66,
    "highview": 0,
    "parameters": [],
    "seo": {
        "title": "Product SEO Title",
        "keywords": "product, seo, keywords",
        "description": "Product SEO Description"
    },
    "shipping_cost": 0,
    "slug": "api-product-test-custom-friendly-url",
    "status": 1,
    "stockCount": 100, // legacy name, use stock_count instead,
    "stock_count": 100,
    "tags": [],
    "taxable": 0,
    "taxprofile": "52dd3382be85f18660000000", // legacy name, usa tax_profile instead,
	"tax_profile": "52dd3382be85f18660000000",
    "title": "Api Product Test",
    "uid": 49558,
    "updateDate": {
        "sec": 1396856023,
        "usec": 608000
    },
    "usevariants": 0,
    "weight": 0,
    "image_id": "52dd3382be85f186600000fef"
}
					

Get product images list

GET
/products/image.json?uid={product-uid}
uid required (int) Unique id of your product
Get product images list Request

$storeden = new Storeden\Storeden($config);
$result = $storeden->get('/products/image.json?uid=114550');
					
Get product images list Response

{
    "product": {
        "uid": 114550
    },
    "images": [
        {
            "image_id": "569f4c0b16f46a366c8b4569",
            "thumbnail": "https://static-cdn.storeden.com/secache/569f4c0b16f46a366c8b4569",
            "original": "https://tcdn.storeden.com/gallery/569f4c0b16f46a366c8b4569"
        }
    ]
}
					

Remove product

DELETE
/products/product.json
uid required (int) Unique id of your product
Remove product Request

$storeden = new Storeden\Storeden($config);
$response = $storeden->delete('/products/product.json', ['uid' => 114550]);
					
Remove product Response

{
	"ok": 1,
	"err": null
}
					

Add product

Add a new product to your catalog

POST
/products/product.json
sku required (string) Unique product identifier.
If a product with the same sku is found, an error will be triggered.
title required (string)
description required (string)
tax_profile required (StoredenID)
price required (real) Listing product price, must be higher than 0.
final_price (real) Selling product price. If empty or not higher than 0, "price" field will be used instead.
Product final price must be higher than original price.
brandUID (int) UID of existing brand
categories (array)[int] List of existing categories UID
stock_count required (int) Available product quantity.
package_width (real)
package_height (real)
package_length (real)
weight (real)
shipping_cost (int) Set to -1 to indicate free shipping for this item.
Set to 0 or leave empty otherwise.
data (associative array)
data[ean13]
data[mpn]
data[unlimitedsell]
data[minQuantity]
data[maxQuantity]
data[steps]
Extra product information:


EAN13: string of a valid EAN number
MPN: string of item MPN
unlimitedsell: 1/0
minQuantity: (int) minimum items buyable
maxQuantity: (int) maximum items buyable
steps: (int) items after the minimum number of items buyable
tags (string) String of tags, without whitespaces, separated by commas
Eg: "tag1,tag2,tag3"
seo (associative array) SEO meta data for store main language
"seo": {
    "title": "Product SEO Title",
    "keywords": "product, seo, keywords",
    "description": "Product SEO Description"
}
seo_lang (associative array) SEO meta data for additional languages
"seo": {
    "en_US": {
      "title": "Product SEO Title",
      "keywords": "product, seo, keywords",
      "description": "Product SEO Description"
  }
.... }
additional_tabs (associative array) Additional descriptions, from 0 to 4
"additional_tabs": {
    0: "Text of additinal tab 0",
    1: "Text of additinal tab 1",
    2: "Text of additinal tab 2",
    3: "Text of additinal tab 3",
    4: "Text of additinal tab 4"
}
status (int) Nov 7th, 2019 Default is "1" ( Product visible). You can send "0" (product not visible).
Add product Request

$payload = array();
$payload['sku'] = 'PRODUCT_SKU';
$payload['title'] = 'Product title';
$payload['description'] = 'Product description...';
$payload['tax_profile'] = '52dd3382be85f18660000000';
$payload['price'] = 10;
$payload['final_price'] = 8.5;
// ...

$storeden = new Storeden\Storeden($config);
$response = $storeden->post('/products/product.json', $payload);
					
Add product Response

{
    "product_uid": 114557,
    "urls": {
        "manage": "https://132-backoffice.storeden.com/products/edit/114557"
    },
    "next": {
        "image": {
            "method": "POST",
            "endpoint": "https://connect.storeden.com/v1.1/products/image.json"
        }
    }
}
					

Update product data

Note: if the product has variants, it is also necessary to execute the update call of variants otherwise the product will have the variants disabled.

PUT
/products/product.json
uid required (int) Unique id of product to update
title required (string)
description required (string)
categories (array)[int] List of existing categories uid
tax_profile required (StoredenID)
price required (float) Listing product price, must be higher than 0.
final_price (float) Selling product price. If empty or not higher than 0, "price" field will be used instead.
Product final price must be higher than original price.
sku required (string) Unique product identifier.
stock_count required (int) Available product quantity.
brandUID (int) Unique identifier of existing brand.
package_width (float)
package_height (float)
package_length (float)
weight (float)
facebook (int) Enable (1) or disable (0) Facebook selling.
shipping_cost (int) Set to -1 to indicate free shipping for this item.
Set to 0 or leave empty otherwise.
data (associative array)
data[ean13]
data[mpn]
data[unlimitedsell]
data[minQuantity]
data[maxQuantity]
data[steps]
Extra product information:


EAN13: string of a valid EAN number
MPN: string of item MPN
unlimitedsell: 1/0
minQuantity: (int) minimum items buyable
maxQuantity: (int) maximum items buyable
steps: (int) items after the minimum number of items buyable
* If you pass just one element in "data", please be aware that this "data" container will be completely overwritten.
tags (string) String of tags, without whitespaces, separated by commas
Eg: "tag1,tag2,tag3"
filters (associative array) Feb 9th, 2021 Associative array of existing product filters
filters[filterkey]=filtervalue
filters[filterkey1]=filtervalue1
seo (associative array)
seo[title]
seo[description]
seo[keywords]
SEO meta data for store main language
"seo": {
    "title": "Product SEO Title",
    "keywords": "product, seo, keywords",
    "description": "Product SEO Description"
}
seo_lang (associative array)
seo_lang[lng][title]
seo_lang[lng][keywords]
seo_lang[lng][description]
SEO meta data for additional languages
"seo": {
    "en_US": {
      "title": "Product SEO Title",
      "keywords": "product, seo, keywords",
      "description": "Product SEO Description"
  }
.... }
additional_tabs (associative array)
additional_tabs[0]
additional_tabs[1]
additional_tabs[2]
additional_tabs[3]
additional_tabs[4]
Additional descriptions, from 0 to 4
"additional_tabs": {
    0: "Text of additinal tab 0",
    1: "Text of additinal tab 1",
    2: "Text of additinal tab 2",
    3: "Text of additinal tab 3",
    4: "Text of additinal tab 4"
}
status (int) Nov 7th, 2019 "1" => Product Visible
"0" => Product not visible
skip_updates (string) Dec 10th, 2020 Skip requested fields for update. Multiple fields are accepted using comma separation.
Possibile values: inventory, pricing, taxprofile, filters, tags, description, title, dimension -> [package_width, package_height, package_length] , weight Eg: skip_updates=pricing,inventory,filters
Update product data Request

$payload = array();
$payload['uid'] = 1325574;
$payload['title'] = 'Product title';
$payload['description'] = 'Product description...';
$payload['tax_profile'] = '52dd3382be85f18660000000';
$payload['price'] = 10;
$payload['final_price'] = 8.5;
$payload['sku'] = 'PRODUCT_SKU';
$payload['stock_count'] = 10;
// ...

$storeden = new Storeden\Storeden($config);
$response = $storeden->put('/products/product.json', $payload);
					
Update product data Response

{
    "ok": 1,
    "err": null
}
					

Upload product image

POST
/products/image.json
uid required (int) Unique id of your product
base64 required (base64) Base64 encoded image content
related (int) Specify if uploaded image will be the principal image (0) or a related image (1)
Upload product image Request

$payload = array();
$payload['uid'] = 1325574;
$payload['base64'] = '/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAA....';
$payload['related'] = 0;

$storeden = new Storeden\Storeden($config);
$response = $storeden->post('/products/image.json', $payload);
					
Upload product image Response

{
    "image_id": "56a0aa7e16f46a334cc7c823",
    "thumbnail": "https://static-cdn.storeden.com/secache/56a0aa7e16f46a334cc7c823",
    "original": "https://tcdn.storeden.com/gallery/56a0aa7e16f46a334cc7c823"
}
					

Set image placeholder

PUT
/products/image.json
uid required (int) Unique id of your product
image_id required (StoredenId) Unique image identifier
Set image placeholder Request

$payload = array();
$payload['uid'] = 1325574;
$payload['image_id'] = '56a0aa7e16f46a334cc7c823';

$storeden = new Storeden\Storeden($config);
$response = $storeden->put('/products/image.json', $payload);
					
Set image placeholder Response

{
    "n": "1",
    "ok": 1
}
					

Search product

Search product by SKU

GET
/products/search.json?sku={product-sku}
sku required (string) Product Sku
Search product Request

$storeden = new Storeden\Storeden($config);
$response = $storeden->get('/products/search.json?sku=PRODUCT_SKU');
					
Search product Response

{
    "uid": 114554,
    "endpoint": {
        "type": "GET",
        "url": "https://connect.storeden.com/v1.1/products/product.json?uid=114554"
    }
}
					

Product visibility

Enable of disable product for sells.

PUT
/products/status.json
uid required (int) An existing product uid
status required (int) Set status to 1 to enable product visibility or 0 to disable product visibility
Product visibility Request

$payload = array();
$payload['uid'] = 1325574;
$payload['status'] = 1;

$storeden = new Storeden\Storeden($config);
$response = $storeden->put('/products/status.json', $payload);
					
Product visibility Response

{
    "ok" : 1
}
					

Blomming product publish

Publish/Depublish product from Blomming marketplace.

PUT
/products/blomming.json
uid required (int) An existing product uid
publish required (int) Set push to 1 to enable product on blomming marketplace or 0 to disable product on blomming marketplace
Blomming product publish Request

$payload = array();
$payload['uid'] = 20506087;
$payload['publish'] = 1;

$storeden = new Storeden\Storeden($config);
$response = $storeden->put('/products/blomming.json', $payload);
					
Blomming product publish Response

{
    "action": "publish",
    "status": true,
    "itemUID": "20506087"
}
					

Get additional tabs

GET
/products/addition_tabs.json?product_uid={uid}
product_uid required (int) Unique id of your product
Get additional tabs Request

$storeden = new Storeden\Storeden($config);
$response = $storeden->get('/products/addition_tabs.json?product_uid=1325574');
			
Get additional tabs Response

{
	"count" : 5,
	"tab_0" : "tab 0 content",
	"tab_1" : "tab 1 content",
	"tab_2" : "tab 2 content",
	"tab_3" : "tab 3 content",
	"tab_4" : "tab 4 content",
}
			

Get product prices

GET
/products/prices.json?uid={uid}
uid required (int) Unique id of your product
Get product prices Request

$storeden = new Storeden\Storeden($config);
$response = $storeden->get('/products/prices.json?uid=17843530');
					
Get product prices Response

{
	"uid" : 17843530,
	"final_price" : 80.00,
	"price" : 100.00,
	"discount" : 20.00
}
					

Update product prices

PUT
/products/prices.json
uid required (int) Unique id of your product
price required (real)
final_price required (real)
Update product prices Request

$payload = array();
$payload['uid'] = 20506087;
$payload['price'] = 10;
$payload['final_price'] = 7.5;

$storeden = new Storeden\Storeden($config);
$response = $storeden->put('/products/prices.json', $payload);
					
Update product prices Response

{
	"ok" : 1
}
					

Bulk product prices update

PUT
/products/bulk_prices.json
product (associative array)
product[SKU][price]
product[SKU][final_price]

product[SKU_M][variants][SKU_V][price]
product[SKU_M][variants][SKU_V][final_price]
SKU: string of a valid product SKU (without variants)
SKU_M: string of a valid product master SKU (with variants)
SKU_V: string of a valid product variant SKU
price: (float) price of product / product variant
final_price: (float) final price of product / product variant

* Please be aware that it is necessary to pass all the product variants with their prices. The lower price between variants will determine the base price of the master product.
Bulk product prices update Request

$payload = array();
$payload['product']['SKU']['price'] = 12;
$payload['product']['SKU']['final_price'] = 12;
$payload['product']['SKU_M']['variants']['SKU_V1']['price'] = 45.9;
$payload['product']['SKU_M']['variants']['SKU_V1']['final_price'] = 45.9;
$payload['product']['SKU_M']['variants']['SKU_V2']['price'] = 62;
$payload['product']['SKU_M']['variants']['SKU_V2']['final_price'] = 62;
$payload['product']['SKU_M']['variants']['SKU_V3']['price'] = 88;
$payload['product']['SKU_M']['variants']['SKU_V3']['final_price'] = 88;
// ...

$storeden = new Storeden\Storeden($config);
$response = $storeden->put('/products/bulk_prices.json', $payload);
					
Bulk product prices update response

{
    "ok": 1,
    "nModified": 100
}
					

Update product weight

PUT
/products/weight.json
uid required (int) Unique id of your product
weight required (real)
Update product weight Request

$payload = array();
$payload['uid'] = 20506087;
$payload['weight'] = 3.9;

$storeden = new Storeden\Storeden($config);
$response = $storeden->put('/products/weight.json', $payload);
						
Update product weight Response

{
	"ok" : 1
}
					

Update product dimension

PUT
/products/dimensions.json
uid required (int) Unique id of your product
width required (real)
height required (real)
depth required (real)
Update product dimension Request

$payload = array();
$payload['uid'] = 20506087;
$payload['width'] = 24.00;
$payload['height'] = 27.00;
$payload['depth'] = 1.5;

$storeden = new Storeden\Storeden($config);
$response = $storeden->put('/products/dimensions.json', $payload);
					
Update product dimension Response

{
	"ok" : 1
}
					

Assign specific category to product

PUT
/products/category.json
uid required (int) Unique id of your product
categoryUID (int) Existing category UID
Assign specific category to product Request

$payload = array();
$payload['uid'] = 20506087;
$payload['categoryUID'] = 42782;

$storeden = new Storeden\Storeden($config);
$response = $storeden->put('/products/category.json', $payload);
					
Assign specific category to product Response

{
	"ok" : 1
}
					

Update product attributes

PUT
/products/attributes.json
uid required (int) Unique id of your product
merge required (string) Aug 6th, 2021 Set value to "true" ( string ) to merge attributes with the previously setted attributes
[attribute_id]:[value] required (StoredenID) repeatable Substitute the "attribute_id" with a valid attribute id.
Value type depends on attribute type definition.
Update product attributes Request

$payload = array();
$payload['uid'] = 20506087;
$payload['merge'] = 'true';
$payload['56764sdf9306431dfs'] = 'Attribute text value';
$payload['567649306346432dfa'] = 1;
$payload['5676493s0346433dce'] = 49.99;
// ...

$storeden = new Storeden\Storeden($config);
$response = $storeden->put('/products/attributes.json', $payload);
					
Update product attributes Response

{
    "ok" : 1
}
					

Update products variants

Variants need to respect [a-z0-9] format

PUT
/products/variants.json
uid required (int) Unique id of your products
usevariants (int) Enable the use of variants (1) or disable it (0)
vars (array)[string] Variants to use in combinations "variants"
variants (array)[string]
superkey Must be a string. Join with char "_" of component variants value
available Stock quantity of this specific variant
price Surprice of this variant
sku SKU string of this variant
ean13 EAN13 string of this variant
mpn MPN string of this variant
image Url of the image ( must be uploaded before sending on this endpoint )
variants Object relative to variant mapping
weight (float) Weight of this variant
package_width (float) Width of this variant
package_length (float) Length of this variant
package_height (float) Height of this variant
skip_updates (string) Dec 16th, 2020 Skip requested fields for update. Multiple fields are accepted using comma separation.
Possibile values: inventory, pricing
Eg: skip_updates=pricing,inventory, image
Example

$payload = array();
$payload['uid'] = 20506087;
$payload['usevariants'] = 1; // or 0
$payload['vars']['taglia'] = ["s", "m", "l"];
$payload['vars']['colore'] = ["rosso", "giallo"];
$payload['variants']['superkey'] = "s_rosso";
$payload['variants']['available'] = 10;
$payload['variants']['price'] = 0;
$payload['variants']['sku'] = "sku_s_rosso";
$payload['variants']['image'] = "https://....";
$payload['variants']['variants']['taglia'] = "s";
$payload['variants']['variants']['colore'] = "rosso";
$payload['variants']['weight'] = 1.2;
$payload['variants']['package_width'] = 1.2;
$payload['variants']['package_length'] = 3.2;
$payload['variants']['package_height'] = 4.6;
// ...

$storeden = new Storeden\Storeden($config);
$response = $storeden->put('/products/attributes.json', $payload);
					

{
	"uid" : 123,
	"usevariants" : 1,
	"vars" : {
		"taglia" : ["s", "m", "l"],
		"colore" : ["rosso", "giallo"]
	},
	"variants" : [
		{
			"superkey" => "s_rosso",
			"available" => 10,
			"price" => 0,
			"sku" => "sku_s_rosso",
			"image" => "https://...."
			"variants" : {
				"taglia" : "s",
				"colore" : "rosso"
			}
		},
		.... // each combination of vars options
	]
}
					

Update products filters

PUT
/products/filter.json
uid required (int) Unique id of your products
filters required (associative array) Couples "filter_key" : "option_index"
Example

{
	"uid" : 123,
	"filters" : {
		"color" : 3,
		"material" : 6,
		"size" : 0
	}
}
					

Get related products

GET
/products/related_products.json
uid required (int) Unique uid of your product
Get related products Response

{
	"count": 1,
	"products": [
		241274
	]
}
					

Set related products

Insert a list of related products

PUT
/products/related_products.json
uid required (int) Unique uid of your product
related[] (int) repeatable Unique uid of product
Set related products

{
	"ok": 1,
	"nModified": 1,
	"err": null,
	"associated": [
		"241274"
	]
}
					

Remove product image(s)

DELETE
/products/image.json
uid required* (int) Unique uid of your product
type required* (string) principal => delete only the principal product image
all => delete principal and related images from product
all-and-variants-images => delete principal and related images from product, also remove each principal image from variant
Remove product image(s) result

{
    "uid": 1420670,
    "remove_operation": true,
	"remove_id": [
		"52dd3382be85f186600000fef",
		"52dd3382be85f166001200fac"
	]
}
					

Patch Product info

PUT
/products/patchProduct.json
uid required* (int) Unique uid of your product
param required* (string) Available param: title, description, tax_profile, brand, tags, sku*, ean*
*Only master product can be updated
value required* (mixed) title, description => text, tax_profile => StoredenID, brand => uid, tags => string splitted with ",", sku => string, ean => string, robots => string
Patch Product info Request

$payload = array();
$payload['uid'] = 20506087;
$payload['param'] = 'title';
$payload['value'] = 'New item title';
$storeden = new Storeden\Storeden($config);
$response = $storeden->put('/products/patchProduct.json', $payload);
						
Patch Product info Response

{
    "ok": 1,
    "nModified": 1,
    "n": 1,
    "err": null,
    "errmsg": null,
    "updatedExisting": true
}
					

Get product sorting positions

GET
/products/productSortingPosition.json
uid required* (int) Unique uid of your product
Get product sorting positions Request

$storeden = new Storeden\Storeden($config);
$response = $storeden->get('/products/productSortingPosition.json?uid=20506087');
						
Get product sorting positions Response

{
    "current_sorting": []
}
					

Set product sorting positions

PUT
/products/productSortingPosition.json
uid required* (int) Unique uid of your product
type required* (string) Available types: "category", "brand". category value require categoryUID setted, brand require brandUID setted
categoryUID (int) A valid categoryUID that exists on your shop
brandUID (int) A valid brandUID that exists on your shop
position (int) A valid int sorting position
Set product sorting positions Request

$payload = array();
$payload['uid'] = 1820982;
$payload['type'] = 'category';
$payload['categoryUID'] = 1820857;
$payload['position'] = 4;

$storeden = new Storeden\Storeden($config);
$response = $storeden->put('/products/productSortingPosition.json', $payload);
						
Set product sorting positions Response

{
    "updated": true,
    "current_sorting": [
        {
            "type": "category",
            "categoryUID": 1820857,
            "position": 4
        }
    ]
}
					

Delete product sorting positions

DELETE
/products/productSortingPosition.json
uid required* (int) Unique uid of your product
Delete product sorting positions Request

$payload = array();
$payload['uid'] = 1820982;

$storeden = new Storeden\Storeden($config);
$response = $storeden->delete('/products/productSortingPosition.json', $payload);
						
Delete product sorting positions Response

{
    "updated": true,
    "current_sorting": []
}
					

Get product additional tabs

GET
/products/addition_tabs.json
product_uid required* (int) Unique uid of your product
Get product additional tabs Request

$storeden = new Storeden\Storeden($config);
$response = $storeden->get('/products/addition_tabs.json?product_uid=1820982');
						
Get product additional tabs Response

{
    "count": 2,
    "tab_0": "first tab content",
    "tab_1": "second tab content",
    "tab_2": null,
    "tab_3": null,
    "tab_4": null
}
					

Update product additional tabs

POST
/products/addition_tabs.json
product_uid required* (int) Unique uid of your product
tab_0 (string) Html content for tab with index 0
tab_1 (string) Html content for tab with index 1
tab_2 (string) Html content for tab with index 2
tab_3 (string) Html content for tab with index 3
tab_4 (string) Html content for tab with index 4
Update product additional tabs Request


$_payload = array();
$_payload['product_uid'] = 1820982;
$_payload['tab_0'] = 'first tab content';
$_payload['tab_1'] = 'second tab content';

$storeden = new Storeden\Storeden($config);
$response = $storeden->post('/products/addition_tabs.json', $_payload);
						
Update product additional tabs Response

{
    "ok": 1,
    "nModified": 1,
    "n": 1,
    "err": null,
    "errmsg": null,
    "updatedExisting": true
}