getProducts
Recherchez tous les objets produits avec pagination et filtrage.
Description
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 IProductsResponse.
Produits.getProducts(
body,
langCode,
userQuery
);
Schéma des paramètres
Schéma
body: IFilterParams[]
Corps de la requête. Par défaut : []
exemple :
[
{
"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": ""
}
]
langCode: string
Code de langue. Par défaut : "en_US"
exemple : "en_US"
userQuery: IProductsQuery
Paramètres de requête optionnels
exemple :
{
"limit": 30,
"offset": 0,
"sortOrder": "DESC",
"sortKey": "id",
"statusId": 123,
"statusMarker": "in_stock",
"conditionValue": "new",
"conditionMarker": "equals",
"attributeMarker": "color"
}
userQuery.offset(required): number
Paramètre pour la pagination. Par défaut : 0.
userQuery.limit(required): number
Paramètre pour la pagination. Par défaut : 30.
userQuery.sortOrder(required): string
Ordre de tri "DESC" | "ASC". Par défaut : "DESC".
userQuery.sortKey(required): string
Champ pour le tri (par défaut - null). Valeurs possibles : "id", "position", "title", "date", "price". Par défaut : null.
userQuery.templateMarker: string | null
Marqueur de modèle de page produit, par défaut null.
exemple : "template_12345"
userQuery.statusMarker: string | null
Marqueur de statut de page produit, par défaut null.
exemple : "in_stock"
userQuery.conditionValue: string | null
La valeur recherchée, par défaut null.
exemple : "new"
userQuery.attributeMarker: string | null
L'identifiant textuel de l'attribut indexé par lequel les valeurs sont filtrées, par défaut null.
exemple : "color"
userQuery.conditionMarker: string | null
Marqueur de la condition de filtrage par laquelle les valeurs sont filtrées, par défaut null.
exemple : "equals"
Exemples
Exemple minimal
const response = await Produits.getProducts();
Exemple avec le paramètre body
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 response = await Produits.getProducts(body);
Exemple de réponse
{
"items": [
{
"id": 2957,
"localizeInfos": {
"title": "Cosmo"
},
"statusIdentifier": "sale",
"statusLocalizeInfos": {
"title": "Vente"
},
"attributeSetIdentifier": "products",
"position": 1,
"templateIdentifier": null,
"shortDescTemplateIdentifier": null,
"price": 150,
"additional": {
"prices": {
"min": 51,
"max": 150
}
},
"sku": null,
"isSync": true,
"attributeValues": {
"product-name": {
"type": "string",
"value": "Cosmo",
"isIcon": false,
"position": 0,
"additionalFields": [],
"isProductPreview": false
},
"price": {
"type": "integer",
"value": 150,
"isIcon": false,
"position": 1,
"additionalFields": [],
"isProductPreview": false
},
"currency_products": {
"type": "string",
"value": "",
"isIcon": false,
"position": 2,
"additionalFields": [],
"isProductPreview": false
},
"img": {
"type": "image",
"value": [],
"isIcon": false,
"position": 3,
"additionalFields": [],
"isProductPreview": false
}
},
"categories": [
"catalog"
],
"isVisible": true
},
{
"id": 2955,
"localizeInfos": {
"title": "Produit"
},
"statusIdentifier": "sale",
"statusLocalizeInfos": {
"title": "Vente"
},
"attributeSetIdentifier": null,
"position": 2,
"templateIdentifier": null,
"shortDescTemplateIdentifier": null,
"price": null,
"additional": {
"prices": {
"min": 51,
"max": 150
}
},
"sku": null,
"isSync": false,
"attributeValues": {},
"categories": [
"catalog"
],
"isVisible": true
},
{
"id": 2954,
"localizeInfos": {
"title": "Boîte"
},
"statusIdentifier": "sale",
"statusLocalizeInfos": {
"title": "Vente"
},
"attributeSetIdentifier": "products",
"position": 3,
"templateIdentifier": null,
"shortDescTemplateIdentifier": "product_preview",
"price": 51,
"additional": {
"prices": {
"min": 51,
"max": 150
}
},
"sku": null,
"isSync": true,
"attributeValues": {
"product-name": {
"type": "string",
"value": "product-name",
"isIcon": false,
"position": 0,
"additionalFields": [],
"isProductPreview": false
},
"price": {
"type": "integer",
"value": 51,
"isIcon": false,
"position": 1,
"additionalFields": [],
"isProductPreview": false
},
"currency_products": {
"type": "string",
"value": "usd",
"isIcon": false,
"position": 2,
"additionalFields": [],
"isProductPreview": false
},
"img": {
"type": "image",
"value": [],
"isIcon": false,
"position": 3,
"additionalFields": [],
"isProductPreview": false
}
},
"categories": [
"catalog"
],
"isVisible": true
}
],
"total": 3
}
Schéma de réponse
Schéma : IProductsResponse
total: number
Le nombre total de produits trouvés.
exemple : 100
items: IProductsEntity[]
Un tableau d'entités de produits.
exemple :
[
{
"id": 12345,
"title": "Produit 1"
},
{
"id": 67890,
"title": "Produit 2"
}
]