Saltar al contenido principal

getProductsByPageId

Buscar todos los objetos de producto con paginación para la categoría seleccionada

Products.getProductsByPageId(id, body, langCode, userQuery)

const body = [
{
"attributeMarker": "price",
"conditionMarker": "mth",
"statusMarker": "waiting",
"conditionValue": 1,
"pageUrls": [
"23-laminat-floorwood-maxima"
],
"isNested": false,
"title": ""
},
{
"attributeMarker": "price",
"conditionMarker": "lth",
"conditionValue": 3,
"pageUrls": [
"23-laminat-floorwood-maxima"
],
"isNested": false,
"title": ""
}
];

const value = await Products.getProductsByPageId(1764, body);
Esquema

id:* número
ID de la página
ejemplo: 1

body: IFilterParams[]
Cuerpo de la solicitud
ejemplo: []

langCode: cadena
Parámetro del código de idioma. Por defecto "en_US"
ejemplo: en_US

userQuery: IProductsQuery
Parámetros de consulta opcionales.
ejemplo:

userQuery.offset: número
Parámetro opcional para paginación, por defecto es 0
ejemplo: 0

userQuery.limit: número
Parámetro opcional para paginación, por defecto es 30
ejemplo: 30

userQuery.statusMarker: cadena
Identificador opcional del estado de la página del producto
ejemplo: waiting

userQuery.conditionValue: cadena
Valor opcional que se está buscando
ejemplo: 1

userQuery.conditionMarker: cadena
Identificador opcional de la condición del filtro por la cual se filtran los valores
ejemplo: mth

userQuery.attributeMarker: cadena
Identificador de texto opcional del atributo indexado por el cual se filtran los valores
ejemplo: price

userQuery.sortOrder: cadena
Orden de clasificación opcional DESC | ASC
ejemplo: DESC

userQuery.sortKey: cadena
Campo opcional para ordenar (id, title, date, price, position, status)
ejemplo: id


Esquema (body)

attributeMarker: cadena
identificador textual del atributo
ejemplo: price

conditionMarker: cadena
identificador textual de la condición
ejemplo: in

statusMarker: cadena
identificador textual del estado de la página del producto (por defecto no establecido)
ejemplo: status_1

conditionValue: número
valor de la condición
ejemplo: 1

pageUrls: Array<string>
parte única de la URL de la página (después de la última "/")

title: cadena
ejemplo: Iphone 17 Pro
nombre del producto

isNested: booleano
indicador de búsqueda para todas las categorías anidadas (pageUrls)
ejemplo: false

Este método busca todos los objetos de productos con paginación para la categoría seleccionada, basado en los parámetros de consulta proporcionados (userQuery). Devuelve una Promesa que se resuelve en un array de elementos, donde cada elemento es un objeto.

Ejemplo de retorno:

{
"total": 100,
"items": [
{
"id": 2,
"localizeInfos": {
"title": "Caja"
},
"statusIdentifier": "sold",
"statusLocalizeInfos": {
"title": "Vendido"
},
"attributeSetIdentifier": "products",
"position": 3,
"templateIdentifier": null,
"isPositionLocked": false,
"shortDescTemplateIdentifier": null,
"price": 148,
"additional": {
"prices": {
"min": 120,
"max": 150
}
},
"sku": null,
"isSync": true,
"attributeValues": {
"price": {
"type": "integer",
"value": 148,
"position": 1,
"isProductPreview": false
},
"product-name": {
"type": "string",
"value": "Texto de la caja",
"position": 0,
"isProductPreview": false
},
"currency_products": {
"type": "string",
"value": "$",
"position": 2,
"isProductPreview": false
}
},
"isVisible": true,
"isPositionLocked": false
}
]

}
Esquema

total: número
número total de registros encontrados
ejemplo: 100

id: número
identificador del objeto
ejemplo: 1764

additional: Record<string, any>
valor adicional del índice
ejemplo:

{
"prices": {
"min": 0,
"max": 100
}
}

statusLocalizeInfos: CommonLocalizeInfos
descripción json del objeto de estado del ítem, teniendo en cuenta el idioma
ejemplo:

{ "title": "Producto" }

localizeInfos: Record<string, any>
descripción json del objeto de datos de la página principal teniendo en cuenta el idioma "en_US" (por ejemplo)
ejemplo:

{
"en_US": {
"title": "Catálogo",
"plainContent": "Contenido para el catálogo",
"htmlContent": "<b>Contenido para el catálogo</b>",
"menuTitle": "Catálogo"
}
}

isVisible: booleano
bandera de visibilidad de la página
ejemplo: true

position: número
número de posición (para ordenación)
ejemplo: 192

templateIdentifier: cadena
identificador personalizado de la plantilla asociada
ejemplo: my-template

attributeSetId: número
identificador del conjunto de atributos
ejemplo: 7

blocks: array
bloques de producto
ejemplo: ['product_block']

isSync: booleano
indicador de indexación de la página (true o false)
ejemplo: false

attributeValues: Record<string, string>
Array de valores de atributos del índice (presentados como un par de identificador de atributo personalizado: valor de atributo)
ejemplo:

{
"en_US": {
"marker": {
"value": "",
"type": "string"
}
}
}

statusId: número
identificadores de estado de la página del producto (puede ser nulo)
ejemplo: 1

sku: cadena
valor SKU del producto tomado del índice
ejemplo: 1

relatedIds: array
identificadores de páginas de productos relacionados
ejemplo:

[ 1, 2, 3 ]

price: número
valor del precio de la página del producto tomado del índice
ejemplo: 0

templateIdentifier cadena
identificador personalizado de la plantilla asociada
ejemplo: my-template

shortDescTemplateIdentifier cadena
identificador personalizado de la plantilla asociada para la descripción corta
ejemplo: my-template-short