getProducts
Rechercher tous les objets produits avec pagination et filtre
Products.getProducts(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.getProducts(body)
Schéma
body:* IFilterParams[]
Corps de la requête. Par défaut [].
exemple: []
langCode: string
Paramètre de code de langue. Par défaut "en_US"
exemple: en_US
userQuery: IProductsQuery
Paramètres de requête optionnels.
userQuery.offset: number
Paramètre optionnel pour la pagination, par défaut 0
exemple: 0
userQuery.limit: number
Paramètre optionnel pour la pagination, par défaut 30
exemple: 30
userQuery.sortOrder: string
Ordre de tri optionnel DESC | ASC
exemple: DESC
userQuery.sortKey: string
Champ optionnel pour trier (id, title, date, price, position, status)
exemple: id
userQuery.statusId: number
Paramètre optionnel - recherche par identifiant de statut
exemple: 1
userQuery.statusMarker: string
Identifiant optionnel du statut de la page produit
exemple: waiting
userQuery.conditionValue: string
Valeur optionnelle recherchée
exemple: 3
userQuery.conditionMarker: string
Identifiant optionnel de la condition de filtre par laquelle les valeurs sont filtrées
exemple: mth
userQuery.attributeMarker: string
Identifiant textuel optionnel de l'attribut indexé par lequel les valeurs sont filtrées
exemple: price
Schéma (body)
attributeMarker: string
identifiant textuel de l'attribut
exemple: price
conditionMarker: string
identifiant textuel de la condition
exemple: in
statusMarker: string
identifiant textuel du statut de la page produit (par défaut non défini)
exemple: status_1
conditionValue: number
valeur de condition
exemple: 1
pageUrls: Array<string>
partie unique de l'URL de la page (après le dernier "/")
title: string
exemple: Iphone 17 Pro
nom du produit
isNested: boolean
indicateur de recherche pour toutes les catégories imbriquées (pageUrls)
exemple: false
Cette méthode recherche tous les objets produits avec pagination qui n'ont pas de catégorie, 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": 4,
"localizeInfos": {
"title": "Cosmo"
},
"statusIdentifier": null,
"statusLocalizeInfos": {},
"attributeSetIdentifier": "products",
"position": 1,
"templateIdentifier": null,
"isPositionLocked": false,
"shortDescTemplateIdentifier": null,
"price": 150,
"additional": {
"prices": {
"min": 120,
"max": 150
}
},
"sku": null,
"isSync": true,
"attributeValues": {
"price": {
"type": "integer",
"value": 150,
"position": 1,
"isProductPreview": false
},
"product-name": {
"type": "string",
"value": "Cosmo",
"position": 0,
"isProductPreview": false
},
"currency_products": {
"type": "string",
"value": "",
"position": 2,
"isProductPreview": false
}
},
"isVisible": true
}
]
}
Schéma
total: number
nombre total d'enregistrements trouvés
exemple: 100
id: number
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, 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: boolean
Indicateur de visibilité de la page
exemple: true
position: number
numéro de position (pour le tri)
exemple: 192
templateIdentifier: string
identifiant personnalisé du modèle associé
exemple: my-template
attributeSetId: number
identifiant de l'ensemble d'attributs
exemple: 7
blocks: array
blocs de produits
exemple:
["product_block"]
isSync: boolean
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: number
identifiants de statut de la page produit (peut être nul)
exemple: 1
sku: string
valeur SKU du produit prise de l'index
exemple: 1
relatedIds: array
identifiants des pages de produits connexes
exemple:
[ 1, 2, 3 ]
price: number
valeur du prix de la page produit prise de l'index
exemple: 0
templateIdentifier string
identifiant personnalisé du modèle associé
exemple: my-template
shortDescTemplateIdentifier string
identifiant personnalisé du modèle associé pour la description courte
exemple: my-template-short