Pular para o conteúdo principal

searchProduct

Busca rápida por objetos de página de produtos com saída limitada

Products.searchProduct(name, langCode)

const value = await Products.searchProduct('cup')
Esquema

name:* string
Texto para buscar objetos de página de produtos (a busca é baseada no campo título do objeto localizeInfos, considerando o idioma especificado)
exemplo: cup

langCode: string
Códigos de idioma. Padrão "en_US"
exemplo: en_US

Este método realiza uma busca rápida por objetos de página de produtos com base em uma consulta de texto nome. A busca é realizada no campo título do objeto localizeInfos, levando em consideração o código de idioma lang especificado. Ele retorna uma Promise que resolve para um array de objetos Product indexados.

Exemplo de retorno:

[
{
"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,
"productPages": {
"id": 6,
"pageId": 2,
"productId": 4,
"positionId": 229
},
"blocks": "product_block"
}
]
Esquema

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 produtos
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 (apresentado 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