Saltar al contenido principal

searchProduct

Búsqueda rápida de objetos de página con salida limitada.

Descripción

Este método realiza una búsqueda rápida de objetos de página de productos basándose en un nombre de consulta de texto. La búsqueda se realiza en el campo de título del objeto localizeInfos, teniendo en cuenta el código de idioma especificado. Devuelve una Promesa que se resuelve en un array de objetos de producto indexados IProductsEntity.

Products.searchProduct(

name, langCode

);

Esquema de parámetros

Esquema

name(requerido): string
Texto para buscar objetos de página de productos (la búsqueda se basa en el campo de título del objeto localizeInfos con consideración del idioma)
ejemplo: "laminat"

langCode: string
Código de idioma. Predeterminado: "en_US"
ejemplo: "en_US"

Ejemplos

Ejemplo mínimo

const response = await Products.searchProduct('cup');

Ejemplo con atributo langCode

const response = await Products.searchProduct('cup', 'en_US');

Ejemplo de respuesta

[
{
"id": 2957,
"localizeInfos": {
"title": "Cosmo"
},
"statusIdentifier": "sale",
"statusLocalizeInfos": {
"title": "Venta"
},
"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 respuesta

Esquema: IProductsEntity[]

id: number
El identificador único.
ejemplo: 12345

localizeInfos: ILocalizeInfo
El nombre de los productos, teniendo en cuenta la localización.

statusIdentifier: string | null
Identificadores de estado de la página del producto (puede ser nulo).
ejemplo: "in_stock"

statusLocalizeInfos: any
Descripción JSON del objeto de estado del ítem, teniendo en cuenta el idioma.

attributeSetIdentifier: string | null
Conjunto de identificadores de atributos.
ejemplo: "set_12345"

position: number
Número del ítem (para ordenación).
ejemplo: 1

templateIdentifier: string | null
Id de usuario de la plantilla vinculada.
ejemplo: "template_12345"

shortDescTemplateIdentifier: string | null
Id de usuario de la plantilla vinculada para una descripción corta.
ejemplo: "short_desc_template_12345"

price: number
El valor del precio de la página del producto tomado del índice.
ejemplo: 150

additional: object
Valor adicional del índice.
ejemplo:

{
"en": "En Stock",
"de": "Auf Lager"
}

sku: string | null
SKU del producto (Unidad de Mantenimiento de Stock), puede ser nulo.
ejemplo: "SKU_12345"

isSync: boolean
Indicación de indexación de la página.
ejemplo: true

attributeValues: AttributeType
Array de valores de atributos del índice, representados.
ejemplo:

[
{
"id": "color",
"value": "red"
}
]

categories: string[]
Categorías de productos.
ejemplo:

[
1,
2,
3
]

isVisible: boolean
Un signo de visibilidad de la página.
ejemplo: true

productPages: any[]
Array de páginas de productos o un solo objeto de página de producto.

blocks: string[]
Array de identificadores de bloques.
ejemplo:

[
"block_12345",
"block_67890"
]

isPositionLocked: boolean
Indicador de bloqueo de posición de ordenación (opcional).
ejemplo: false

relatedIds: number[]
Ids de páginas de productos relacionadas.
ejemplo:

[
12345,
67890
]