Skip to content

Update product

POST
/merchants/{merchantCode}/products/{productCode}
curl --request POST \
--url https://catalog.shopgate.io/v1/merchants/example/products/example \
--header 'Content-Type: application/json' \
--data '{ "name": { "en-us": "string in english", "de-de": "Zeichenkette auf Deutsch" }, "longName": { "en-us": "string in english", "de-de": "Zeichenkette auf Deutsch" }, "shortDescription": { "en-us": "string in english", "de-de": "Zeichenkette auf Deutsch" }, "longDescription": { "en-us": "string in english", "de-de": "Zeichenkette auf Deutsch" }, "categories": [ { "code": "123", "isPrimary": true, "sequenceId": 1 } ], "properties": [ { "code": "abc123", "name": { "en-us": "Color" }, "value": { "en-us": [ "red", "white", "blue" ] }, "type": "simple", "displayGroup": "properties", "subDisplayGroup": { "en-us": "Appearance" }, "isPriced": true, "attributePrice": 5.5, "unit": "number" }, { "code": "attributeCode", "value": [ "attributeValueCode1", "attributeValueCode2", "attributeValueCode3" ], "type": "attribute", "displayGroup": "properties", "subDisplayGroup": { "en-us": "Appearance" } } ], "media": { "en-us": [ { "code": "gdt5-c", "url": "https://myAwesomeShop.com/image01.jpg", "type": "image", "altText": "a translated string", "title": "a translated string", "sequenceId": 1 } ] }, "options": [ { "code": "color", "values": [ { "code": "black", "additionalPrice": -1.25 } ] } ], "extras": [ { "code": "color", "values": [ { "code": "black", "additionalPrice": -1.25 } ] } ], "parentProductCode": "\"55585\"", "modelType": "standard", "identifiers": { "mfgPartNum": "example", "upc": "example", "ean": "example", "isbn": "example", "sku": "example", "distiPartNum": "example" }, "price": { "cost": 2.55, "price": 3.5, "unit": "kg", "salePrice": 3, "msrp": 4.5, "minPrice": 3, "maxPrice": 7.5, "volumePricing": [ { "minQty": 1, "maxQty": 2, "price": 6.4, "salePrice": 5, "unit": "kg", "priceType": "fixed" } ], "mapPricing": [ { "startDate": "2018-12-12T14:27:23.114Z", "endDate": "2018-12-15T00:00:23.114Z", "price": 10.1 } ], "currencyCode": "AED" }, "fulfillmentMethods": [ "simplePickUpInStore" ], "unit": null, "unitValue": 250, "unitPriceRefUom": null, "unitPriceRefValue": 100, "hasCatchWeight": false, "isSerialized": true, "status": "active", "startDate": "2018-12-01T00:00:00.114Z", "endDate": "2018-12-01T00:00:00.114Z", "firstAvailableDate": "2018-12-01T00:00:00.114Z", "eolDate": "2018-12-01T00:00:00.114Z", "isInventoryManaged": true, "inventoryTreatment": "showOutOfStock", "shippingInformation": { "isShippedAlone": true, "height": 1, "heightUnit": "cm", "width": 2.3, "widthUnit": "cm", "length": 4, "lengthUnit": "cm", "weight": 5, "weightUnit": "kg" }, "rating": 5, "url": "https://myAwesomeShop.com/test", "isTaxed": true, "taxClass": "f8c5c2e9-5671-4870-8557-7659832e0e20", "minQty": 2, "maxQty": 5, "externalUpdateDate": "2018-12-15T00:00:23.114Z", "goodType": "physical" }'

Update the specific product. Only the values which are set will be updated.

Localizations

The following properties are localized:

  • name
  • longName
  • shortDescription
  • longDescription
  • media
  • properties[].name
  • properties[].subDisplayGroup
  • properties[].customDisplayGroupName

see Entity Localization for further information.

The media localization property is a little different to the simple localization string:

{
  "en-us": [{
    "code": "gdt5-c",
    "url": "https://myAwesomeShop.com/image01.jpg",
    "type": "image",
    "altText": "a translated string",
    "title": "a translated string",
    "sequenceId": 1
  }],
  "de-de": [{
    "code": "gdt5-g",
    "url": "https://www.youtube.com/watch?v=aTKyjuhmZNo",
    "type": "video",
    "altText": "ein übersetzter Text",
    "title": "ein übersetzter Text",
    "sequenceId": 1
  }]
}

Product Properties

See Product Properties on how to use the value property based on the property.type.

merchantCode
required
string
<= 255 characters
productCode
required
string
<= 255 characters
catalogCode
string
<= 255 characters
Media typeapplication/json
object
name

Localization object, see Entity Localization for further information.

object
key
additional properties
string
>= 1 characters <= 255 characters
Example
{
"en-us": "string in english",
"de-de": "Zeichenkette auf Deutsch"
}
longName

Localization object, see Entity Localization for further information.

object
key
additional properties
null | string
<= 255 characters
Example
{
"en-us": "string in english",
"de-de": "Zeichenkette auf Deutsch"
}
shortDescription

Localization object, see Entity Localization for further information.

object
key
additional properties
null | string
Example
{
"en-us": "string in english",
"de-de": "Zeichenkette auf Deutsch"
}
longDescription

Localization object, see Entity Localization for further information.

object
key
additional properties
string
<= 64000 characters
Example
{
"en-us": "string in english",
"de-de": "Zeichenkette auf Deutsch"
}
categories
Array<object>
object
code
required
string
<= 255 characters
Example
123
isPrimary
boolean
Example
true
sequenceId

Id of the sequence of the product in the category. The lowest number is at the top and the highest number is at the bottom.

number
Example
1
properties
Array<object>
object
code

Human readable code of the entity

string
>= 1 characters <= 255 characters
Example
someCode
name

Localization object, see Entity Localization for further information.

object
key
additional properties
string
<= 255 characters
Example
{
"en-us": "string in english",
"de-de": "Zeichenkette auf Deutsch"
}
value

Localization object, see Entity Localization for further information.

Example
{
"de-de": {
"": "null"
},
"en-us": {
"": "null"
}
}
type
string
Allowed values: simple attribute product productList html
Example
simple
displayGroup
string
Allowed values: properties features general pricing custom
Example
properties
subDisplayGroup

Localization object, see Entity Localization for further information.

object
key
additional properties
string
<= 255 characters
Example
{
"en-us": "string in english",
"de-de": "Zeichenkette auf Deutsch"
}
customDisplayGroupName

Localization object, see Entity Localization for further information.

object
key
additional properties
null | string
Example
{
"en-us": "string in english",
"de-de": "Zeichenkette auf Deutsch"
}
Example
[
{
"code": "abc123",
"name": {
"en-us": "Color"
},
"value": {
"en-us": [
"red",
"white",
"blue"
]
},
"type": "simple",
"displayGroup": "properties",
"subDisplayGroup": {
"en-us": "Appearance"
},
"isPriced": true,
"attributePrice": 5.5,
"unit": "number"
},
{
"code": "attributeCode",
"value": [
"attributeValueCode1",
"attributeValueCode2",
"attributeValueCode3"
],
"type": "attribute",
"displayGroup": "properties",
"subDisplayGroup": {
"en-us": "Appearance"
}
}
]
media

Localization object, see Entity Localization for further information. We support type image, video, or pdf. In case of type video, we currently support vimeo and youtube urls

object
key
additional properties
Array<object>
object
code

External code of the image

string
<= 255 characters
Example
gdt5-c
url
required
string
<= 255 characters
Example
https://myAwesomeShop.com/image01.jpg
type
required

In case of type video, we currently support vimeo and youtube urls

string
Allowed values: image video pdf
Example
image
altText
null | string
<= 1000 characters
Example
a translated string
title
null | string
<= 255 characters
Example
a translated string
sequenceId

Sequence of the media, by default this creates an ascending order meaning 0 is the first.

null | number
Example
1
Example
{
"en-us": [
{
"code": "gdt5-c",
"url": "https://myAwesomeShop.com/image01.jpg",
"type": "image",
"altText": "a translated string",
"title": "a translated string",
"sequenceId": 1
}
]
}
options
Array<object>
object
code
required
string
<= 255 characters
Example
color
values
Array<object>
object
code
required

Unique identifier for the attribute value

string
<= 255 characters
Example
black
additionalPrice

The price which is added to the base price of the configurable product. It can be positive and negative

number | null
Example
-1.25
extras
Array<object>
object
code
required
string
<= 255 characters
Example
color
values
Array<object>
object
code
required

Unique identifier for the attribute value

string
<= 255 characters
Example
black
additionalPrice

The price which is added to the base price of the configurable product. It can be positive and negative

number | null
Example
-1.25
parentProductCode

Code of parent product

null | string
>= 1 characters <= 255 characters
Example
"55585"
modelType

Product Model Type

string
Allowed values: standard configurable bundle bundleItem variant
Example
standard
identifiers
object
mfgPartNum
null | string
<= 500 characters
upc
null | string
<= 766 characters
ean
null | string
<= 500 characters
isbn
null | string
<= 500 characters
sku
null | string
<= 500 characters
distiPartNum
null | string
<= 500 characters
price
object
cost

The actual cost for the merchant

null | number
Example
2.55
price
required

Price for the shopper

number
Example
3.5
unit

Unit the price applies to (pieces, kg, packs)

null | string
Example
kg
salePrice

Sale price

null | number
Example
3
msrp

Manufacturer’s suggested retail price

null | number
Example
4.5
minPrice

Lowest possible price (configurable product)

number
Example
3
maxPrice

Highest possible price (configurable product)

number
Example
7.5
volumePricing
Array<object>
object
minQty
required
null | number
Example
1
maxQty
required
null | number
Example
2
price
required

Price of the tier

number
Example
6.4
salePrice

Sale price of the tier

null | number
Example
5
unit
null | string
<= 30 characters
Example
kg
priceType
required

Fixed price, or relative to the standard price

string
Allowed values: fixed relative
Example
fixed
mapPricing
Array<object>
object
startDate
null | string format: date-time
Example
2018-12-12T14:27:23.114Z
endDate
null | string format: date-time
Example
2018-12-15T00:00:23.114Z
price
required
number
Example
10.1
currencyCode
required
string
Allowed values: AED AFN ALL AMD ANG AOA ARS AUD AWG AZN BAM BBD BDT BGN BHD BIF BMD BND BOB BOV BRL BSD BTN BWP BYN BZD CAD CDF CHE CHF CHW CLF CLP CNY COP COU CRC CUC CUP CVE CZK DJF DKK DOP DZD EGP ERN ETB EUR FJD FKP GBP GEL GHS GIP GMD GNF GTQ GYD HKD HNL HRK HTG HUF IDR ILS INR IQD IRR ISK JMD JOD JPY KES KGS KHR KMF KPW KRW KWD KYD KZT LAK LBP LKR LRD LSL LYD MAD MDL MGA MKD MMK MNT MOP MRU MUR MVR MWK MXN MXV MYR MZN NAD NGN NIO NOK NPR NZD OMR PAB PEN PGK PHP PKR PLN PYG QAR RON RSD RUB RWF SAR SBD SCR SDG SEK SGD SHP SLL SOS SRD SSP STN SVC SYP SZL THB TJS TMT TND TOP TRY TTD TWD TZS UAH UGX USD USN UYI UYU UYW UZS VES VND VUV WST XAF XAG XAU XBA XBB XBC XBD XCD XDR XOF XPD XPF XPT XSU XTS XUA XXX YER ZAR ZMW ZWL
Example
USD
fulfillmentMethods
Array<string>
Example
[
"simplePickUpInStore"
]
unit

The unit this is product is measured in.

null | string
<= 50 characters
Allowed values: mg g kg ml l cm m m2 m3 unit piece each oz lb floz pt qt gal in ft yd ft2
Example
g
unitValue

The value of units this product represents. Example: 250, in combination with ‘unit’ set to ‘g’ indicates that this product weighs 250 grams.

null | number format: float
<= 50 characters
Example
250
unitPriceRefUom

The unit this is product is measured in for base price reference.

null | string
Allowed values: mg g kg ml l cm m m2 m3 piece unit each
Example
g
unitPriceRefValue

The value of units this product’s base price represents. Example: 100, in combination with ‘unitPriceRefUom’ set to ‘g’ indicates that the base price of this product is per 100 grams.

null | number format: float
<= 50 characters
Example
100
hasCatchWeight

Indicates if the product has catch weight

null | boolean
Example
true
isSerialized

Indicates if a product has serial numbers

boolean
Example
true
status

‘scheduled’ is deprecated and should not be used anymore.

string
default: active
Allowed values: active inactive scheduled
Example
active
startDate

Start date when the product should be visible (switch to the “active” status)

null | string format: date-time
Example
2018-12-01T00:00:00.114Z
endDate

End date when the product should no longer be visible (switch to the “inactive” status)

null | string format: date-time
Example
2018-12-01T00:00:00.114Z
firstAvailableDate

Date when the product is buyable (marketing use cases)

null | string format: date-time
Example
2018-12-01T00:00:00.114Z
eolDate

Date when the product is no longer buyable (marketing use cases)

null | string format: date-time
Example
2018-12-01T00:00:00.114Z
isInventoryManaged
boolean
Example
true
inventoryTreatment
null | string
Allowed values: showOutOfStock allowBackOrders preOrder hideInStorefront
Example
showOutOfStock
shippingInformation
object
isShippedAlone
boolean
Example
true
height
null | number
Example
1
heightUnit
null | string
<= 20 characters
Example
cm
width
null | number
Example
2.3
widthUnit
null | string
<= 20 characters
Example
cm
length
null | number
Example
4
lengthUnit
null | string
<= 20 characters
Example
cm
weight
null | number
Example
5
weightUnit
null | string
<= 20 characters
Example
kg
rating

Ratings from (1-5). To save fractions of a rating, pass in e.g. 0.5 for a “1/2 star” representation.

null | number
Example
5
url
null | string
<= 500 characters
Example
https://myAwesomeShop.com/test
isTaxed
boolean
default: true
Example
true
taxClass
null | string
<= 255 characters
Example
f8c5c2e9-5671-4870-8557-7659832e0e20
minQty

Minimal amount of product that could be purchased at a single time

null | number
Example
2
maxQty

Maximal amount of product that could be purchased at a single time

null | number
Example
5
externalUpdateDate
null | string format: date-time
Example
2018-12-15T00:00:23.114Z
goodType
string
Allowed values: physical digital warranty insurance
Example
physical

Successfully updated

Media typeapplication/json

Validation error

Media typeapplication/json
object
statusCode
number
message
string
code
string
additionalInfo
object
validationErrors
Array<object>
object
code
number
reason
string
entity
string
entityId
string
subentityPath
Array<string | number>
error
object
paramName

The parameter-field, that failed to validate, like “userId”

string
paramValue

The value, that was sent, like “xxx”

null | string | number | array | object
code

Machine readable error code

string
Allowed values: SCHEMA_VALIDATION_FAILED VALIDATION_FAILED ENUM_MISMATCH MAXIMUM MAXIMUM_EXCLUSIVE MINIMUM MINIMUM_EXCLUSIVE MULTIPLE_OF ARRAY_LENGTH_LONG ARRAY_LENGTH_SHORT ARRAY_ADDITIONAL_ITEMS ARRAY_UNIQUE MAX_LENGTH MIN_LENGTH MAX_PROPERTIES MIN_PROPERTIES OBJECT_MISSING_REQUIRED_PROPERTY OBJECT_PROPERTIES_MAXIMUM OBJECT_PROPERTIES_MINIMUM OBJECT_ADDITIONAL_PROPERTIES OBJECT_DEPENDENCY_KEY ONE_OF_MISSING ONE_OF_MULTIPLE NOT_PASSED INVALID_FORMAT INVALID_TYPE UNKNOWN_FORMAT PATTERN
message
required

Human readable error code

string
results
object
errors
Array<object>
object
code

Machine readable error code

string
Allowed values: ENUM_MISMATCH MAXIMUM MAXIMUM_EXCLUSIVE MINIMUM MINIMUM_EXCLUSIVE MULTIPLE_OF ARRAY_LENGTH_LONG ARRAY_LENGTH_SHORT ARRAY_ADDITIONAL_ITEMS ARRAY_UNIQUE MAX_LENGTH MIN_LENGTH MAX_PROPERTIES MIN_PROPERTIES OBJECT_MISSING_REQUIRED_PROPERTY OBJECT_PROPERTIES_MAXIMUM OBJECT_PROPERTIES_MINIMUM OBJECT_ADDITIONAL_PROPERTIES OBJECT_DEPENDENCY_KEY ONE_OF_MISSING ONE_OF_MULTIPLE NOT_PASSED INVALID_FORMAT INVALID_CREDENTIALS INVALID_TYPE UNKNOWN_FORMAT PATTERN
message

Human readable error code

string
description
string
path
Array<string>
warnings
array
Example
{
"error": {
"code": "SCHEMA_VALIDATION_FAILED",
"results": {
"errors": [
{
"code": "MAX_LENGTH",
"message": "Name too long",
"description": "Property Name is too long",
"path": [
"name"
]
}
]
}
}
}

Merchant or product not found

Media typeapplication/json
object
statusCode
number
code
required
string
message
required
string
Example
{
"code": "NotFound",
"message": "Merchant not found"
}