Saltar al contenido principal

getCartSimilar

Obtiene productos "similares al carrito" a partir del carrito del contexto (usuario autorizado o invitado).

Descripción​

Este método devuelve productos similares al carrito tomados del contexto actual: un usuario autorizado o un invitado (resuelto a través del encabezado x-guest-id, ver Modo invitado). Devuelve una Promesa que se resuelve en un objeto IProductsResponse: un contenedor con items (los productos), total y totalFound - no un array simple.

.getCartSimilar(

, , ,

);

Esquema de parámetros​

Esquema

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

langCode: string
Código de idioma. Por defecto: "en_US"
ejemplo: "en_US"

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

limit: number
Número máximo de productos a devolver. Si se omite, se aplica la configuración de cantidad propia del bloque
ejemplo: 10

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

Ejemplos​

Ejemplo mínimo​

const response = await Blocks.getCartSimilar('cart_similar_block');

Ejemplo con atributos​

const response = await Blocks.getCartSimilar('cart_similar_block', 'en_US');

Ejemplo con límite​

const response = await Blocks.getCartSimilar('cart_similar_block', 'en_US', undefined, 4);

🔢 limit limita cuántos productos se devuelven. Omitirlo hará que se siga aplicando la configuración de cantidad propia del bloque desde el panel de administración. Ver Limitando el número de productos (limit).

Ejemplo de respuesta​

{
"items": [],
"total": 0,
"totalFound": 0
}

Esquema de respuesta​

Esquema: IProductsResponse

total: number
El número total de productos encontrados.
ejemplo: 100

items: IProductsEntity[]
Un array de entidades de productos.
ejemplo:

[
{
"id": 12345,
"title": "Product 1"
},
{
"id": 67890,
"title": "Product 2"
}
]

items.id: number
El identificador único.
ejemplo: 12345

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

{}

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

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

{ "title": "Sale" }

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

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

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

items.additional: object
Valor adicional del índice.
ejemplo:

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

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

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

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

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

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

[
1,
2,
3
]

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

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

items.rating: IRating
Datos de calificación.

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

items.relatedIds: number[]
Ids de páginas de productos relacionados.
ejemplo:

[
12345,
67890
]

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

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

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

{}

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

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

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

items.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"
}
]

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

[
"block_12345",
"block_67890"
]

totalFound: number
Número de productos coincidentes antes de aplicar límites; devuelto por los puntos finales de productos del bloque (similarProducts, recomendaciones de carrito/lista de deseos, pedidos frecuentes). Opcional.
ejemplo: 2

🔒 signedPrice es el token firmado que lleva el precio bloqueado — devuélvelo cuando crees un pedido. Ver Precio fijo del producto (signedPrice).