Aller au contenu principal

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