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

getProductsByPageId

Ищет все объекты продуктов с пагинацией для выбранной категории.

Описание

Этот метод ищет все объекты продуктов с пагинацией для выбранной категории на основе предоставленных параметров запроса (userQuery). Он возвращает Promise, который разрешается в массив элементов, где каждый элемент является объектом. Он возвращает Promise, который разрешается в IProductsResponse.

Products.getProductsByPageId( id, body, langCode, userQuery );

Схема параметров

Схема

id(обязательный): number
Идентификатор страницы
пример: 2492

body: IFilterParams[]
Тело запроса. По умолчанию: []
пример:

[
{
"attributeMarker": "price",
"conditionMarker": "mth",
"statusMarker": "waiting",
"conditionValue": 1,
"pageUrls": [
"23-laminat-floorwood-maxima"
],
"isNested": false,
"title": ""
},
{
"attributeMarker": "price",
"conditionMarker": "lth",
"conditionValue": 3,
"pageUrls": [
"23-laminat-floorwood-maxima"
],
"isNested": false,
"title": ""
}
]

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

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

{
"limit": 30,
"offset": 0,
"sortOrder": "DESC",
"sortKey": "id",
"statusId": 123,
"statusMarker": "in_stock",
"conditionValue": "new",
"conditionMarker": "equals",
"attributeMarker": "color"
}

userQuery.offset(обязательный): number
Параметр для пагинации. По умолчанию: 0.

userQuery.limit(обязательный): number
Параметр для пагинации. По умолчанию: 30.

userQuery.sortOrder(обязательный): string
Порядок сортировки "DESC" | "ASC". По умолчанию: "DESC".

userQuery.sortKey(обязательный): string
Поле для сортировки (по умолчанию - null). Возможные значения: "id", "position", "title", "date", "price". По умолчанию: null.

userQuery.templateMarker: string | null
Маркер шаблона страницы продукта, по умолчанию null.
пример: "template_12345"

userQuery.statusMarker: string | null
Маркер статуса страницы продукта, по умолчанию null.
пример: "in_stock"

userQuery.conditionValue: string | null
Исковое значение, по умолчанию null.
пример: "new"

userQuery.attributeMarker: string | null
Текстовый идентификатор индексируемого атрибута, по которому фильтруются значения, по умолчанию null.
пример: "color"

userQuery.conditionMarker: string | null
Маркер условия фильтрации, по которому фильтруются значения, по умолчанию null.
пример: "equals"

Примеры

Минимальный пример

const body `= [
{
"attributeMarker": "price",
"conditionMarker": "mth",
"statusMarker": "waiting",
"conditionValue": 1,
"pageUrls": [
"23-laminat-floorwood-maxima"
],
"isNested": false,
"title": ""
},
{
"attributeMarker": "price",
"conditionMarker": "lth",
"conditionValue": 3,
"pageUrls": [
"23-laminat-floorwood-maxima"
],
"isNested": false,
"title": ""
}
];

Пример ответа

{
"items": [
{
"id": 2954,
"localizeInfos": {
"title": "Коробка"
},
"statusIdentifier": "sale",
"statusLocalizeInfos": {
"title": "Распродажа"
},
"attributeSetIdentifier": "products",
"position": 1,
"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,
"isPositionLocked": false
},
{
"id": 2955,
"localizeInfos": {
"title": "Продукт"
},
"statusIdentifier": "sale",
"statusLocalizeInfos": {
"title": "Распродажа"
},
"attributeSetIdentifier": null,
"position": 2,
"templateIdentifier": null,
"shortDescTemplateIdentifier": null,
"price": null,
"additional": {
"prices": {
"min": 50,
"max": 150
}
},
"sku": null,
"isSync": false,
"attributeValues": {},
"categories": [
"catalog"
],
"isVisible": true,
"isPositionLocked": false
},
{
"id": 2957,
"localizeInfos": {
"title": "Космо"
},
"statusIdentifier": "sale",
"statusLocalizeInfos": {
"title": "Распродажа"
},
"attributeSetIdentifier": "products",
"position": 3,
"templateIdentifier": null,
"shortDescTemplateIdentifier": null,
"price": 150,
"additional": {
"prices": {
"min": 50,
"max": 150
}
},
"sku": null,
"isSync": true,
"attributeValues": {
"product-name": {
"type": "string",
"value": "Космо",
"isIcon": false,
"position": 0,
"additionalFields": [],
"isProductPreview": false
},
"price": {
"type": "integer",
"value": 150,
"isIcon": false,
"position": 1,
"additionalFields": [],
"isProductPreview": false
},
"currency_products": {
"type": "string",
"value": "",
"isIcon": false,
"position": 2,
"additionalFields": [],
"isProductPreview": false
},
"img": {
"type": "image",
"value": [],
"isIcon": false,
"position": 3,
"additionalFields": [],
"isProductPreview": false
}
},
"categories": [
"catalog"
],
"isVisible": true,
"isPositionLocked": false
}
],
"total": 3
}

Схема ответа

Схема: IProductsResponse

total: number
Общее количество найденных продуктов.
пример: 100

items: IProductsEntity[]
Массив сущностей продуктов.
пример:

[
{
"id": 12345,
"title": "Продукт 1"
},
{
"id": 67890,
"title": "Продукт 2"
}
]