getProducts
Pesquise todos os objetos de produto com paginação e filtro
Products.getProducts(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.getProducts(body)
Esquema
body:* IFilterParams[]
Corpo da solicitação. Padrã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.sortOrder: string
Ordem de classificação opcional DESC | ASC
exemplo: DESC
userQuery.sortKey: string
Campo opcional para ordenar (id, title, date, price, position, status)
exemplo: id
userQuery.statusId: number
Parâmetro opcional - pesquisa por id de status
exemplo: 1
userQuery.statusMarker: string
Identificador opcional do status da página do produto
exemplo: waiting
userQuery.conditionValue: string
Valor opcional que está sendo pesquisado
exemplo: 3
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
Esquema (body)
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 todos os objetos de produtos com paginação que não têm uma categoria, com base nos parâmetros de consulta fornecidos (userQuery). Ele retorna uma Promise que se resolve em um array de itens, onde cada item é um objeto.
Exemplo de retorno:
{
"total": 100,
"items": [
{
"id": 4,
"localizeInfos": {
"title": "Cosmo"
},
"statusIdentifier": null,
"statusLocalizeInfos": {},
"attributeSetIdentifier": "products",
"position": 1,
"templateIdentifier": null,
"isPositionLocked": false,
"shortDescTemplateIdentifier": null,
"price": 150,
"additional": {
"prices": {
"min": 120,
"max": 150
}
},
"sku": null,
"isSync": true,
"attributeValues": {
"price": {
"type": "integer",
"value": 150,
"position": 1,
"isProductPreview": false
},
"product-name": {
"type": "string",
"value": "Cosmo",
"position": 0,
"isProductPreview": false
},
"currency_products": {
"type": "string",
"value": "",
"position": 2,
"isProductPreview": false
}
},
"isVisible": true
}
]
}
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 das 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