getProductsByPageUrl
Pesquise por todos os objetos de produto com paginação para a categoria selecionada (pelo seu 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)
Esquema
url:* string
URL da página
exemplo: catalog
body:* IFilterParams[]
Corpo da solicitação
exemplo: []
langCode: string
Parâmetro do código de idioma. Padrão "en_US"
exemplo: en_US
userQuery: IProductsQuery
Parâmetros de consulta opcionais.
userQuery.offset: number
Parâmetro opcional para paginação, padrão é 0
exemplo: 0
userQuery.limit: number
Parâmetro opcional para paginação, padrão é 30
exemplo: 30
userQuery.statusMarker: string
Identificador opcional do status da página do produto
exemplo: waiting
userQuery.conditionValue: string
Valor opcional que está sendo pesquisado
exemplo: 1
userQuery.conditionMarker: string
Identificador opcional da condição de filtro pela qual os valores são filtrados
exemplo: mth
userQuery.attributeMarker: string
Identificador de texto opcional do atributo indexado pelo qual os valores são filtrados
exemplo: price
userQuery.sortOrder: string
Ordem de classificação opcional DESC | ASC
exemplo: DESC
userQuery.sortKey: string
Campo opcional para classificar (id, title, date, price, position, status)
exemplo: id
Esquema (corpo)
attributeMarker: string
identificador textual do atributo
exemplo: price
conditionMarker: string
identificador textual da condição
exemplo: in
statusMarker: string
identificador textual do status da página do produto (padrão não definido)
exemplo: status_1
conditionValue: number
valor da condição
exemplo: 1
pageUrls: Array<string>
parte única da URL da página (após a última "/")
title: string
exemplo: Iphone 17 Pro
nome do produto
isNested: boolean
indicador de pesquisa para todas as categorias aninhadas (pageUrls)
exemplo: false
Este método pesquisa por todos os objetos de produtos com paginação para a categoria selecionada, com base nos parâmetros de consulta fornecidos (userQuery). Ele retorna uma Promise que resolve para um array de itens, onde cada item é um objeto.
Exemplo de retorno:
{
"total": 100,
"items": [
{
"id": 2,
"localizeInfos": {
"title": "Box"
},
"statusIdentifier": "sold",
"statusLocalizeInfos": {
"title": "Vendido"
},
"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": "Texto da caixa",
"position": 0,
"isProductPreview": false
},
"currency_products": {
"type": "string",
"value": "$",
"position": 2,
"isProductPreview": false
}
},
"isVisible": true,
"isPositionLocked": false
}
]
}
Esquema
total: number
número total de registros encontrados
exemplo: 100
id: number
identificador do objeto
exemplo: 1764
additional: Record<string, any>
valor adicional do índice
exemplo:
{
"prices": {
"min": 0,
"max": 100
}
}
statusLocalizeInfos: CommonLocalizeInfos
descrição json do objeto de status do item, levando em conta o idioma
exemplo:
{ "title": "Produto" }
localizeInfos: Record<string, any>
descrição json do objeto de dados da página principal levando em conta o idioma "en_US" (por exemplo)
exemplo:
{
"en_US": {
"title": "Catálogo",
"plainContent": "Conteúdo para catálogo",
"htmlContent": "<b>Conteúdo para catálogo</b>",
"menuTitle": "Catálogo"
}
}
isVisible: boolean
Flag de visibilidade da página
exemplo: true
position: number
número da posição (para ordenação)
exemplo: 192
templateIdentifier: string
identificador personalizado do template associado
exemplo: my-template
attributeSetId: number
identificador do conjunto de atributos
exemplo: 7
blocks: array
blocos de produto
exemplo: ['product_block']
isSync: boolean
indicador de indexação da página (true ou false)
exemplo: false
attributeValues: Record<string, string>
Array de valores de atributos do índice (apresentados como um par de identificador de atributo personalizado: valor do atributo)
exemplo:
{
"en_US": {
"marker": {
"value": "",
"type": "string"
}
}
}
statusId: number
identificadores de status da página do produto (pode ser nulo)
exemplo: 1
sku: string
valor SKU do produto retirado do índice
exemplo: 1
relatedIds: array
identificadores de páginas de produtos relacionados
exemplo:
[ 1, 2, 3 ]
price: number
valor do preço da página do produto retirado do índice
exemplo: 0
templateIdentifier string
identificador personalizado do template associado
exemplo: my-template
shortDescTemplateIdentifier string
identificador personalizado do template associado para descrição curta
exemplo: my-template-short