getCartComplementByProductIds
Obtenha produtos para "completar seu carrinho" por uma lista explícita de productIds.
Descrição
Este método retorna produtos para "completar 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 array de objetos IProductsEntity.
Blocks.getCartComplementByProductIds(
marker*,
body*
);
Esquema de parâmetros
Esquema
marker(obrigatório): string
Marcador do bloco
exemplo: "cart_complement_block"
body(obrigatório): IBlockProductsLookup
Corpo da 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.
💲
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": 582,
"ratingCalculation": "average",
"allowHalfRatings": null,
"maxRatingScale": null,
"isAnonymous": null,
"allowRerating": null,
"isRating": null,
"entityFormDataCount": {
"2954": 582
},
"nestedEntityIdentifiers": [
"catalog"
],
"exceptionIds": []
}
],
"discountConfig": {}
},
{
"id": 2957,
"localizeInfos": {
"title": "Cosmo"
},
"statusIdentifier": "sale",
"statusLocalizeInfos": {
"title": "Sale"
},
"attributeSetIdentifier": "products",
"position": 2,
"templateIdentifier": null,
"shortDescTemplateIdentifier": null,
"price": 150,
"additional": {
"prices": {
"min": 51,
"max": 180
}
},
"sku": null,
"isSync": true,
"attributeValues": {
"product-name": {
"type": "string",
"value": "Cosmo",
"isIcon": false,
"position": 0,
"additionalFields": {},
"isProductPreview": false
},
"price": {
"type": "integer",
"value": 150,
"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": 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": 582,
"ratingCalculation": "average",
"allowHalfRatings": null,
"maxRatingScale": null,
"isAnonymous": null,
"allowRerating": null,
"isRating": null,
"entityFormDataCount": {
"2954": 582
},
"nestedEntityIdentifiers": [
"catalog"
],
"exceptionIds": []
}
],
"discountConfig": {}
},
{
"id": 2960,
"localizeInfos": {
"title": "Percent split"
},
"statusIdentifier": "sale",
"statusLocalizeInfos": {
"title": "Sale"
},
"attributeSetIdentifier": "percent_split",
"position": 5,
"templateIdentifier": null,
"shortDescTemplateIdentifier": "product_preview",
"price": 180,
"additional": {
"prices": {
"min": 51,
"max": 180
}
},
"sku": null,
"isSync": true,
"attributeValues": {
"s0": {
"type": "float",
"value": 180,
"isIcon": false,
"position": 0,
"additionalFields": {},
"isProductPreview": false
},
"s1": {
"type": "float",
"value": 60,
"isIcon": false,
"position": 1,
"additionalFields": {},
"isProductPreview": false
},
"s2": {
"type": "float",
"value": 40,
"isIcon": false,
"position": 2,
"additionalFields": {},
"isProductPreview": false
},
"currency": {
"type": "string",
"value": "",
"isIcon": false,
"position": 3,
"additionalFields": {},
"isProductPreview": false
}
},
"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": 538,
"ratingCalculation": "average",
"allowHalfRatings": null,
"maxRatingScale": null,
"isAnonymous": null,
"allowRerating": null,
"isRating": null,
"entityFormDataCount": {
"2954": 538
},
"nestedEntityIdentifiers": [
"catalog"
],
"exceptionIds": []
}
],
"discountConfig": {}
},
"..."
],
"total": 5
}
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: "in_stock"
statusLocalizeInfos: ILocalizeInfo
Nome de status localizado para o produto.
exemplo:
{ "title": "Sale" }
attributeSetIdentifier: string | null
ID do conjunto 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 de 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 pesquisa vetorial (semântica). Presente apenas nos resultados da pesquisa 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 está definido.
exemplo: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
productPages: IProductPageRef[]
Array de referências de páginas de produtos ligando 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: "products"
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).