Перейти к основному контенту

getProductsByIds

Получение нескольких продуктов по их идентификаторам

Products.getProductsByIds(ids, langCode, userQuery)

const value = await Products.getProductsByIds('1, 5, 8', 'en_US')
Схема

ids:* строка
Идентификаторы страниц продуктов, для которых необходимо найти связи
пример: 1,3,5,15

langCode: строка
Параметр кода языка. По умолчанию "en_US"
пример: en_US

userQuery: IProductsQuery
Необязательный набор параметров запроса
пример: []

userQuery.offset: число
Необязательный параметр для пагинации, по умолчанию 0
пример: 0

userQuery.limit: число
Необязательный параметр для пагинации, по умолчанию 30
пример: 30

userQuery.sortOrder: строка
Необязательный порядок сортировки DESC | ASC
пример: DESC

userQuery.sortKey: строка
Необязательное поле для сортировки (id, title, date, price, position, status)
пример: id

Этот метод извлекает объекты продуктов на основе их идентификаторов (ids) из API. Он возвращает Promise, который разрешается в объекты IProductsEntity для продукта.

Пример возвращаемого значения:

[
{
"id": 1764,
"localizeInfos": {
"en_US": {
"title": "Product"
}
},
"isVisible": true,
"isSync": true,
"price": 0,
"additional": {
"prices": {
"min": 0,
"max": 100
}
},
"blocks": [
null
],
"sku": "0-123",
"productPages": [
{
"id": 8997,
"pageId": 1176,
"productId": 8872
}
],
"statusLocalizeInfos": {
"en_US": {
"title": "Product"
}
},
"templateIdentifier": "my-template",
"shortDescTemplateIdentifier": "my-template-short",
"attributeValues": {
"en_US": {
"marker": {
"value": "",
"type": "string",
"position": 1,
"isProductPreview": false,
"isIcon": false,
"attributeFields": {
"marker": {
"type": "string",
"value": "test"
}
}
}
}
},
"attributeSetIdentifier": "my-set",
"statusIdentifier": "my-status",
"position": 1
}
]
Схема

id: число
идентификатор объекта
пример: 1764

localizeInfos: Record<string, any>
json-описание основного объекта данных страницы с учетом языка "en_US" (например)
пример:

{
"en_US": {
"title": "Catalog",
"plainContent": "Content for catalog",
"htmlContent": "<b>Content for catalog</b>",
"menuTitle": "Catalog"
}
}

isVisible: логическое
Флаг видимости страницы
пример: true

isSync: логическое
индикатор индексации страницы (true или false)
пример: false

price: число
значение цены страницы продукта, взятое из индекса
пример: 0

additional: Record<string, any>
дополнительное значение из индекса
пример:

{
"prices": {
"min": 0,
"max": 100
}
}

blocks: массив
блоки продукта
пример:

["product_block"]

sku: строка
значение SKU продукта, взятое из индекса
пример: 1

productPages: массив
Объекты ProductPageEntity, связанные со страницей продукта (необязательно)
пример:

[
{
"id": 8997,
"pageId": 1176,
"productId": 8872
}
]

statusLocalizeInfos: CommonLocalizeInfos
json-описание объекта статуса элемента с учетом языка
пример:

{ "title": "Product" }

templateIdentifier: строка
пользовательский идентификатор связанного шаблона
пример: my-template

shortDescTemplateIdentifier строка
пользовательский идентификатор связанного шаблона для краткого описания
пример: my-template-short

attributeValues: Record<string, string>
Массив значений атрибутов из индекса (представленный в виде пары пользовательский идентификатор атрибута: значение атрибута)
пример:

{
"en_US": {
"marker": {
"value": "",
"type": "string"
}
}
}

attributeSetIdentifier: строка
текстовый идентификатор используемого набора атрибутов
пример: 'my-set'

statusIdentifier: строка
текстовый идентификатор статуса продукта
пример: 'my-status'

position: число
номер позиции (для сортировки)
пример: 1