searchProduct
Busca rápida por objetos de página com saída limitada.
Descrição
Este método realiza uma busca rápida por objetos de página de produtos com base em um nome de consulta de texto. A busca é realizada no campo título do objeto localizeInfos, levando em consideração o código de idioma especificado. Ele retorna uma Promise que se resolve em um array de objetos de Produto indexados IProductsEntity.
Products.searchProduct(
name,
langCode
);
Esquema de parâmetros
Esquema
name(obrigatório): string
Texto para buscar objetos de página de produtos (a busca é baseada no campo título do objeto localizeInfos com consideração de idioma)
exemplo: "laminat"
langCode: string
Código do idioma. Padrão: "en_US"
exemplo: "en_US"
Exemplos
Exemplo mínimo
const response = await Products.searchProduct('cup');
Exemplo com atributo langCode
const response = await Products.searchProduct('cup', 'en_US');
Exemplo de resposta
[
{
"id": 2957,
"localizeInfos": {
"title": "Cosmo"
},
"statusIdentifier": "sale",
"statusLocalizeInfos": {
"title": "Venda"
},
"attributeSetIdentifier": "products",
"position": 1,
"templateIdentifier": null,
"shortDescTemplateIdentifier": null,
"price": 150,
"additional": {
"prices": {
"min": 51,
"max": 150
}
},
"sku": null,
"isSync": true,
"attributeValues": {
"product-name": {
"type": "string",
"value": "Cosmo",
"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,
"productPages": [
{
"id": 2850,
"pageId": 10,
"productId": 2957,
"positionId": 3193,
"categoryPath": "catalog"
}
],
"blocks": [
"product_block"
],
"moduleFormConfigs": []
}
]
Esquema de resposta
Esquema: IProductsEntity[]
id: number
O identificador único.
exemplo: 12345
localizeInfos: ILocalizeInfo
O nome dos produtos, levando em conta a localização.
statusIdentifier: string | null
Identificadores de status da página do produto (pode ser nulo).
exemplo: "in_stock"
statusLocalizeInfos: any
Descrição JSON do objeto de status do item, levando em conta o idioma.
attributeSetIdentifier: string | null
ID do conjunto de atributos.
exemplo: "set_12345"
position: number
Número do item (para ordenação).
exemplo: 1
templateIdentifier: string | null
ID do usuário do template vinculado.
exemplo: "template_12345"
shortDescTemplateIdentifier: string | null
ID do usuário do template vinculado para uma descrição curta.
exemplo: "short_desc_template_12345"
price: number
O valor do preço da página do produto retirado do índice.
exemplo: 150
additional: object
Valor adicional do índice.
exemplo:
{
"en": "Em Estoque",
"de": "Auf Lager"
}
sku: string | null
SKU do produto (Stock Keeping Unit), pode ser nulo.
exemplo: "SKU_12345"
isSync: boolean
Indicação de indexação da página.
exemplo: true
attributeValues: AttributeType
Array de valores de atributos do índice, representados.
exemplo:
[
{
"id": "color",
"value": "red"
}
]
categories: string[]
Categorias de produtos.
exemplo:
[
1,
2,
3
]
isVisible: boolean
Um sinal de visibilidade da página.
exemplo: true
productPages: any[]
Array de páginas de produtos ou um único objeto de página de produto.
blocks: string[]
Array de identificadores de blocos.
exemplo:
[
"block_12345",
"block_67890"
]
isPositionLocked: boolean
Indicador de bloqueio da posição de ordenação (opcional).
exemplo: false
relatedIds: number[]
IDs de páginas de produtos relacionadas.
exemplo:
[
12345,
67890
]