getProductsByPageUrl
Поиск всех объектов продуктов с пагинацией для выбранной категории (по её URL)
Products.getProductsByPageUrl(url, body, langCode, userQuery)
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": ""
}
]
const value = await Products.getProductsByPageUrl('catalog', body)
Схема
url:* строка
URL страницы
пример: catalog
body:* IFilterParams[]
Тело запроса
пример: []
langCode: строка
Параметр кода языка. По умолчанию "en_US"
пример: en_US
userQuery: IProductsQuery
Необязательные параметры запроса.
userQuery.offset: число
Необязательный параметр для пагинации, по умолчанию 0
пример: 0
userQuery.limit: число
Необязательный параметр для пагинации, по умолчанию 30
пример: 30
userQuery.statusMarker: строка
Необязательный идентификатор статуса страницы продукта
пример: waiting
userQuery.conditionValue: строка
Необязательное значение, которое ищется
пример: 1
userQuery.conditionMarker: строка
Необязательный идентификатор условия фильтра, по которому фильтруются значения
пример: mth
userQuery.attributeMarker: строка
Необязательный текстовый идентификатор индексируемого атрибута, по которому фильтруются значения
пример: price
userQuery.sortOrder: строка
Необязательный порядок сортировки DESC | ASC
пример: DESC
userQuery.sortKey: строка
Необязательное поле для сортировки (id, title, date, price, position, status)
пример: id
Схема (тело)
attributeMarker: строка
текстовый идентификатор атрибута
пример: price
conditionMarker: строка
текстовый идентификатор условия
пример: in
statusMarker: строка
текстовый идентификатор статуса страницы продукта (по умолчанию не установлен)
пример: status_1
conditionValue: число
значение условия
пример: 1
pageUrls: Array<string>
уникальная часть URL страницы (после последнего "/")
title: строка
пример: Iphone 17 Pro
название продукта
isNested: булево
индикатор поиска для всех вложенных категорий (pageUrls)
при мер: false
Этот метод ищет все объекты продуктов с пагинацией для выбранной категории, основываясь на предоставленных параметрах запроса (userQuery). Он возвращает Promise, который разрешается в массив элементов, где каждый элемент является объектом.
Пример возвращаемого значения:
{
"total": 100,
"items": [
{
"id": 2,
"localizeInfos": {
"title": "Box"
},
"statusIdentifier": "sold",
"statusLocalizeInfos": {
"title": "Продано"
},
"attributeSetIdentifier": "products",
"position": 3,
"templateIdentifier": null,
"shortDescTemplateIdentifier": null,
"price": 148,
"additional": {
"prices": {
"min": 120,
"max": 150
}
},
"sku": null,
"isSync": true,
"attributeValues": {
"price": {
"type": "integer",
"value": 148,
"position": 1,
"isProductPreview": false
},
"product-name": {
"type": "string",
"value": "Текст коробки",
"position": 0,
"isProductPreview": false
},
"currency_products": {
"type": "string",
"value": "$",
"position": 2,
"isProductPreview": false
}
},
"isVisible": true,
"isPositionLocked": false
}
]
}
Схема
total: число
общее количество найденных зап исей
пример: 100
id: число
идентификатор объекта
пример: 1764
additional: Record<string, any>
дополнительное значение из индекса
пример:
{
"prices": {
"min": 0,
"max": 100
}
}
statusLocalizeInfos: CommonLocalizeInfos
json-описание объекта статуса элемента с учетом языка
пример:
{ "title": "Продукт" }
localizeInfos: Record<string, any>
json-описание основного объекта данных страницы с учетом языка "en_US" (например)
пример:
{
"en_US": {
"title": "Каталог",
"plainContent": "Содержимое для каталога",
"htmlContent": "<b>Содержимое для каталога</b>",
"menuTitle": "Каталог"
}
}
isVisible: булево
Флаг видимости страницы
пример: true
position: число
номер позиции (для сортировки)
пример: 192
templateIdentifier: строка
пользовательский идентификатор связанного шаблона
пример: my-template
attributeSetId: число
идентификатор набора атрибутов
пример: 7
blocks: массив
блоки продукта
пример: ['product_block']
isSync: булево
индикатор индексации страницы (true или false)
пример: false
attributeValues: Record<string, string>
Массив значений атрибутов из индекса (представленный в виде пары пользовательский идентификатор атрибута: значение атрибута)
пример:
{
"en_US": {
"marker": {
"value": "",
"type": "string"
}
}
}
statusId: число
идентификаторы статусов страницы продукта (могут быть null)
пример: 1
sku: строка
значение SKU продукта, взятое из индекса
пример: 1
relatedIds: массив
идентификаторы связанных страниц продуктов
пример:
[ 1, 2, 3 ]
price: число
значение цены страницы продукта, взятое из индекса
пример: 0
templateIdentifier строка
пользовательский идентификатор связанного шаблона
пример: my-template
shortDescTemplateIdentifier строка
пользовательский идентификатор связанного шаблона для краткого описания
пример: my-template-short