Saltar al contenido principal

getFrequentlyOrderedProducts

Obteniendo productos frecuentemente pedidos por marcador de bloque e id de producto.

Descripción

Este método devuelve productos frecuentemente pedidos asociados con un marcador de bloque específico y un id de producto. Devuelve una Promesa que se resuelve en un objeto IProductsResponse.

Blocks.getFrequentlyOrderedProducts(

productId*, marker*, langCode, signPrice

);

Esquema de parámetros

Esquema

productId(requerido): número
Id del producto
ejemplo: 1

marker(requerido): cadena
Marcador de bloque
ejemplo: "frequently_ordered_block"

langCode: cadena
Código de idioma. Predeterminado: "en_US"
ejemplo: "en_US"

signPrice: cadena
Signo de precio

💲 signPrice bloquea el precio devuelto por un tiempo limitado — configúralo con el marcador de almacenamiento de tu pedido. Consulta Fijar el precio (signPrice).

Ejemplos

Ejemplo mínimo

const response = await Blocks.getFrequentlyOrderedProducts(1, 'my-block');

Ejemplo con atributos

const response = await Blocks.getFrequentlyOrderedProducts(1, 'my-block', 'en_US');

Ejemplo de respuesta

{
"items": [
{
"id": 2957,
"localizeInfos": {
"title": "Cosmo"
},
"statusIdentifier": "sale",
"statusLocalizeInfos": {
"title": "Sale"
},
"attributeSetIdentifier": "products",
"position": 1,
"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": 590,
"ratingCalculation": "average",
"allowHalfRatings": null,
"maxRatingScale": null,
"isAnonymous": null,
"allowRerating": null,
"isRating": null,
"entityFormDataCount": {
"2954": 590
},
"nestedEntityIdentifiers": [
"catalog"
],
"exceptionIds": []
}
],
"discountConfig": {}
}
],
"total": 1
}

Esquema de respuesta

Esquema: IProductsEntity[]

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

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

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

items.id: número
El identificador único.
ejemplo: 12345

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

{}

items.statusIdentifier: cadena | 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: cadena | null
Id del conjunto de atributos.
ejemplo: "set_12345"

items.position: número
Número del ítem (para ordenar).
ejemplo: 1

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

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

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

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

items.isSync: booleano
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: cadena[]
Categorías de productos.
ejemplo:

[
1,
2,
3
]

items.isVisible: booleano
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: booleano
Indicador de bloqueo de posición de ordenamiento (opcional).
ejemplo: false

items.relatedIds: número[]
Ids de páginas de productos relacionadas.
ejemplo:

[
12345,
67890
]

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

items.distance: número
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: cadena | null
Id de usuario de la plantilla vinculada.
ejemplo: "template_12345"

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

items.signedPrice: cadena
Signo de precio.

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: cadena[]
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).