getProductsByIds
Obteniendo múltiples productos por sus ids.
Descripción
Este método recupera objetos de productos basados en sus identificadores (ids) desde la API. Devuelve una Promesa que se resuelve en objetos IProductsEntity para el producto.
Productos.getProductsByIds(
ids,
langCode,
userQuery
);
Esquema de parámetros
Esquema
ids: string
Identificadores de la página del producto para los cuales encontrar relaciones
ejemplo: "12345,67890"
langCode: string
Código de idioma. Por defecto "en_US"
userQuery: IProductsQuery
Conjunto opcional de parámetros de consulta
ejemplo:
{
"limit": 30,
"offset": 0,
"sortOrder": "DESC",
"sortKey": "id",
"statusId": 123,
"statusMarker": "in_stock",
"conditionValue": "new",
"conditionMarker": "equals",
"attributeMarker": "color"
}
userQuery.offset(required): number
Parámetro para paginación. Por defecto: 0.
userQuery.limit(required): number
Parámetro para paginación. Por defecto: 30.
userQuery.sortOrder(required): string
Orden de clasificación "DESC" | "ASC". Por defecto: "DESC".
userQuery.sortKey(required): string
Campo para ordenar (por defecto - null). Valores posibles: "id", "position", "title", "date", "price". Por defecto: null.
userQuery.templateMarker: string | null
Marcador de plantilla de la página del producto, por defecto null.
ejemplo: "template_12345"
userQuery.statusMarker: string | null
Marcador de estado de la página del producto, por defecto null.
ejemplo: "in_stock"
userQuery.conditionValue: string | null
El valor que se está buscando, por defecto null.
ejemplo: "new"
userQuery.attributeMarker: string | null
El identificador de texto del atributo indexado por el cual se filtran los valores, por defecto null.
ejemplo: "color"
userQuery.conditionMarker: string | null
Marcador de la condición del filtro por el cual se filtran los valores, por defecto null.
ejemplo: "equals"
Ejemplos
Ejemplo mínimo
const response = await Products.getProductsByIds('1, 5, 8');
Ejemplo con atributos
const userQuery = {
"offset": 0,
"limit": 30,
"sortOrder": "DESC",
"sortKey": "id"
};
const response = await Products.getProductsByIds('1, 5, 8', 'en_US', userQuery);
Ejemplo de respuesta
[
{
"id": 2954,
"localizeInfos": {
"title": "Caja"
},
"statusIdentifier": "venta",
"statusLocalizeInfos": {
"title": "Venta"
},
"attributeSetIdentifier": "productos",
"position": 2,
"templateIdentifier": null,
"shortDescTemplateIdentifier": "product_preview",
"price": 51,
"additional": {
"prices": {
"min": 51,
"max": 150
}
},
"sku": null,
"isSync": true,
"attributeValues": {
"product-name": {
"type": "string",
"value": "nombre-del-producto",
"isIcon": false,
"position": 0,
"additionalFields": [],
"isProductPreview": false
},
"price": {
"type": "integer",
"value": 51,
"isIcon": false,
"position": 1,
"additionalFields": [],
"isProductPreview": false
},
"currency_products": {
"type": "string",
"value": "usd",
"isIcon": false,
"position": 2,
"additionalFields": [],
"isProductPreview": false
},
"img": {
"type": "image",
"value": [],
"isIcon": false,
"position": 3,
"additionalFields": [],
"isProductPreview": false
}
},
"categories": [
"catálogo"
],
"isVisible": true,
"productPages": [
{
"id": 2847,
"pageId": 10,
"productId": 2954,
"positionId": 3190,
"categoryPath": "catálogo"
}
],
"blocks": [
"product_block",
"product_block"
]
},
{
"id": 2955,
"localizeInfos": {
"title": "Producto"
},
"statusIdentifier": "venta",
"statusLocalizeInfos": {
"title": "Venta"
},
"attributeSetIdentifier": null,
"position": 1,
"templateIdentifier": null,
"shortDescTemplateIdentifier": null,
"price": null,
"additional": {
"prices": {
"min": 51,
"max": 150
}
},
"sku": null,
"isSync": false,
"attributeValues": {},
"categories": [
"catálogo"
],
"isVisible": true,
"productPages": [
{
"id": 2848,
"pageId": 10,
"productId": 2955,
"positionId": 3191,
"categoryPath": "catálogo"
}
],
"blocks": [
"product_block",
"product_block"
]
}
]
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 null).
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 ordenar).
ejemplo: 1
templateIdentifier: string | null
Identificador de usuario de la plantilla vinculada.
ejemplo: "template_12345"
shortDescTemplateIdentifier: string | null
Identificador 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 null.
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": "rojo"
}
]
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
]