Aller au contenu principal

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