Saltar al contenido principal

getPersonalRecommendations

Obtén recomendaciones personales para el usuario.

Descripción

Este método devuelve recomendaciones de productos personales para el contexto actual: un usuario autorizado o un invitado (resuelto a través del encabezado x-guest-id, consulta Modo invitado). Las recomendaciones se basan en la actividad del usuario rastreada. Devuelve una Promesa que se resuelve en un objeto IProductsResponse: un contenedor con items (los productos), total y totalFound - no un array simple.

Blocks.getPersonalRecommendations(

marker*, langCode, signPrice, limit

);

Esquema de parámetros

Esquema

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

langCode: string
Código de idioma. Predeterminado: "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
consulta: Fijación del precio

limit: number
Número máximo de productos a devolver. Cuando 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. Consulta Fijación del precio (signPrice).

Ejemplos

Ejemplo mínimo

const response = await Blocks.getPersonalRecommendations('personal_recommendations_block');

Ejemplo con atributos

const response = await Blocks.getPersonalRecommendations('personal_recommendations_block', 'en_US');

Ejemplo con límite

const response = await Blocks.getPersonalRecommendations('personal_recommendations_block', 'en_US', undefined, 4);

🔢 limit limita cuántos productos se devuelven. Omítelo y la configuración de cantidad propia del bloque desde el panel de administración seguirá aplicándose. Consulta Limitando el número de productos (limit).

Ejemplo de respuesta

{
"items": [],
"total": 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 relacionadas.
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.
consulta: 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. Consulta Precio fijo del producto (signedPrice).