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
💲
signPricebloquea 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);
🔢
limitlimita 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
🔒
signedPricees el token firmado que lleva el precio bloqueado — devuélvelo cuando crees un pedido. Ver Precio fijo del producto (signedPrice).