Get all details about a product in a local catalog
Returns all details about a product by its unique identifier.
Path Parameters
ID of the product to retrieve.
- 200
- 400
- 401
- 429
- default
Successful response with details about a product in one of the local catalogs.
Schema
- Array [
- Array [
- ]
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
Opaque identifier of this product.
Provider of this product. For products from local catalogs, this value is always "local".
Name of the product.
Description is a longer text that describes the product and its features.
Brand of the product.
Manufacturer of the product.
Matgroup is the material group on the buyer side.
MPN is the manufacturer part number.
BPN is the buyer part number.
Number of offers for this product.
offers object[]
Offers for this product.
Opaque identifier of this offer.
Opaque identifier of this product.
Provider of the result. For results from local catalogs, this property is always "local".
SKU is the stock-keeping unit of this product.
Vendor name.
price object required
Price (per unit) for which the merchant will sell this product. Notice that quantity-based pricing tiers may also apply.
Amount of the price, i.e. its monetary value.
Currency code of the monetary value.
Formatted monetary value in the caller's locale.
Possible values: >= 1
PriceQuantity describes the packaging unit. E.g. if the price is for a "€ 1.99 per 100 KGM", the price quantity is 100.
OrderUnit describes the packaging unit. E.g. if the price is for a "€ 1.99 per 100 KGM", the order unit is "KGM".
DeliveryDays is the delivery time in days.
Delivery information.
Availability information.
PriceUnit returns details about the price and the packaging unit. E.g. if the price is for a single piece, PriceUnit might be something like "per EA". However, if the price is per 100 kg of something, PriceUnit might be "per 100 KGM".
PriceTaxLabel describes the tax-related details of the price in textual form.
PriceInfo describes price-related details in textual form.
QuantityPriceTier object[]
QuantityPriceTier is used when the ordered quantity has an effect on the price.
QuantityDisplay is a localized text that describes the quantity range for which this tier applies.
MinQuantity at which the given price will be applied.
price object required
Price for the product if the quantity is greater than or equal to minimum quantity.
Amount of the price, i.e. its monetary value.
Currency code of the monetary value.
Formatted monetary value in the caller's locale.
QuantityDiscountsAvailable indicates that this product comes with a quantity-based pricing tier.
Preferred indicates whether this product is preferred according to the buying guidelines of the organization.
Blocked indicates whether this product must be blocked according to the buying guidelines of the organization.
QuantityMin represents the minimum quantity accepted for an order.
QuantityMax represents the maximum quantity accepted for an order.
Possible values: [new, used, collectible, refurbished]
Condition describes whether the product is new, used, refurbished etc.
Fulfillment gives hints about the fulfillment once purchased, e.g. if the product will be fulfilled by the provider or a 3rd party.
NumberOfContentUnitsPerOrderUnit describes the relationship between the order unit and the content unit. E.g. if one box contains 6 bottles, the number of content units per order unit is 6.
ContentUnit describes the details of the packaging unit. E.g. if one box contains 6 bottles, the number of content units per content unit is "box".
QuantityInterval represents an interval by which the ordered quantity must follow. E.g. if you have an interval of 5, users can only purchase items in quantities of 5, 10, 15 etc.
Possible values: <= 1
TaxRate is a numerical value between 0.0 and 1.0 that describes the tax rate to apply to this product. Notice that taxes vary so much between different regions/countries that this is merely usable. It may work in Germany or most of the EU, but it e.g. doesn't work in the US.
TaxCode represents a proxy for a certain tax legislation. E.g. a tax code of V19 might stand for the normal tax rate that is the default to apply to all goods and services in Germany, which is 19% at the time of writing this. The advantage of using a tax code is that the underlying percentage rate might be changed without changing the code. The disadvantage is that there is no standard for tax codes, and as such usually yields from a contract between the selling and the buying party.
attributes object
Attributes of the offer. These are key/value pairs, both of type string. They are typically passed from the catalog source provider on to Storefront, and Storefront simply passes them on. Storefront doesn't have any knowledge about the attributes.
dynamicPricing object
DynamicPricing represents a dynamic discount from the vendor.
Possible values: <= 1
Discount is the discount in percent.
BasePrice is the price before the discount.
discountPercentage object
DiscountPercentage is the discount in percent.
Possible values: <= 1
Amount of the discount.
Formatted discount value in the form of string.
dynamicPricingAvailable indicates that this product comes with a dynamic discount.
taxonomies object[]
Taxonomies represents the list of standard classifications like UNSPSC or eCl@ss for this product.
Possible values: [unspsc, eclass]
Type of the taxonomy.
Code in the standard classification.
Version of the standard classification.
DisplayName returns a textual form of the classification code.
images object[]
Images of the product in various sizes.
URL to the image.
Width of the image in pixels.
Height of the image in pixels.
Alternative Text to further describe the image.
Possible values: [thumbnail, small, medium, large]
Kind describes the size/purpose of the image.
attachments object[]
Attachments to a product, e.g. a datasheet or a safety sheet.
Possible values: [datasheet, safetysheet]
Kind of attachment.
URL to the external resource for download or preview.
Locale of the alternative text. This enables vendors to provide localized attachment descriptions, e.g. a datasheet in English and German.
AltText to describing the attachment by text.
references object[]
References to a different product.
Opaque identifier of the other product.
Possible values: [accessories, consistsOf, differentOrderUnit, followup, mandatory, select, similar, sparepart, other]
Type of the reference.
DisplayName returns a text describing the reference.
Name of the referenced product.
price object
Price of the referenced product (per unit).
Amount of the price, i.e. its monetary value.
Currency code of the monetary value.
Formatted monetary value in the caller's locale.
PriceUnit returns details about the price and the packaging unit of the referenced product, e.g. "per EA" or "per 100 MTR".
preview object
Image used in the search results or the product details.
URL to the image.
Width of the image in pixels.
Height of the image in pixels.
Alternative Text to further describe the image.
Possible values: [thumbnail, small, medium, large]
Kind describes the size/purpose of the image.
Features of the product in textual form.
{
"id": "string",
"provider": "local",
"name": "2021 Apple iPad Pro",
"description": "string",
"brand": "string",
"manufacturer": "Apple",
"matgroup": "string",
"mpn": "string",
"bpn": "string",
"offersCount": 0,
"offers": [
{
"id": "string",
"productId": "string",
"provider": "local",
"sku": "string",
"vendor": "string",
"price": {
"amount": 8.17,
"currency": "EUR",
"formatted": "$ 1234.56"
},
"priceQuantity": 0,
"orderUnit": "KGM",
"deliveryDays": 0,
"delivery": "Free delivery until Friday",
"availability": "In Stock",
"priceUnit": "per EA",
"priceTaxLabel": "excl. taxes",
"priceInfo": "Quantity discounts available",
"QuantityPriceTier": [
{
"quantityDisplay": "1-4 EA",
"minQuantity": 0,
"price": {
"amount": 8.17,
"currency": "EUR",
"formatted": "$ 1234.56"
}
}
],
"quantityDiscountsAvailable": true,
"preferred": true,
"blocked": true,
"quantityMin": 0,
"quantityMax": 0,
"condition": "new",
"fulfillment": "string",
"numberOfContentUnitsPerOrderUnit": 0,
"contentUnit": "string",
"quantityInterval": 1,
"taxRate": 0.19,
"taxCode": "V19",
"attributes": {},
"dynamicPricing": {
"discount": 0.1,
"basePrice": 100,
"discountPercentage": {
"amount": 0.1,
"formatted": "10%"
}
},
"dynamicPricingAvailable": true
}
],
"taxonomies": [
{
"type": "unspsc",
"code": "44121903",
"version": "6.0315",
"displayName": "Pen refills"
}
],
"images": [
{
"url": "string",
"width": 0,
"height": 0,
"altText": "string",
"kind": "thumbnail"
}
],
"attachments": [
{
"kind": "datasheet",
"url": "string",
"locale": "string",
"altText": "string"
}
],
"references": [
{
"id": "string",
"type": "sparepart",
"displayName": "Sparepart",
"name": "Apple iPad charging cable",
"price": {
"amount": 8.17,
"currency": "EUR",
"formatted": "$ 1234.56"
},
"priceUnit": "per EA",
"preview": {
"url": "string",
"width": 0,
"height": 0,
"altText": "string",
"kind": "thumbnail"
}
}
],
"features": [
"string"
]
}
Bad request
Schema
Code to indentify the type of error, typically the HTTP status code.
Summary of the error in one sentence.
More details, e.g. validation errors on individual fields.
{
"code": 400,
"message": "Bad request parameters. Please check the parameters for this API request.",
"details": [
"Name is missing.",
"Price is negative."
]
}
Unauthorized
Schema
Code to indentify the type of error, typically the HTTP status code.
Summary of the error in one sentence.
More details, e.g. validation errors on individual fields.
{
"code": 400,
"message": "Bad request parameters. Please check the parameters for this API request.",
"details": [
"Name is missing.",
"Price is negative."
]
}
Too many requests
Schema
Code to indentify the type of error, typically the HTTP status code.
Summary of the error in one sentence.
More details, e.g. validation errors on individual fields.
{
"code": 400,
"message": "Bad request parameters. Please check the parameters for this API request.",
"details": [
"Name is missing.",
"Price is negative."
]
}
General error
Schema
Code to indentify the type of error, typically the HTTP status code.
Summary of the error in one sentence.
More details, e.g. validation errors on individual fields.
{
"code": 400,
"message": "Bad request parameters. Please check the parameters for this API request.",
"details": [
"Name is missing.",
"Price is negative."
]
}