searchProduct
Recherche rapide d'objets de page avec une sortie limitée.
Description
Cette méthode effectue une recherche rapide d'objets de page de produit basée sur un nom de requête textuel. La recherche est effectuée sur le champ titre de l'objet localizeInfos, en tenant compte du code de langue spécifié. Elle renvoie une promesse qui se résout en un tableau d'objets de produit indexés IProductsEntity.
Produits.searchProduct(
name*,
langCode
);
Schéma des paramètres
Schéma
name(obligatoire): string
Texte pour rechercher des objets de page de produit (la recherche est basée sur le champ titre de l'objet localizeInfos en tenant compte de la langue)
exemple : "laminat"
langCode: string
Code de langue. Par défaut : "en_US"
exemple : "en_US"
Exemples
Exemple minimal
const response = await Products.searchProduct('cup');
Exemple avec l'attribut langCode
const response = await Products.searchProduct('cup', 'en_US');
Exemple de réponse
[
{
"id": 2957,
"attributeSetIdentifier": "products",
"localizeInfos": {
"title": "Cosmo"
},
"statusLocalizeInfos": {
"title": "Sale"
},
"isVisible": true,
"statusIdentifier": "sale",
"position": 1,
"templateIdentifier": null,
"shortDescTemplateIdentifier": null,
"price": 150,
"additional": {
"prices": {
"min": 51,
"max": 180
}
},
"sku": null,
"isSync": true,
"categories": [
"catalog"
],
"paymentStages": null,
"rating": {},
"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
}
},
"productPages": [
{
"id": 2850,
"pageId": 10,
"productId": 2957,
"positionId": 3193,
"categoryPath": "catalog"
}
],
"blocks": [
"product_block",
"similar"
],
"moduleFormConfigs": [
{
"id": 12,
"formIdentifier": "review",
"moduleIdentifier": "catalog",
"isGlobal": false,
"isClosed": false,
"isModerate": false,
"viewOnlyMyData": false,
"commentOnlyMyData": false,
"entityIdentifiers": [
{
"id": "catalog",
"isNested": true
}
],
"formDataCount": 582,
"ratingCalculation": "average",
"allowHalfRatings": null,
"maxRatingScale": null,
"isAnonymous": null,
"allowRerating": null,
"isRating": null,
"entityFormDataCount": {
"2954": 582
},
"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 page de produit (peut être nul).
exemple : "in_stock"
statusLocalizeInfos: ILocalizeInfo
Nom de statut localisé pour le produit.
exemple :
{ "title": "Sale" }
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 de produit prise de 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: IAttributeValues
Tableau des valeurs d'attribut de l'index, représentées.
exemple :
[
{
"id": "color",
"value": "red"
}
]
categories: string[]
Catégories de produits.
exemple :
[
1,
2,
3
]
isVisible: boolean
Un signe de visibilité de la page.
exemple : true
moduleFormConfigs: Array<IFormConfig>
Configurations de formulaire de module (facultatif).
rating: IRating
Données d'évaluation.
isPositionLocked: boolean
Indicateur de verrouillage de la position de tri (facultatif).
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
distance: number
Distance de pertinence de recherche vectorielle (sémantique). Présente uniquement dans les résultats de recherche vectorielle.
exemple : 0.42
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
Le prix signé du produit est obtenu avec les données du produit lorsque signPrice est défini.
exemple : "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
productPages: IProductPageRef[]
Tableau de références de pages de produit 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"
]
🔒
signedPriceest le jeton signé qui porte le prix verrouillé — renvoyez-le lorsque vous créez une commande. Voir Prix de produit fixe (signedPrice).
Exemples d'utilisation
Guide étape par étape dans la documentation :
- Recherche de produit — recherchez rapidement des produits par titre.
Essayez-le en direct
Exécutez cette méthode de manière interactive dans le bac à sable JS SDK — connectez votre URL de projet et votre jeton d'application lors de votre première visite, puis ouvrez :
- Recherche de produit — recherchez rapidement des produits par titre.