getProductsByIds
Obtendo múltiplos produtos pelos seus ids.
Descrição
Este método recupera objetos de produtos com base em seus identificadores (ids) da API. Ele retorna uma Promise que resolve para objetos IProductsEntity para o produto.
Produtos.getProductsByIds(
ids,
langCode,
userQuery
);
Esquema de parâmetros
Esquema
ids: string
Identificadores da página do produto para os quais encontrar relacionamentos
exemplo: "12345,67890"
langCode: string
Código do idioma. Padrão "en_US"
userQuery: IProductsQuery
Conjunto opcional de parâmetros de consulta
exemplo:
{
"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 paginação. Padrão: 0.
userQuery.limit(required): number
Parâmetro para paginação. Padrão: 30.
userQuery.sortOrder(required): string
Ordem de classificação "DESC" | "ASC". Padrão: "DESC".
userQuery.sortKey(required): string
Campo para ordenação (padrão - null). Valores possíveis: "id", "position", "title", "date", "price". Padrão: null.
userQuery.templateMarker: string | null
Marcador de template da página do produto, padrão null.
exemplo: "template_12345"
userQuery.statusMarker: string | null
Marcador de status da página do produto, padrão null.
exemplo: "in_stock"
userQuery.conditionValue: string | null
O valor que está sendo pesquisado, padrão null.
exemplo: "new"
userQuery.attributeMarker: string | null
O identificador de texto do atributo indexado pelo qual os valores são filtrados, padrão null.
exemplo: "color"
userQuery.conditionMarker: string | null
Marcador da condição do filtro pelo qual os valores são filtrados, padrão null.
exemplo: "equals"
Exemplos
Exemplo mínimo
const response = await Products.getProductsByIds('1, 5, 8');
Exemplo com atributos
const userQuery = {
"offset": 0,
"limit": 30,
"sortOrder": "DESC",
"sortKey": "id"
};
const response = await Products.getProductsByIds('1, 5, 8', 'en_US', userQuery);
Exemplo de resposta
[
{
"id": 2954,
"localizeInfos": {
"title": "Caixa"
},
"statusIdentifier": "sale",
"statusLocalizeInfos": {
"title": "Venda"
},
"attributeSetIdentifier": "products",
"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": "product-name",
"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": [
"catalog"
],
"isVisible": true,
"productPages": [
{
"id": 2847,
"pageId": 10,
"productId": 2954,
"positionId": 3190,
"categoryPath": "catalog"
}
],
"blocks": [
"product_block",
"product_block"
]
},
{
"id": 2955,
"localizeInfos": {
"title": "Produto"
},
"statusIdentifier": "sale",
"statusLocalizeInfos": {
"title": "Venda"
},
"attributeSetIdentifier": null,
"position": 1,
"templateIdentifier": null,
"shortDescTemplateIdentifier": null,
"price": null,
"additional": {
"prices": {
"min": 51,
"max": 150
}
},
"sku": null,
"isSync": false,
"attributeValues": {},
"categories": [
"catalog"
],
"isVisible": true,
"productPages": [
{
"id": 2848,
"pageId": 10,
"productId": 2955,
"positionId": 3191,
"categoryPath": "catalog"
}
],
"blocks": [
"product_block",
"product_block"
]
}
]
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
Conjunto de ids 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
]