Saltar al contenido principal

getCartSimilarByProductIds

Obtiene productos "similares al carrito" mediante una lista explícita de productIds.

Descripción

Este método devuelve productos similares a una lista explícita de identificadores de productos que se pasan en el cuerpo de la solicitud (en lugar de usar el carrito del contexto). Devuelve una Promesa que se resuelve en un array de objetos IProductsEntity.

Blocks.getCartSimilarByProductIds(

marker*, body*

);

Esquema de parámetros

Esquema

marker(requerido): string
Marcador de bloque
ejemplo: "cart_similar_block"

body(requerido): IBlockProductsLookup
Cuerpo de búsqueda
ejemplo:

{
"productIds": [
1,
2
],
"langCode": "en_US"
}

body.productIds(requerido): number[]
Identificadores de productos a buscar.
ejemplo: [1, 2, 3]

body.langCode: string
Código de idioma. Predeterminado: "en_US".

body.limit: number
Número máximo de productos a devolver.
ejemplo: 10

body.signPrice: string
Marcador de almacenamiento de pedido para fijación de precios. Si se establece el parámetro, el precio se fija por un tiempo determinado.

💲 signPrice bloquea el precio devuelto por un tiempo limitado: configúralo con tu marcador de almacenamiento de pedidos. Consulta Fijación del precio (signPrice).

Ejemplos

Ejemplo mínimo

const response = await Blocks.getCartSimilarByProductIds('cart_similar_block', {
productIds: [1, 2, 3],
});

Ejemplo con atributos

const response = await Blocks.getCartSimilarByProductIds('cart_similar_block', {
productIds: [1, 2, 3],
langCode: 'en_US',
limit: 10,
});

Ejemplo de respuesta

{
"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 respuesta

Esquema: IProductsEntity[]

id: number
El identificador único.
ejemplo: 12345

localizeInfos: ILocalizeInfo
El nombre de los productos, teniendo en cuenta la localización.
ejemplo:

{}

statusIdentifier: string | null
Identificadores de estado de la página del producto (puede ser nulo).
ejemplo: "in_stock"

statusLocalizeInfos: ILocalizeInfo
Nombre de estado localizado para el producto.
ejemplo:

{ "title": "Sale" }

attributeSetIdentifier: string | null
ID del conjunto de atributos.
ejemplo: "set_12345"

position: number
Número del ítem (para ordenamiento).
ejemplo: 1

price: number | null
El valor del precio de la página del producto tomado del índice.
ejemplo: 150.00

additional: object
Valor adicional del índice.
ejemplo:

{
"prices": {
"min": 5,
"max": 150
}
}

sku: string | null
SKU del producto (Unidad de Mantenimiento de Stock), puede ser nulo.
ejemplo: "SKU_12345"

isSync: boolean
Indicación de indexación de la página.
ejemplo: true

attributeValues: IAttributeValues
Array de valores de atributos del índice, representados.
ejemplo:

[
{
"id": "color",
"value": "red"
}
]

categories: string[]
Categorías de productos.
ejemplo:

[
1,
2,
3
]

isVisible: boolean
Un signo de visibilidad de la página.
ejemplo: true

moduleFormConfigs: Array<IFormConfig>
Configuraciones de formularios del módulo (opcional).

rating: IRating
Datos de calificación.

isPositionLocked: boolean
Indicador de bloqueo de posición de ordenamiento (opcional).
ejemplo: false

relatedIds: number[]
IDs de páginas de productos relacionadas.
ejemplo:

[
12345,
67890
]

paymentStages: unknown
Datos de etapas de pago (puede ser nulo).
ejemplo: null

distance: number
Distancia de relevancia de búsqueda vectorial (semántica). Presente solo en resultados de búsqueda vectorial.
ejemplo: 0.42

discountConfig: Record<string, unknown>
Objeto de configuración de descuentos.
ejemplo:

{}

templateIdentifier: string | null
ID de usuario de la plantilla vinculada.
ejemplo: "template_12345"

shortDescTemplateIdentifier: string | null
ID de usuario de la plantilla vinculada para una descripción corta.
ejemplo: "short_desc_template_12345"

signedPrice: string
El precio firmado del producto se obtiene junto con los datos del producto cuando signPrice está establecido.
ejemplo: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."

productPages: IProductPageRef[]
Array de referencias de páginas de productos que vinculan el producto a sus páginas.
ejemplo:

[
{
"id": 16,
"pageId": 4,
"productId": 15,
"positionId": 244,
"categoryPath": "products"
}
]

productPages.id: number
Identificador único del registro de enlace producto-página.
ejemplo: 16

productPages.pageId: number
Identificador de la página a la que está vinculado el producto.
ejemplo: 4

productPages.productId: number
Identificador del producto.
ejemplo: 15

productPages.positionId: number
Identificador de posición de ordenamiento dentro de la página.
ejemplo: 244

productPages.categoryPath: string
Ruta de categoría de la página a la que pertenece el producto.
ejemplo: "products"

blocks: string[]
Array de identificadores de bloques.
ejemplo:

[
"block_12345",
"block_67890"
]

🔒 signedPrice es el token firmado que lleva el precio bloqueado: devuélvelo cuando crees un pedido. Consulta Precio de producto fijo (signedPrice).