getProductsByIds
Obtendo múltiplos produtos pelos seus ids.
Descrição
Este método recupera múltiplos objetos de produto pelos seus identificadores (ids separados por vírgula). Ele retorna uma Promise que resolve para um array de objetos IProductsEntity.
Produtos.getProductsByIds(
ids,
langCode,
userQuery
);
Esquema de parâmetros
Esquema
ids(obrigatório): 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: IProductsByIdsQuery
Parâmetros de consulta opcionais
exemplo:
{
"limit": 30,
"offset": 0,
"signPrice": "orders"
}
userQuery.signPrice: string
Marcador de armazenamento de pedido para fixação de preço.
Por padrão, você pode recuperar 10 objetos. Isso se deve ao limite de registro nas configurações de permissões do módulo.
Para que a paginação funcione corretamente, você precisa configurar as Permissões do módulo de acordo com suas necessidades na seção correspondente.
💲
signPricebloqueia o preço retornado por um tempo limitado — defina-o como seu marcador de armazenamento de pedidos. Veja Fixação do preço (signPrice).
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);
Use filtros para encontrar produtos específicos:
attributeMarker: O identificador de texto do atributo indexado pelo qual os valores são filtrados. conditionMarker: O tipo de condição a ser aplicada ao valor do atributo.
| Marcador | Significado | Exemplo |
|---|---|---|
| eq | Igual | statusId = 1 (apenas ativo) |
| neq | Não igual | categoria ≠ "arquivado" |
| in | Contém (um dos) | categoria in ["eletrônicos", "livros"] |
| nin | Não contém | marca não in ["marca_falsa"] |
| exs | Existe (tem valor) | Tem descrição |
| nexs | Não existe | Sem imagem |
| pat | Corresponde ao padrão | título corresponde "jaqueta" |
| same | Corresponde exatamente ao valor | sku é exatamente "ABC-123" |
| same_part | Corresponde a uma parte do valor exatamente | parte do sku é exatamente "ABC" |
conditionValue: O valor a ser comparado.
Exemplo de resposta
[
{
"id": 2954,
"localizeInfos": {
"title": "Box"
},
"isVisible": true,
"isSync": true,
"sku": null,
"price": 51,
"additional": {
"prices": {
"min": 51,
"max": 180
}
},
"categories": [
"catalog"
],
"statusIdentifier": "sale",
"statusLocalizeInfos": {
"title": "Sale"
},
"templateIdentifier": null,
"shortDescTemplateIdentifier": "product_preview",
"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": {
"size": 742690,
"filename": "files/project/product/2954/image/48853cbf-4462-42c6-8b99-d14f721c21a2.jpeg",
"contentType": "image/jpeg",
"previewLink": {
"default": [
"data:image/webp;base64,UklGRmwAAABXRUJQVlA4IGAAAADQAQCdASoQABAABUB8JbACdACZZ3P8AAD+wGsUXBs/r069WpdrcuaTNfVxqWIetuaIdIvOMkSp9iJRxE+KhA2YHbrVehhMRj/j5+DUdjWn1v5YtZ7vw0IgPi9R5vkAAAA=",
"https://your-project.oneentry.cloud/cloud-static/files/project/product/2954/image/48853cbf-4462-42c6-8b99-d14f721c21a2.preview.default.jpeg"
]
},
"downloadLink": "https://your-project.oneentry.cloud/cloud-static/files/project/product/2954/image/48853cbf-4462-42c6-8b99-d14f721c21a2.jpeg",
"defaultPreview": "default"
},
"isIcon": false,
"position": 3,
"additionalFields": {},
"isProductPreview": true
}
},
"attributeSetIdentifier": "products",
"isPositionLocked": false,
"position": 1,
"rating": {},
"paymentStages": null,
"productPages": [
{
"id": 2847,
"pageId": 10,
"productId": 2954,
"positionId": 3190,
"categoryPath": "catalog"
}
],
"blocks": [
"product_block",
"test",
"similar"
],
"moduleFormConfigs": [
{
"id": 12,
"formIdentifier": "review",
"moduleIdentifier": "catalog",
"isGlobal": false,
"isClosed": false,
"isModerate": false,
"viewOnlyMyData": false,
"commentOnlyMyData": false,
"entityIdentifiers": [
{
"id": "catalog",
"isNested": true
}
],
"formDataCount": 688,
"ratingCalculation": "average",
"allowHalfRatings": null,
"maxRatingScale": null,
"isAnonymous": null,
"allowRerating": null,
"isRating": null,
"entityFormDataCount": {
"2954": 688
},
"nestedEntityIdentifiers": [
"catalog"
],
"exceptionIds": []
}
],
"discountConfig": {}
},
{
"id": 2955,
"localizeInfos": {
"title": "Product"
},
"isVisible": true,
"isSync": true,
"sku": null,
"price": 150,
"additional": {
"prices": {
"min": 51,
"max": 180
}
},
"categories": [
"catalog"
],
"statusIdentifier": "sale",
"statusLocalizeInfos": {
"title": "Sale"
},
"templateIdentifier": null,
"shortDescTemplateIdentifier": null,
"attributeValues": {
"p": {
"type": "float",
"value": 150,
"isIcon": false,
"position": 0,
"additionalFields": {},
"isProductPreview": false
},
"p1": {
"type": "float",
"value": 50,
"isIcon": false,
"position": 1,
"additionalFields": {},
"isProductPreview": false
},
"p2": {
"type": "float",
"value": 50,
"isIcon": false,
"position": 2,
"additionalFields": {},
"isProductPreview": false
},
"p3": {
"type": "float",
"value": 50,
"isIcon": false,
"position": 3,
"additionalFields": {},
"isProductPreview": false
},
"currency": {
"type": "string",
"value": "USD",
"isIcon": false,
"position": 4,
"additionalFields": {},
"isProductPreview": false
}
},
"attributeSetIdentifier": "test",
"isPositionLocked": false,
"position": 2,
"rating": {},
"paymentStages": [
{
"title": "p1",
"value": 50,
"marker": "p1"
},
{
"title": "p2",
"value": 50,
"marker": "p2"
},
{
"title": "p3",
"value": 50,
"marker": "p3"
}
],
"productPages": [
{
"id": 2848,
"pageId": 10,
"productId": 2955,
"positionId": 3191,
"categoryPath": "catalog"
}
],
"blocks": [
"product_block",
"test",
"similar"
],
"moduleFormConfigs": [
{
"id": 12,
"formIdentifier": "review",
"moduleIdentifier": "catalog",
"isGlobal": false,
"isClosed": false,
"isModerate": false,
"viewOnlyMyData": false,
"commentOnlyMyData": false,
"entityIdentifiers": [
{
"id": "catalog",
"isNested": true
}
],
"formDataCount": 688,
"ratingCalculation": "average",
"allowHalfRatings": null,
"maxRatingScale": null,
"isAnonymous": null,
"allowRerating": null,
"isRating": null,
"entityFormDataCount": {
"2954": 688
},
"nestedEntityIdentifiers": [
"catalog"
],
"exceptionIds": []
}
],
"discountConfig": {}
}
]
Esquema de resposta
Esquema: IProductsEntity[]
id: number
O identificador único.
exemplo: 12345
localizeInfos: ILocalizeInfo
O nome dos produtos, levando em conta a localização.
exemplo:
{}
statusIdentifier: string | null
Identificadores de status da página do produto (pode ser nulo).
exemplo: "em_estoque"
statusLocalizeInfos: ILocalizeInfo
Nome de status localizado para o produto.
exemplo:
{ "title": "Sale" }
attributeSetIdentifier: string | null
Conjunto de identificadores de atributos.
exemplo: "set_12345"
position: number
Número do item (para ordenação).
exemplo: 1
price: number | null
O valor do preço da página do produto retirado do índice.
exemplo: 150.00
additional: object
Valor adicional do índice.
exemplo:
{
"prices": {
"min": 5,
"max": 150
}
}
sku: string | null
SKU do produto (Unidade de Manutenção de Estoque), pode ser nulo.
exemplo: "SKU_12345"
isSync: boolean
Indicação de indexação da página.
exemplo: true
attributeValues: IAttributeValues
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
moduleFormConfigs: Array<IFormConfig>
Configurações de formulário do módulo (opcional).
rating: IRating
Dados de avaliação.
isPositionLocked: boolean
Indicador de bloqueio da posição de ordenação (opcional).
exemplo: false
relatedIds: number[]
Ids das páginas de produtos relacionadas.
exemplo:
[
12345,
67890
]
paymentStages: unknown
Dados das etapas de pagamento (pode ser nulo).
exemplo: null
distance: number
Distância de relevância da busca vetorial (semântica). Presente apenas nos resultados da busca vetorial.
exemplo: 0.42
discountConfig: Record<string, unknown>
Objeto de configuração de desconto.
exemplo:
{}
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"
signedPrice: string
O preço assinado do produto é obtido junto com os dados do produto quando signPrice é definido.
veja: Preço fixo do produto
exemplo: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
productPages: IProductPageRef[]
Array de referências de páginas de produtos vinculando o produto às suas páginas.
exemplo:
[
{
"id": 16,
"pageId": 4,
"productId": 15,
"positionId": 244,
"categoryPath": "products"
}
]
productPages.id: number
Identificador único do registro de link produto-página.
exemplo: 16
productPages.pageId: number
Identificador da página à qual o produto está vinculado.
exemplo: 4
productPages.productId: number
Identificador do produto.
exemplo: 15
productPages.positionId: number
Identificador da posição de ordenação dentro da página.
exemplo: 244
productPages.categoryPath: string
Caminho da categoria da página à qual o produto pertence.
exemplo: "produtos"
blocks: string[]
Array de identificadores de blocos.
exemplo:
[
"block_12345",
"block_67890"
]
🔒
signedPriceé o token assinado que carrega o preço bloqueado — passe-o de volta quando você criar um pedido. Veja Preço fixo do produto (signedPrice).
Exemplos de uso
Passo a passo na documentação:
- Obter produtos por IDs — busque múltiplos produtos de uma vez com uma lista de IDs separados por vírgula.
Experimente ao vivo
Execute este método interativamente no sandbox do JS SDK — conecte sua URL do Projeto e Token do App na primeira visita, depois abra:
- Obter produtos por IDs — busque múltiplos produtos de uma vez com uma lista de IDs separados por vírgula.