getProductsByIds
Récupération de plusieurs produits par leurs identifiants.
Description
Cette méthode récupère des objets produits en fonction de leurs identifiants (ids) depuis l'API. Elle renvoie une Promesse qui se résout en objets IProductsEntity pour le produit.
Produits.getProductsByIds(
ids,
langCode,
userQuery
);
Schéma des paramètres
Schéma
ids: string
Identifiants de la page produit pour lesquels trouver des relations
exemple: "12345,67890"
langCode: string
Code de langue. Par défaut "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 filtre par laquelle les valeurs sont filtrées, par défaut null.
exemple: "equals"
Exemples
Exemple minimal
const response = await Products.getProductsByIds('1, 5, 8');
Exemple avec attributs
const userQuery = {
"offset": 0,
"limit": 30,
"sortOrder": "DESC",
"sortKey": "id"
};
const response = await Products.getProductsByIds('1, 5, 8', 'en_US', userQuery);
Exemple de réponse
[
{
"id": 2954,
"localizeInfos": {
"title": "Boîte"
},
"statusIdentifier": "vente",
"statusLocalizeInfos": {
"title": "Vente"
},
"attributeSetIdentifier": "produits",
"position": 2,
"templateIdentifier": null,
"shortDescTemplateIdentifier": "product_preview",
"price": 51,
"additional": {
"prices": {
"min": 51,
"max": 150
}
},
"sku": null,
"isSync": true,
"attributeValues": {
"product-name": {
"type": "string",
"value": "nom-du-produit",
"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": [
"catalogue"
],
"isVisible": true,
"productPages": [
{
"id": 2847,
"pageId": 10,
"productId": 2954,
"positionId": 3190,
"categoryPath": "catalogue"
}
],
"blocks": [
"product_block",
"product_block"
]
},
{
"id": 2955,
"localizeInfos": {
"title": "Produit"
},
"statusIdentifier": "vente",
"statusLocalizeInfos": {
"title": "Vente"
},
"attributeSetIdentifier": null,
"position": 1,
"templateIdentifier": null,
"shortDescTemplateIdentifier": null,
"price": null,
"additional": {
"prices": {
"min": 51,
"max": 150
}
},
"sku": null,
"isSync": false,
"attributeValues": {},
"categories": [
"catalogue"
],
"isVisible": true,
"productPages": [
{
"id": 2848,
"pageId": 10,
"productId": 2955,
"positionId": 3191,
"categoryPath": "catalogue"
}
],
"blocks": [
"product_block",
"product_block"
]
}
]
Schéma de réponse
Schéma: IProductsEntity[]
id: number
L'identifiant unique.
exemple: 12345
localizeInfos: ILocalizeInfo
Le nom des produits, en tenant compte de la localisation.
statusIdentifier: string | null
Identifiants de statut de page produit (peut être null).
exemple: "in_stock"
statusLocalizeInfos: any
Description JSON de l'objet statut de l'élément, en tenant compte de la langue.
attributeSetIdentifier: string | null
Ensemble d'identifiants d'attributs.
exemple: "set_12345"
position: number
Numéro de l'élément (pour le tri).
exemple: 1
templateIdentifier: string | null
Identifiant utilisateur du modèle lié.
exemple: "template_12345"
shortDescTemplateIdentifier: string | null
Identifiant utilisateur du modèle lié pour une courte description.
exemple: "short_desc_template_12345"
price: number
La valeur du prix de la page produit prise de l'index.
exemple: 150
additional: object
Valeur supplémentaire de l'index.
exemple:
{
"en": "En Stock",
"de": "Auf Lager"
}
sku: string | null
SKU du produit (Stock Keeping Unit), peut être null.
exemple: "SKU_12345"
isSync: boolean
Indication de l'indexation de la page.
exemple: true
attributeValues: AttributeType
Tableau des valeurs d'attributs de l'index, représenté.
exemple:
[
{
"id": "color",
"value": "rouge"
}
]
categories: string[]
Catégories de produits.
exemple:
[
1,
2,
3
]
isVisible: boolean
Un signe de visibilité de la page.
exemple: true
productPages: any[]
Tableau de pages de produits ou un seul objet de page produit.
blocks: string[]
Tableau d'identifiants de blocs.
exemple:
[
"block_12345",
"block_67890"
]
isPositionLocked: boolean
Indicateur de verrouillage de la position de tri (optionnel).
exemple: false
relatedIds: number[]
Identifiants des pages de produits connexes.
exemple:
[
12345,
67890
]