Pular para o conteúdo principal

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
]