getCartComplementByProductIds
Obtenha produtos "complete seu carrinho" por uma lista explícita de productIds.
Descrição
Este método retorna produtos "complete seu carrinho" para uma lista explícita de identificadores de produtos passados no corpo da solicitação (em vez de usar o carrinho do contexto). Ele retorna uma Promise que resolve para um objeto IProductsResponse - um contêiner com items (os produtos), total e totalFound - não um array simples.
Blocks.getCartComplementByProductIds(
marker*,
body*
);
Esquema de parâmetros
Esquema
marker(obrigatório): string
Marcador de bloco
exemplo: "cart_complement_block"
body(obrigatório): IBlockProductsLookup
Corpo de pesquisa
exemplo:
{
"productIds": [
1,
2
],
"langCode": "en_US"
}
body.productIds(obrigatório): number[]
Identificadores de produtos a serem pesquisados.
exemplo: [1, 2, 3]
body.langCode: string
Códigos de idioma. Padrão: "en_US".
body.limit: number
Número máximo de produtos a retornar.
exemplo: 10
body.signPrice: string
Marcador de armazenamento de pedido para fixação de preço. Se o parâmetro estiver definido, o preço é fixado por um certo tempo.
veja: Fixação do preço
💲
signPricebloqueia o preço retornado por um tempo limitado — defina-o como seu marcador de armazenamento de pedido. Veja Fixação do preço (signPrice).
Exemplos
Exemplo mínimo
const response = await Blocks.getCartComplementByProductIds('cart_complement_block', {
productIds: [1, 2, 3],
});
Exemplo com atributos
const response = await Blocks.getCartComplementByProductIds('cart_complement_block', {
productIds: [1, 2, 3],
langCode: 'en_US',
limit: 10,
});
Exemplo de resposta
{
"items": [
{
"id": 2954,
"localizeInfos": {
"title": "Box"
},
"statusIdentifier": "sale",
"statusLocalizeInfos": {
"title": "Sale"
},
"attributeSetIdentifier": "products",
"position": 1,
"templateIdentifier": null,
"shortDescTemplateIdentifier": "product_preview",
"price": 51,
"additional": {
"prices": {
"min": 51,
"max": 180
}
},
"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": {
"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
}
},
"categories": [
"catalog"
],
"rating": {},
"isVisible": true,
"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": {}
}
],
"total": 1,
"totalFound": 1
}
Esquema de resposta
Esquema: IProductsResponse
total: number
O número total de produtos encontrados.
exemplo: 100
items: IProductsEntity[]
Um array de entidades de produtos.
exemplo:
[
{
"id": 12345,
"title": "Product 1"
},
{
"id": 67890,
"title": "Product 2"
}
]
items.id: number
O identificador único.
exemplo: 12345
items.localizeInfos: ILocalizeInfo
O nome dos produtos, levando em conta a localização.
exemplo:
{}
items.statusIdentifier: string | null
Identificadores de status da página do produto (pode ser nulo).
exemplo: "in_stock"
items.statusLocalizeInfos: ILocalizeInfo
Nome de status localizado para o produto.
exemplo:
{ "title": "Sale" }
items.attributeSetIdentifier: string | null
ID do conjunto de atributos.
exemplo: "set_12345"
items.position: number
Número do item (para ordenação).
exemplo: 1
items.price: number | null
O valor do preço da página do produto retirado do índice.
exemplo: 150.00
items.additional: object
Valor adicional do índice.
exemplo:
{
"prices": {
"min": 5,
"max": 150
}
}
items.sku: string | null
SKU do produto (Unidade de Manutenção de Estoque), pode ser nulo.
exemplo: "SKU_12345"
items.isSync: boolean
Indicação de indexação da página.
exemplo: true
items.attributeValues: IAttributeValues
Array de valores de atributos do índice, representados.
exemplo:
[
{
"id": "color",
"value": "red"
}
]
items.categories: string[]
Categorias de produtos.
exemplo:
[
1,
2,
3
]
items.isVisible: boolean
Um sinal de visibilidade da página.
exemplo: true
items.moduleFormConfigs: Array<IFormConfig>
Configurações de formulário do módulo (opcional).
items.rating: IRating
Dados de avaliação.
items.isPositionLocked: boolean
Indicador de bloqueio da posição de ordenação (opcional).
exemplo: false
items.relatedIds: number[]
IDs de páginas de produtos relacionadas.
exemplo:
[
12345,
67890
]
items.paymentStages: unknown
Dados das etapas de pagamento (pode ser nulo).
exemplo: null
items.distance: number
Distância de relevância da pesquisa vetorial (semântica). Presente apenas nos resultados da pesquisa vetorial.
exemplo: 0.42
items.discountConfig: Record<string, unknown>
Objeto de configuração de desconto.
exemplo:
{}
items.templateIdentifier: string | null
ID do usuário do template vinculado.
exemplo: "template_12345"
items.shortDescTemplateIdentifier: string | null
ID do usuário do template vinculado para uma descrição curta.
exemplo: "short_desc_template_12345"
items.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..."
items.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"
}
]
items.blocks: string[]
Array de identificadores de blocos.
exemplo:
[
"block_12345",
"block_67890"
]
totalFound: number
Número de produtos correspondentes antes que os limites sejam aplicados; retornado pelos endpoints de produtos de bloco (similarProducts, recomendações de carrinho/lista de desejos, pedidos frequentes). Opcional.
exemplo: 2
🔒
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).