Skip to main content

getProductsByIds

Getting multiple products by its ids.

Products?.getProductsByIds( ids?, langCode?, userQuery? );

const value = await Products.getProductsByIds('1, 5, 8', 'en_US')

Minimal example

Schema

ids: string
Product page identifiers for which to find relationships
example: "12345,67890"

langCode: string
Language code. Default "en_US"

userQuery: IProductsQuery
Optional set query parameters
example:

{
"offset": 0,
"limit": 30,
"sortOrder": "DESC",
"sortKey": "id"
}

offset(required): number
Parameter for pagination. Default: 0.

limit(required): number
Parameter for pagination. Default: 30.

sortOrder(required): string
Sort order "DESC" | "ASC". Default: "DESC".

sortKey(required): string
Field for sorting (default - null). Possible values: "id", "position", "title", "date", "price". Default: null.

templateMarker: string | null
Product page template marker, default null.
example: "template_12345"

statusMarker: string | null
Product page status marker, default null.
example: "in_stock"

conditionValue: string | null
The value that is being searched for, default null.
example: "new"

attributeMarker: string | null
The text identifier of the indexed attribute by which values are filtered, default null.
example: "color"

conditionMarker: string | null
Marker of the filter condition by which the values are filtered, default null.
example: "equals"

This method retrieves a products objects based on its identifiers (ids) from the API. It returns a Promise that resolves to a IProductsEntity objects for the product.

Example response

[
{
"id": 2954,
"localizeInfos": {
"title": "Box"
},
"statusIdentifier": "sale",
"statusLocalizeInfos": {
"title": "Sale"
},
"attributeSetIdentifier": "products",
"position": 2,
"templateIdentifier": null,
"shortDescTemplateIdentifier": "product_preview",
"price": 50,
"additional": {
"prices": {
"min": 50,
"max": 150
}
},
"sku": null,
"isSync": true,
"attributeValues": {
"product-name": {
"type": "string",
"value": "product-name",
"isIcon": false,
"position": 0,
"additionalFields": [],
"isProductPreview": false
},
"price": {
"type": "integer",
"value": 50,
"isIcon": false,
"position": 1,
"additionalFields": [],
"isProductPreview": false
},
"currency_products": {
"type": "string",
"value": "usd",
"isIcon": false,
"position": 2,
"additionalFields": [],
"isProductPreview": false
},
"img": {
"type": "image",
"value": [],
"isIcon": false,
"position": 3,
"additionalFields": [],
"isProductPreview": false
}
},
"categories": [
"catalog"
],
"isVisible": true,
"productPages": [
{
"id": 2847,
"pageId": 10,
"productId": 2954,
"positionId": 3190,
"categoryPath": "catalog"
}
],
"blocks": [
"product_block",
"product_block"
]
},
{
"id": 2955,
"localizeInfos": {
"title": "Product"
},
"statusIdentifier": "sale",
"statusLocalizeInfos": {
"title": "Sale"
},
"attributeSetIdentifier": null,
"position": 1,
"templateIdentifier": null,
"shortDescTemplateIdentifier": null,
"price": null,
"additional": {
"prices": {
"min": 50,
"max": 150
}
},
"sku": null,
"isSync": false,
"attributeValues": {},
"categories": [
"catalog"
],
"isVisible": true,
"productPages": [
{
"id": 2848,
"pageId": 10,
"productId": 2955,
"positionId": 3191,
"categoryPath": "catalog"
}
],
"blocks": [
"product_block",
"product_block"
]
}
]
Schema

id: number
The unique identifier.
example: 12345

localizeInfos: ILocalizeInfo
The name of the products, taking into account localization.

statusIdentifier: string | null
Product page status identifiers (may be null).
example: "in_stock"

statusLocalizeInfos: any
JSON description of the item status object, taking into account the language.

attributeSetIdentifier: string | null
Set of attributes id.
example: "set_12345"

position: number
Item number (for sorting).
example: 1

templateIdentifier: string | null
User id of the linked template.
example: "template_12345"

shortDescTemplateIdentifier: string | null
User id of the linked template for a short description.
example: "short_desc_template_12345"

price: number
The value of the product page price taken from the index.
example: 150

additional: object
Additional value from the index.

sku: string | null
Product SKU (Stock Keeping Unit), may be null.
example: "SKU_12345"

isSync: boolean
Indication of page indexing.
example: true

attributeValues: AttributeType
Array of attribute values from the index, represented.
example:

[
{
"id": "color",
"value": "red"
}
]

categories: string[]
Product categories.
example:

[
1,
2,
3
]

isVisible: boolean
A sign of page visibility.
example: true

productPages: any[]
Array of product pages or a single product page object.

blocks: string[]
Array of block identifiers.

isPositionLocked: boolean
Sorting position lock indicator (optional).
example: false

relatedIds: number[]
Ids of related product pages.
example:

[
12345,
67890
]