Aller au contenu principal

getProductById

Obtenir un objet produit par son identifiant.

Description

Cette méthode récupère un seul objet produit basé sur son identifiant (id) depuis l'API. Elle renvoie une Promesse qui se résout en un objet pour le produit IProductsEntity.

Produits.getProductById(

id*, langCode, isNormalized

);

Schéma des paramètres

Schéma

id(obligatoire): number
Identifiant du produit
exemple : 12345

langCode: string
Code de langue. Par défaut : "en_US"
exemple : "en_US"

isNormalized: boolean
Si vrai, l'objet produit sera normalisé

Exemples

Exemple minimal

const response = await Products.getProductById(1);

Exemple avec des attributs

const response = await Products.getProductById(1, 'en_US');

Exemple de réponse

{
"id": 2954,
"attributeSetIdentifier": "products",
"localizeInfos": {
"title": "Box"
},
"statusLocalizeInfos": {
"title": "Sale"
},
"isVisible": true,
"statusIdentifier": "sale",
"position": 1,
"templateIdentifier": null,
"shortDescTemplateIdentifier": "product_preview",
"price": 51,
"additional": {
"prices": {
"min": 51,
"max": 150
}
},
"sku": null,
"isSync": true,
"categories": [
"catalog"
],
"paymentStages": null,
"rating": {},
"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": {
"size": 241636,
"filename": "files/project/product/2954/image/7e0a6a70-a23d-410f-8b6a-f8b4f7483244.png",
"contentType": "image/png",
"downloadLink": "https://your-project.oneentry.cloud/cloud-static/files/project/product/2954/image/7e0a6a70-a23d-410f-8b6a-f8b4f7483244.png"
},
"isIcon": false,
"position": 3,
"additionalFields": {},
"isProductPreview": false
}
},
"productPages": [
{
"id": 2847,
"pageId": 10,
"productId": 2954,
"positionId": 3190,
"categoryPath": "catalog"
}
],
"blocks": [
"product_block"
],
"moduleFormConfigs": [
{
"id": 12,
"formIdentifier": "review",
"moduleIdentifier": "catalog",
"isGlobal": false,
"isClosed": false,
"isModerate": false,
"viewOnlyMyData": false,
"commentOnlyMyData": false,
"entityIdentifiers": [
{
"id": "catalog",
"isNested": true
}
],
"formDataCount": 428,
"ratingCalculation": "average",
"allowHalfRatings": null,
"maxRatingScale": null,
"isAnonymous": null,
"allowRerating": null,
"isRating": null,
"entityFormDataCount": {
"2954": 428
},
"nestedEntityIdentifiers": [
"catalog"
],
"exceptionIds": []
}
],
"discountConfig": {}
}

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.
exemple :

statusIdentifier: string | null
Identifiants de statut de la page produit (peut être nul).
exemple : "in_stock"

statusLocalizeInfos: ILocalizeInfo
Nom de statut localisé pour le produit.
exemple : { "title": "Vente" }

attributeSetIdentifier: string | null
Identifiant de l'ensemble d'attributs.
exemple : "set_12345"

position: number
Numéro d'article (pour le tri).
exemple : 1

price: number | null
La valeur du prix de la page produit prise dans l'index.
exemple : 150.00

additional: object
Valeur supplémentaire de l'index.
exemple : { prices: { min: 5 max: 150 } }

sku: string | null
SKU du produit (Stock Keeping Unit), peut être nul.
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ées.
exemple :

[
{
"id": "color",
"value": "red"
}
]

categories: string[]
Catégories de produits.
exemple :

[
1,
2,
3
]

isVisible: boolean
Indicateur de visibilité de la page.
exemple : true

moduleFormConfigs: Array<IFormConfig>
Configurations de formulaire de module (optionnel).

rating: IRating
Données d'évaluation.

isPositionLocked: boolean
Indicateur de verrouillage de la position de tri (optionnel).
exemple : false

relatedIds: number[]
Identifiants des pages de produits connexes.
exemple :

[
12345,
67890
]

paymentStages: unknown
Données des étapes de paiement (peut être nul).
exemple : null

discountConfig: Record<string, unknown>
Objet de configuration de remise.
exemple :

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"

signedPrice: string
Indication du prix.

productPages: IProductPageRef[]
Tableau de références de pages de produits liant le produit à ses pages.
exemple :

[
{
"id": 16,
"pageId": 4,
"productId": 15,
"positionId": 244,
"categoryPath": "products"
}
]

productPages.id: number
Identifiant unique de l'enregistrement de lien produit-page.
exemple : 16

productPages.pageId: number
Identifiant de la page à laquelle le produit est lié.
exemple : 4

productPages.productId: number
Identifiant du produit.
exemple : 15

productPages.positionId: number
Identifiant de position de tri au sein de la page.
exemple : 244

productPages.categoryPath: string
Chemin de catégorie de la page à laquelle le produit appartient.
exemple : "products"

blocks: string[]
Tableau d'identifiants de blocs.
exemple :

[
"block_12345",
"block_67890"
]