Skip to content

Get product

GET
/merchants/{merchantCode}/products/{productCode}
curl --request GET \
--url 'https://catalog.shopgate.io/v1/merchants/example/products/example?getOriginalImageUrls=false'

Get a single product

merchantCode
required
string
<= 255 characters
productCode
required
string
<= 255 characters
fields
string format: csv

Fields which should be included in the response. This field is optional. If the field is not set the default fields will be shown

getOriginalImageUrls
boolean
localeCode
string
<= 5 characters

Locale code to change the language of the name, descriptions, properties and media

catalogCode
string
<= 255 characters
locationCode
string
<= 255 characters

Location code used to determine product availability

Returns the product

Media typeapplication/json
object
product
object
parentProductCode

Code of parent product

null | string
>= 1 characters <= 255 characters
modelType

Product Model Type

string
Allowed values: standard configurable bundle bundleItem variant
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
price
required

Price for the shopper

number
unit

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

null | string
salePrice

Sale price

null | number
msrp

Manufacturer’s suggested retail price

null | number
minPrice

Lowest possible price (configurable product)

number
maxPrice

Highest possible price (configurable product)

number
volumePricing
Array<object>
object
minQty
required
null | number
maxQty
required
null | number
price
required

Price of the tier

number
salePrice

Sale price of the tier

null | number
unit
null | string
<= 30 characters
priceType
required

Fixed price, or relative to the standard price

string
Allowed values: fixed relative
mapPricing
Array<object>
object
startDate
null | string format: date-time
endDate
null | string format: date-time
price
required
number
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
pricePerMeasureUnit

The base price per unit of the item if applicable; based on the unit / unitValue and unitRefPriceUom / unitRefPriceValue fields of the product.

null | number
<= 50 characters
fulfillmentMethods
Array<string>
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
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
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
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
hasCatchWeight

Indicates if the product has catch weight

null | boolean
isSerialized

Indicates if a product has serial numbers

boolean
status

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

string
default: active
Allowed values: active inactive scheduled
startDate

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

null | string format: date-time
endDate

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

null | string format: date-time
firstAvailableDate

Date when the product is buyable (marketing use cases)

null | string format: date-time
eolDate

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

null | string format: date-time
isInventoryManaged
boolean
inventoryTreatment
null | string
Allowed values: showOutOfStock allowBackOrders preOrder hideInStorefront
shippingInformation
object
isShippedAlone
boolean
height
null | number
heightUnit
null | string
<= 20 characters
width
null | number
widthUnit
null | string
<= 20 characters
length
null | number
lengthUnit
null | string
<= 20 characters
weight
null | number
weightUnit
null | string
<= 20 characters
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
url
null | string
<= 500 characters
isTaxed
boolean
default: true
taxClass
null | string
<= 255 characters
minQty

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

null | number
maxQty

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

null | number
code

Code of the product

string
>= 1 characters <= 255 characters
name

Short name of the product

string
<= 255 characters
longName

Long name of the product

string
<= 255 characters
categories
Array<object>
object
code
string
<= 255 characters
name
string
<= 255 characters
path
Array<string>
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
isPrimary
boolean
properties
Array<object>
object
code

Human readable code of the entity

string
>= 1 characters <= 255 characters
name
string
<= 255 characters
value
object
type
string
Allowed values: simple attribute product productList html
displayGroup
string
Allowed values: properties features general pricing custom
subDisplayGroup
string
<= 255 characters
customDisplayGroupName
null | string
<= 255 characters
media
Array<object>
object
code

External code of the image

string
<= 255 characters
url
required
string
<= 255 characters
type
required

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

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

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

null | number
externalUpdateDate
null | string format: date-time
visibility

Indicates if the products should be visibility for the customer. This flag is based on different condition.

string
Allowed values: visible hidden
goodType
string
default: physical
Allowed values: physical digital warranty insurance
inventories
Array<object>
object
productCode

Human readable code of the entity

string
>= 1 characters <= 255 characters
locationCode
string
<= 36 characters
sku

Stock keeping unit

null | string
<= 255 characters
onHand
number
onReserve
number
safetyStock
number
available

Available stock (onHand - onReserve)

number
visible

Visible stock in store (available - safetyStock)

number
bin

Bin. (Location in warehouse)

null | string
<= 100 characters
binLocation

Bin location.

null | string
<= 100 characters
status
string
Allowed values: active inactive
externalUpdateDate
null | string format: date-time
inventoryTreatmentSetting
object
code
required
string
name
required
string
isPurchasable
required
boolean
sequenceId
integer
options
Array<object>
object
code
string
<= 255 characters
name

Name of the attribute which will be shown to the customer. It’s saved in the language of the passed locale.

string
<= 255 characters
type

Type of the attribute. It specifies which type the attribute value will have.

string
Allowed values: text productList input number
values
Array
object
code
required

Unique identifier for the attribute value

string
<= 255 characters
sequenceId
required

Sequence id of the order of the values. The lowest number is at the top and the highest number is at the bottom.

number
name
required

Name of the attribute value which will be shown to the customer. It’s saved in the language of the passed locale.

string
<= 255 characters
swatch
object
type
string
Allowed values: image color
value
string
additionalPrice

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

number | null
extras
Array<object>
object
code
string
<= 255 characters
name

Name of the attribute which will be shown to the customer. It’s saved in the language of the passed locale.

string
<= 255 characters
type

Type of the attribute. It specifies which type the attribute value will have.

string
Allowed values: text productList input number
values
Array
object
code
required

Unique identifier for the attribute value

string
<= 255 characters
sequenceId
required

Sequence id of the order of the values. The lowest number is at the top and the highest number is at the bottom.

number
name
required

Name of the attribute value which will be shown to the customer. It’s saved in the language of the passed locale.

string
<= 255 characters
swatch
object
type
string
Allowed values: image color
value
string
additionalPrice

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

number | null
operationalStatus
string
Allowed values: active inactive scheduled expired
Example
{
"product": {
"categories": [
{
"name": "Jeans",
"code": "jeans",
"isPrimary": true,
"path": [
"clothes",
"men",
"jeans"
],
"sequenceId": 1
}
],
"code": "jeans",
"endDate": "2040-12-01T00:00:00.114Z",
"eolDate": "2040-12-01T00:00:00.114Z",
"externalUpdateDate": "2018-12-15T00:00:23.114Z",
"extras": [],
"firstAvailableDate": "2018-12-01T00:00:00.114Z",
"fulfillmentMethods": [
"BOPIS"
],
"hasCatchWeight": true,
"identifiers": {
"distiPartNum": "M102938475",
"ean": "xxx11",
"isbn": "123xy",
"mfgPartNum": "123ab",
"sku": "98712c",
"upc": "cde45"
},
"inventoryTreatment": "showOutOfStock",
"isInventoryManaged": true,
"isSerialized": true,
"isTaxed": true,
"longName": "The Jeans. Just Jeans.",
"maxQty": 5,
"media": [
{
"altText": "Image of the jeans",
"code": "jeansyImage",
"sequenceId": 1,
"title": "The Jeans",
"type": "image",
"url": "https://awesomeShop.com/image01.jpg"
}
],
"minQty": 2,
"modelType": "standard",
"name": "The Jeans",
"operationalStatus": "active",
"options": [
{
"code": "color",
"name": "Color",
"type": "Text",
"values": [
{
"code": "white",
"name": "White",
"additionalPrice": 0,
"sequenceId": 1,
"swatch": {
"type": "color",
"value": "#ffffff"
}
},
{
"code": "black",
"name": "Black",
"additionalPrice": 0,
"sequenceId": 1,
"swatch": {
"type": "color",
"value": "#000000"
}
}
]
}
],
"parentProductCode": null,
"price": {
"cost": 5,
"currencyCode": "USD",
"mapPricing": [
{
"endDate": "2018-12-15T00:00:23.114Z",
"price": 12,
"startDate": "2018-12-12T14:27:23.114Z"
}
],
"maxPrice": 8,
"minPrice": 12,
"msrp": 10,
"price": 10,
"salePrice": 9,
"unit": "kg",
"volumePricing": [
{
"maxQty": 20,
"minQty": 8,
"price": 7,
"priceType": "fixed",
"salePrice": 7,
"unit": "kg"
}
]
},
"properties": [
{
"code": "material",
"displayGroup": "properties",
"name": "Material",
"subDisplayGroup": "Info",
"type": "simple",
"value": [
"Wool",
"Polyester",
"Nylon"
]
}
],
"rating": 5,
"shippingInformation": {
"height": 4,
"heightUnit": "cm",
"isShippedAlone": true,
"length": 30,
"lengthUnit": "cm",
"weight": 40,
"weightUnit": "kg",
"width": 2.3,
"widthUnit": "cm"
},
"startDate": "2018-12-01T00:00:00.114Z",
"status": "active",
"taxClass": "f8c5c2e9-5671-4870-8557-7659832e0e20",
"unit": "each",
"unitPriceRefUom": "each",
"unitPriceRefValue": null,
"unitValue": null,
"url": "https://awesomeShop.com/theJeans",
"visibility": "visible",
"goodType": "physical"
}
}

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"
}