Saltar al contenido principal

getProductsByPageUrl

Buscar todos los objetos de producto con paginación para la categoría seleccionada (por su URL)

Products.getProductsByPageUrl(url, 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.getProductsByPageUrl('catalog', body)
Esquema

url:* string
URL de la página
ejemplo: catalog

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

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

userQuery: IProductsQuery
Parámetros de consulta opcionales.

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

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

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

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

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

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

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

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


Esquema (cuerpo)

attributeMarker: string
identificador textual del atributo
ejemplo: price

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

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

conditionValue: number
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: string
ejemplo: Iphone 17 Pro
nombre del producto

isNested: boolean
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,
"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: number
número total de registros encontrados
ejemplo: 100

id: number
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: boolean
Indicador de visibilidad de la página
ejemplo: true

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

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

attributeSetId: number
identificador del conjunto de atributos
ejemplo: 7

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

isSync: boolean
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: number
identificadores de estado de la página del producto (puede ser nulo)
ejemplo: 1

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

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

[ 1, 2, 3 ]

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

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

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