getProductsByIds
Récupération de plusieurs produits par leurs identifiants
Products.getProductsByIds(ids, langCode, userQuery)
const value = await Products.getProductsByIds('1, 5, 8', 'en_US')
Schéma
ids:* chaîne
Identifiants de page produit pour lesquels trouver des relations
exemple : 1,3,5,15
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.sortOrder: chaîne
Ordre de tri optionnel DESC | ASC
exemple : DESC
userQuery.sortKey: chaîne
Champ optionnel pour trier (id, titre, date, prix, position, statut)
exemple : id
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.
Exemple de retour :
[
{
"id": 1764,
"localizeInfos": {
"en_US": {
"title": "Product"
}
},
"isVisible": true,
"isSync": true,
"price": 0,
"additional": {
"prices": {
"min": 0,
"max": 100
}
},
"blocks": [
null
],
"sku": "0-123",
"productPages": [
{
"id": 8997,
"pageId": 1176,
"productId": 8872
}
],
"statusLocalizeInfos": {
"en_US": {
"title": "Product"
}
},
"templateIdentifier": "my-template",
"shortDescTemplateIdentifier": "my-template-short",
"attributeValues": {
"en_US": {
"marker": {
"value": "",
"type": "string",
"position": 1,
"isProductPreview": false,
"isIcon": false,
"attributeFields": {
"marker": {
"type": "string",
"value": "test"
}
}
}
}
},
"attributeSetIdentifier": "my-set",
"statusIdentifier": "my-status",
"position": 1
}
]
Schéma
id: nombre
identifiant de l'objet
exemple : 1764
localizeInfos: Record<string, any>
description json de l'objet de données de la page principale prenant en compte la langue "en_US" (par exemple)
exemple :
{
"en_US": {
"title": "Catalog",
"plainContent": "Content for catalog",
"htmlContent": "<b>Content for catalog</b>",
"menuTitle": "Catalog"
}
}
isVisible: booléen
indicateur de visibilité de la page
exemple : true
isSync: booléen
indicateur d'indexation de la page (true ou false)
exemple : false
price: nombre
valeur du prix de la page produit prise de l'index
exemple : 0
additional: Record<string, any>
valeur supplémentaire de l'index
exemple :
{
"prices": {
"min": 0,
"max": 100
}
}
blocks: tableau
blocs de produit
exemple :
["product_block"]
sku: chaîne
valeur SKU du produit prise de l'index
exemple : 1
productPages: tableau
objets ProductPageEntity liés à la page produit (optionnel)
exemple :
[
{
"id": 8997,
"pageId": 1176,
"productId": 8872
}
]
statusLocalizeInfos: CommonLocalizeInfos
description json de l'objet statut, prenant en compte la langue
exemple :
{ "title": "Product" }
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
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"
}
}
}
attributeSetIdentifier: chaîne
identifiant textuel de l'ensemble d'attributs utilisé
exemple : 'my-set'
statusIdentifier: chaîne
identifiant textuel du statut du produit
exemple : 'my-status'
position: nombre
numéro de position (pour le tri)
exemple : 1