Aller au contenu principal

getProductsByPageId

Rechercher tous les objets produits avec pagination pour la catégorie sélectionnée

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);
Schéma

id:* nombre
ID de la page
exemple : 1

body: IFilterParams[]
Corps de la requête
exemple : []

langCode: chaîne
Paramètre de code de langue. Par défaut "en_US"
exemple : en_US

userQuery: IProductsQuery
Paramètres de requête optionnels.
exemple :

userQuery.offset: nombre
Paramètre optionnel pour la pagination, par défaut 0
exemple : 0

userQuery.limit: nombre
Paramètre optionnel pour la pagination, par défaut 30
exemple : 30

userQuery.statusMarker: chaîne
Identifiant optionnel du statut de la page produit
exemple : waiting

userQuery.conditionValue: chaîne
Valeur optionnelle recherchée
exemple : 1

userQuery.conditionMarker: chaîne
Identifiant optionnel de la condition de filtre par laquelle les valeurs sont filtrées
exemple : mth

userQuery.attributeMarker: chaîne
Identifiant textuel optionnel de l'attribut indexé par lequel les valeurs sont filtrées
exemple : price

userQuery.sortOrder: chaîne
Ordre de tri optionnel DESC | ASC
exemple : DESC

userQuery.sortKey: chaîne
Champ optionnel pour trier (id, title, date, price, position, status)
exemple : id


Schéma (body)

attributeMarker: chaîne
identifiant textuel de l'attribut
exemple : price

conditionMarker: chaîne
identifiant textuel de la condition
exemple : in

statusMarker: chaîne
identifiant textuel du statut de la page produit (par défaut non défini)
exemple : status_1

conditionValue: nombre
valeur de condition
exemple : 1

pageUrls: Array<string>
partie unique de l'URL de la page (après le dernier "/")

title: chaîne
exemple : Iphone 17 Pro
nom du produit

isNested: booléen
indicateur de recherche pour toutes les catégories imbriquées (pageUrls)
exemple : false

Cette méthode recherche tous les objets produits avec pagination pour la catégorie sélectionnée, en fonction des paramètres de requête fournis (userQuery). Elle renvoie une promesse qui se résout en un tableau d'éléments, où chaque élément est un objet.

Exemple de retour :

{
"total": 100,
"items": [
{
"id": 2,
"localizeInfos": {
"title": "Boîte"
},
"statusIdentifier": "sold",
"statusLocalizeInfos": {
"title": "Vendu"
},
"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": "Texte de la boîte",
"position": 0,
"isProductPreview": false
},
"currency_products": {
"type": "string",
"value": "$",
"position": 2,
"isProductPreview": false
}
},
"isVisible": true,
"isPositionLocked": false
}
]

}
Schéma

total: nombre
nombre total d'enregistrements trouvés
exemple : 100

id: nombre
identifiant de l'objet
exemple : 1764

additional: Record<string, any>
valeur supplémentaire de l'index
exemple :

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

statusLocalizeInfos: CommonLocalizeInfos
description json de l'objet statut de l'élément, en tenant compte de la langue
exemple :

{ "title": "Produit" }

localizeInfos: Record<string, any>
description json de l'objet de données de la page principale en tenant compte de la langue "en_US" (par exemple)
exemple :

{
"en_US": {
"title": "Catalogue",
"plainContent": "Contenu pour le catalogue",
"htmlContent": "<b>Contenu pour le catalogue</b>",
"menuTitle": "Catalogue"
}
}

isVisible: booléen
Indicateur de visibilité de la page
exemple : true

position: nombre
numéro de position (pour le tri)
exemple : 192

templateIdentifier: chaîne
identifiant personnalisé du modèle associé
exemple : my-template

attributeSetId: nombre
identifiant de l'ensemble d'attributs
exemple : 7

blocks: tableau
blocs de produits
exemple : ['product_block']

isSync: booléen
indicateur d'indexation de la page (true ou false)
exemple : false

attributeValues: Record<string, string>
Tableau des valeurs d'attributs de l'index (présenté sous forme de paire d'identifiant d'attribut personnalisé : valeur d'attribut)
exemple :

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

statusId: nombre
identifiants de statut de la page produit (peut être nul)
exemple : 1

sku: chaîne
valeur SKU du produit prise de l'index
exemple : 1

relatedIds: tableau
identifiants des pages de produits connexes
exemple :

[ 1, 2, 3 ]

price: nombre
valeur du prix de la page produit prise de l'index
exemple : 0

templateIdentifier chaîne
identifiant personnalisé du modèle associé
exemple : my-template

shortDescTemplateIdentifier chaîne
identifiant personnalisé du modèle associé pour la description courte
exemple : my-template-short