Product Information¶
https://{cluster-id}.elevate-api.cloud/api/storefront/v3/utilities/product-information
GET¶
An export of the product data in Elevate 4 as a json object.
Request¶
Header parameters¶
| Name | Description | Example |
|---|---|---|
| Api-Key Required | Api-key that was supplied during on-boarding | pkA123456789AB1BE.. |
| Accept-Encoding Required | Allows responses to be compressed using Gzip. | gzip |
Query parameters¶
| Name | Description | Example |
|---|---|---|
| locale Required | The visitor locale. Must match an available locale identifier on the current market in the data feed. | en-UK |
| market Required | The visitor market identifier. Must match the corresponding market identifier in the data feed. | UK |
| limit | The number of product groups to include. If parameter is omitted, all product groups will be returned. | 10 |
| pageReference | A reference to a page, either by Page ID or the localized path. If provided, the filter of the page's primary list will be applied. Must point to a valid page with a primary list. | /women/shoes/loafers |
| productRules | Filter which products should be returned. | rule incl product_key {"pk1" "pk2"} |
| templateId | A template to apply to exported products. | template1 |
curl -i \
-X GET \
-H 'Api-Key: pkA123456789AB1BE..' \
-H 'Accept-Encoding: gzip' \
"https://{cluster-id}.elevate-api.cloud/api/storefront/v3/utilities/product-information?locale=en-UK&market=UK&limit=10&pageReference=%2Fwomen%2Fshoes%2Floafers&productRules=rule+incl+product_key+%7B%22pk1%22+%22pk2%22%7D&templateId=template1"
Response¶
Response codes¶
| Status | Description |
|---|---|
| 200 | Query accepted. The data will be returned as an application/json-object. |
| 400 | Incorrect query parameters. |
| 403 | Incorrect cluster credentials. |
| 404 | Cluster not found. |
| 406 | No acceptable encoding found in Accept-Encoding header. |
| 500 | Server error such as cluster unavailable, busy or internal error. If 5xx errors persist, contact support and attach any information found in the response body. |
Response body¶
Example
{
"productGroups" : [ {
"key" : "PRODGROUP060194",
"products" : [ {
"badges" : {
"primary" : [ {
"attribute" : "is_new",
"label" : "Latest!",
"theme" : null
} ],
"secondary" : [ {
"attribute" : "is_new",
"label" : "Latest!",
"theme" : null
} ]
},
"brand" : "Versace",
"custom" : { },
"depth" : {
"amount" : 25.0,
"unit" : "cm"
},
"description" : null,
"height" : {
"amount" : 25.0,
"unit" : "cm"
},
"imageInfo" : {
"effect" : null,
"images" : [ {
"alt" : "A woman wearing a white t-shirt",
"caption" : "The model is 176 cm tall and is wearing size S",
"custom" : { },
"sources" : [ {
"url" : "https://cdn.example.com/img/j12_prod.jpg",
"height" : 820,
"width" : 420
} ]
} ],
"thumbnail" : "https://cdn.example.com/thumbs/j12_prod.jpg"
},
"inStock" : true,
"key" : "p1000-101",
"length" : {
"amount" : 25.0,
"unit" : "cm"
},
"link" : "men/jeans/country-fit-cowboy-jeans",
"listPrice" : {
"max" : 4500.0,
"min" : 190.5
},
"name" : "Romeo",
"rating" : 4.5,
"remainingVariants" : 0,
"sellingPrice" : {
"max" : 4500.0,
"min" : 190.5
},
"series" : "Billy",
"sponsored" : true,
"swatch" : {
"colors" : [ "#FF0000" ],
"type" : null
},
"ticket" : "Oy9mYXNoaW9uL0RFU0tUT1AvQ09OVEVOVF9TRUFSQ0hfUEFHRS9QUklNQVJZX0xJU1Q7Iztjb250ZW50X2tleTtkMDAxOyM7IzsjOyM7",
"title" : "Country Fit Cowboy Jeans",
"typedCustom" : {
"json" : { },
"lengths" : { },
"numbers" : { }
},
"variants" : [ {
"availability" : [ {
"channel" : "STORE",
"key" : "boardwalk",
"stockNumber" : 5
} ],
"custom" : { },
"depth" : {
"amount" : 25.0,
"unit" : "cm"
},
"height" : {
"amount" : 25.0,
"unit" : "cm"
},
"inStock" : true,
"key" : "1000-101_RED",
"label" : "XL",
"length" : {
"amount" : 25.0,
"unit" : "cm"
},
"link" : "women/pants/khaki/101-v3-red",
"listPrice" : 15.0,
"prices" : [ {
"id" : "VIP_EUR",
"listPrice" : 12.99,
"sellingPrice" : 9.99
} ],
"sellingPrice" : 24.0,
"stockNumber" : 5,
"ticket" : "Oy9mYXNoaW9uL0RFU0tUT1AvQ09OVEVOVF9TRUFSQ0hfUEFHRS9QUklNQVJZX0xJU1Q7Iztjb250ZW50X2tleTtkMDAxOyM7IzsjOyM7",
"typedCustom" : {
"json" : { },
"lengths" : { },
"numbers" : { }
},
"volume" : {
"amount" : 25.0,
"unit" : "cm"
},
"weight" : {
"amount" : 25.0,
"unit" : "cm"
},
"width" : {
"amount" : 25.0,
"unit" : "cm"
}
} ],
"volume" : {
"amount" : 25.0,
"unit" : "cm"
},
"weight" : {
"amount" : 25.0,
"unit" : "cm"
},
"width" : {
"amount" : 25.0,
"unit" : "cm"
}
} ],
"remaining" : 2
} ]
}
Schema
ProductInformation¶
| Name | Type | Description |
|---|---|---|
| productGroups | ProductGroup[] | List of product groups that match the request params. |
Inner Schemas¶
BadgeTheme (enum)¶
| Name | Description |
|---|---|
| NONE | No badge used. |
| SALE | Used when the product is on sale. |
| DISCOUNT | Used whn the product has a discounted price. |
| NEW | Used if the product is determined as new by Elevate. |
| THEME_1 | Custom badge 1. |
| THEME_2 | Custom badge 2. |
| THEME_3 | Custom badge 3. |
Badges¶
| Name | Type | Description |
|---|---|---|
| primary | ProductBadge[] | Badges in the primary area |
| secondary | ProductBadge[] | Badges in the secondary area |
CustomAttribute¶
| Name | Type | Description |
|---|---|---|
| id | string | Id of the attribute (the actual value). Example: "summer" |
| label | string | The label of the attribute (the name attribute in the feed - currently not available for content items). Example: "Summer" |
CustomPrice¶
| Name | Type | Description |
|---|---|---|
| id | string | The id identifying the custom price. Example: "VIP_EUR" |
| listPrice | number | The price displayed in the shop as the standard price. Example: 12.99 |
| sellingPrice | number | The price that the customer pays. Example: 9.99 |
Image¶
The object representation of an image.
| Name | Type | Description |
|---|---|---|
| alt | string | Element of image specifying the alt text of an image. The alt text should describe the image. Always returned along with the image. Example: "A woman wearing a white t-shirt" |
| caption | string | Element of image specifying the caption for the image, only returned on the product page (or content information for content). Example: "The model is 176 cm tall and is wearing size S" |
| custom | <string, string> | Custom attributes of the image. |
| sources | Source[] | All valid image URLs and dimensions. If no images are valid, one arbitrary URL will be selected. |
ImageEffect (enum)¶
| Name | Description |
|---|---|
| NONE | No image effect should be applied. The images array will contain as most one element. |
| SWAP | The images array will always contain two elements. The images should swap on hover. |
| GALLERY | The images array will always contain more than one element. The images can be used to, for example, present an image gallery where the visitor can alternate between images. |
ImageInfo¶
The object representation of image information.
| Name | Type | Description |
|---|---|---|
| effect | ImageEffect | The interaction effects of the product images. Merchandiser option. Defaults to NONE if there are fewer than two valid images for that product. Supported values: NONE, SWAP, GALLERY. |
| images | Image[] | The product images to display. |
| thumbnail | string | The url of the thumbnail for the product. Undefined if images is empty. Example: "https://cdn.example.com/thumbs/j12_prod.jpg" |
Measurement¶
| Name | Type | Description |
|---|---|---|
| amount | number | The amount of the measurement as provided in the import. Example: 25 |
| unit | string | The unit of the measurement as provided in the import. Example: "cm" |
Price¶
| Name | Type | Description |
|---|---|---|
| max | number | Example: 4500.0 |
| min | number | Example: 190.5 |
Product¶
The object representation of a product.
| Name | Type | Description |
|---|---|---|
| badges | Badges | Product badges, split per area. |
| brand | string | Brand of the product. Example: "Versace" |
| custom | <string, CustomAttribute[]> | Custom attributes of the product. Only available on the product-page productGroup and when using the query parameter 'presentCustom'. |
| depth | Measurement | Depth of the product. Undefined if omitted during import. |
| description | string | Description of the product. Only available on the product-page productGroup, unless specified in a template. Undefined if omitted during import. |
| height | Measurement | Height of the product. Undefined if omitted during import. |
| imageInfo | ImageInfo | Product image information. |
| inStock | boolean | True if any variant is in stock. Example: true |
| key | string | Product identifier. Example: "p1000-101" |
| length | Measurement | Length of the product. Undefined if omitted during import. |
| link | string | Link to the product page. Will point to a variant if the visitor has filtered on a specific size. Example: "men/jeans/country-fit-cowboy-jeans" |
| listPrice | Price | Min and max price |
| name | string | Name of the product. Example: "Romeo" |
| notifyImpression | boolean | True, if the rendering of the product card should trigger an impression notification. Example: true |
| rating | number | Current rating value. Undefined when ratings are disabled. Example: 4.5 |
| remainingVariants | integer | The number of variants not included in the response. Only included if the number of variants have been limited through a template. Does not include variants hidden for being out of stock. |
| sellingPrice | Price | Min and max price |
| series | string | Series that this product belongs to. Example: "Billy" |
| sponsored | boolean | True if the product is sponsored. Example: true |
| swatch | Swatch | Swatch information. |
| ticket | string | The ticket is a unique string for an object generated by Elevate. Example: "Oy9mYXNoaW9uL0RFU0tUT1AvQ09OVEVOVF9TRUFSQ0hfUEFHRS9QUklNQVJZX0xJU1Q7Iztjb250ZW50X2tleTtkMDAxOyM7IzsjOyM7" |
| title | string | Title of the product. Example: "Country Fit Cowboy Jeans" |
| typedCustom | TypedCustomAttributes | Typed custom attributes of the product. Only available on the product-page productGroup and when using the query parameter 'presentCustom'. |
| variants | Variant[] | List of variants. Empty if all variants are out of stock and the setting Display out of stock sizes in product card is disabled. |
| volume | Measurement | Volume of the product. Undefined if omitted during import. |
| weight | Measurement | Weight of the product. Undefined if omitted during import. |
| width | Measurement | Width of the product. Undefined if omitted during import. |
ProductBadge¶
| Name | Type | Description |
|---|---|---|
| attribute | string | The attribute in the data feed that the badge is based on. Example: "is_new" |
| label | string | The presentation text of the badge. Example: "Latest!" |
| theme | BadgeTheme | The type of badge style used. Supported values: NONE, SALE, DISCOUNT, NEW, THEME_1, THEME_2, THEME_3.Example: "NEW" |
ProductGroup¶
The object representation of the product group result.
| Name | Type | Description |
|---|---|---|
| key | string | Product group identifier. Example: "PRODGROUP060194" |
| products | Product[] | Products in the Product group. The first element corresponds to the main product. The remaining elements are the other products in the group, to be shown as thumbnails or color swatches, etc. |
| remaining | integer | The number of products within this group not included in the response. E.g. if Elevate has been set to include the first five products in the response and this group has seven, there will be two remaining. Example: 2 |
Source¶
| Name | Type | Description |
|---|---|---|
| url Required | string | The URL of the image source. Example: "https://cdn.example.com/img/j12_prod.jpg" |
| height | integer | The height of the image. Undefined if height was not specified. Example: 820 |
| width | integer | The width of the image. Undefined if width was not specified and hasn't yet been assessed by the image service. Example: 420 |
Swatch¶
Swatch information is used to generate swatches for different products. The type COLORS is the most common returned type and is accompanied by the actual colours as CSS colour codes. Special colour properties, supported in the data feed such as GOLD, SILVER, MULTI or TRANSPARENT are other possible return types. These are to be used to generate swatches matching these specific properties.
| Name | Type | Description |
|---|---|---|
| colors | string[] | An array with 1 - 3 CSS colour codes for SwatchType COLORS. Empty for other types. Example: "#FF0000" |
| type | SwatchType | Type of colour swatch for the product. Supported values: MISSING_COLORS, COLORS, SILVER, GOLD, MULTI, TRANSPARENT.Example: "COLORS" |
SwatchType (enum)¶
| Name | Description |
|---|---|
| MISSING_COLORS | Used if there is no available color. |
| COLORS | Used if colors have been analysed or provided in the data feed. |
| SILVER | Used if silver properties are found in analysis or SILVER is provided as color in the data feed. |
| GOLD | Used if gold properties are found in analysis or GOLD is provided as color in the data feed. |
| MULTI | Used if MULTI was provided as color in the data feed. |
| TRANSPARENT | Used if TRANSPARENT was provided as color in the data feed. |
TypedCustomAttributes¶
| Name | Type | Description |
|---|---|---|
| json | <string, object> | Custom json data of the product matching json attributes requested by the query parameter 'presentCustom'. |
| lengths | <string, Measurement> | Custom lengths of the product matching length attributes requested by the query parameter 'presentCustom'. |
| numbers | <string, number> | Custom numbers of the product matching numbers attributes requested by the query parameter 'presentCustom'. |
Variant¶
The object representation of a variant.
| Name | Type | Description |
|---|---|---|
| availability | VariantAvailabilityInfo[] | List of availability information. Contains an entry for the online channel and one for each relevant store. |
| custom | <string, CustomAttribute[]> | Custom attributes of the variant. Available when specified in the applied template or the query parameter 'presentCustom' (always available in product-page productGroup). |
| depth | Measurement | Depth of the variant. Undefined if omitted during import. |
| height | Measurement | Height of the variant. Undefined if omitted during import. |
| inStock | boolean | True if the variant is in stock. Example: true |
| key | string | Variant identifier. Example: "1000-101_RED" |
| label | string | The label of the variant. Defaults to size if undefined. Undefined if neither label or size is specified in the import. Example: "XL" |
| length | Measurement | Length of the variant. Undefined if omitted during import. |
| link | string | Link to product page with variant selected. Example: "women/pants/khaki/101-v3-red" |
| listPrice | number | List price of the variant. Example: 15.0 |
| prices | CustomPrice[] | Additional prices for presentation. Only available on the product-page productGroup and when using the query parameter 'presentPrices'. |
| sellingPrice | number | Selling price of the variant. Example: 24.0 |
| size | string | A representative size of the variant. Overridden by label if provided. Deprecated, use label instead, Example: "XL" |
| stockNumber | integer | The amount of this variant that is in stock. Example: 5 |
| ticket | string | Unique ticket for the eSales object. Example: "Oy9mYXNoaW9uL0RFU0tUT1AvQ09OVEVOVF9TRUFSQ0hfUEFHRS9QUklNQVJZX0xJU1Q7Iztjb250ZW50X2tleTtkMDAxOyM7IzsjOyM7" |
| typedCustom | TypedCustomAttributes | Typed custom attributes of the variant. Available when specified in the applied template or the query parameter 'presentCustom' (always available in product-page productGroup). |
| volume | Measurement | Volume of the variant. Undefined if omitted during import. |
| weight | Measurement | Weight of the variant. Undefined if omitted during import. |
| width | Measurement | Width of the variant. Undefined if omitted during import. |
VariantAvailabilityInfo¶
Represents availability in one store or online.
| Name | Type | Description |
|---|---|---|
| channel | string | The channel either STORE or ONLINE. Example: "STORE" |
| key | string | The key identifying the store. Null if channel = ONLINE. Example: "boardwalk" |
| stockNumber | integer | The number of items of this variant in stock in this channel/key. Example: 5 |