HCL Commerce Search et le modèle commercial B2B
Prix dans HCL Commerce Search
- Les prix de l'offre, ou prix des contrats par défaut, sont indexés directement à partir du contrat par défaut du magasin propriétaire.
- Les prix de liste sont indexés directement à partir des tables de base de données LISTPRICE ou OFFER, en fonction de la source des prix.
- Les prix des contrats sont calculés en fonction du contrat choisi. Ils sont ensuite indexés dans HCL Commerce Search, soit dans l'index d'entrée de catalogue ou dans l'index d'extension des prix, selon le nombre de contrats que votre site contient, soit dans la source des données de prix.
Les prix indexés sont renseignés rapidement, mais pas évalués dynamiquement. Pour garantir que la vitrine affiche des prix précis, vous pouvez modifier le mode de tarification en fonction de vos besoins professionels. Pour plus d'informations, voir Modification des modes de tarification.
Lorsque vous utilisez des prix et des devises dans HCL Commerce Search, une colonne d'index distincte est utilisée par défaut pour gérer plusieurs devises.
Flux B2B typiques
Un flux d'achat typique de navigation de vitrine d'entreprise à entreprise implique des scénarios tels que la fixation d'un prix unique, le filtrage des catalogues, la commande au nom d'un client et la sélection de plusieurs contrats. Les vendeurs, les responsables des ventes et les représentants de compte peuvent utiliser le Centre de gestion ou Accelerator. Ces membres du personnel peuvent mettre en œuvre des stratégies de tarification répondant aux besoins métier du site, ainsi que pour filtrer leur catalogue en fonction d'autorisations d'utilisation des produits et prix.
Vous pouvez utiliser des filtres de catalogue HCL Commerce Search pour améliorer la recherche par mot clé et l'expérience de navigation dans les vitrines d'entreprise à entreprise. Vous pouvez utiliser l'outil Filtre de catalogue et Tarification pour filtrer votre catalogue afin d'obtenir un ensemble d'entrées spécifique. Les articles que vous pouvez spécifier incluent les catégories, les entrées de catalogue, les attributs du dictionnaire d'attributs et les propriétés des entrées de catalogue à inclure ou à exclure du filtre de catalogue. Utilisez des filtres de catalogue pour les droits sur vos produits, c'est-à-dire pour autoriser des clients à utiliser un sous-ensemble de votre catalogue.
Pour plus d'informations, voir Utilisation de filtres de catalogue.Indexation des prix des contrats et facettes
HCL Commerce Search génère des prix calculés dans l'index de recherche, de sorte que le magasin type B2B Aurora puisse utiliser le mode de tarification indexé pour soutenir la tarification contractuelle basée sur des prix calculés.
Les résultats affichés dans les valeurs de la facette de la vitrine sont basés sur le contrat sélectionné. Les magasins de ressources peuvent soit partager les prix, soit utiliser des prix différents pour les sites étendus en fonction du modèle de tarification sélectionné.
Zones de prix configurables
- Le fichier wc-component.xml contient les zones Tarification configurables suivantes :
- MultipleContracts
- Définit l'opération entre plusieurs contrats.
- La table STORECONF contient les zones Tarification configurables suivantes au niveau de la propriété
wc.search.priceMode.compatiblePriceIndex:- 1.0
- La colonne de prix est indexée à partir du prix des contrats, suivant la convention de dénomination suivante :
price_#currency_#contractId. - 1.1
- Recherche Solr uniquement : La colonne de prix est indexée à partir du prix de vente standard, à l'aide de la convention de dénomination suivante :
price_#currency.
Remarque : La valeur 1.1 n'est plus prise en charge, car la valeur 1.0, lorsqu'elle est utilisée avec le contrat par défaut, peut obtenir les mêmes résultats. La valeur 1.1 signifie que colonne de prix est indexée à partir du prix de vente standard, à l'aide de la convention de dénomination suivante : price_#currency.
- Si vous utilisez le mode de tarification 1 :
Lorsque le mode tarification indexé est défini (
wc.search.priceMode=1dans la table STORECONF), toutes les pages de recherche et de navigation du catalogue, y compris la page d'affichage du produit, utilisent le prix indexé. Si le prix des contrats est indexé, les pages utilisent le prix des contrats indexé. Toutefois, toutes les pages de paiement, y compris les pages du panier, utilisent les commandes de prix pour calculer les prix en temps réel.
Modification des modes de tarification
- Définissez la propriété par défaut globale des profils de recherche SearchProfilesPrice dans le fichier wc-component.xml. Pour plus d'informations, voir Propriétés de recherche dans le fichier de configuration de composant (wc-component.xml).
- Définissez la propriété wc.search.priceMode dans la table STORECONF. Pour plus d'informations, voir Propriétés de configuration de recherche dans la table STORECONF.
Paramètres du mode de tarification prioritaire dans les magasins type
Différents magasins type peuvent utiliser différents modes de tarification dans HCL Commerce Search, au lieu de s'appuyer sur les valeurs dans les fichiers de configuration précédents.
- En transmettant le profil de recherche dans l'URL du magasin. Ce drapeau reçoit la plus haute priorité.
- En spécifiant le profil de recherche dans la requête de recherche. Autrement dit, toute requête de recherche peut contenir un mode de prix et une vérification des autorisations, pour des raisons commerciales ou de performance.
- En utilisant le
storepath. Par exemple, les magasins B2B utilisent par défaut le mode de tarification calculé, tandis que les magasins B2C utilisent le mode de prix indexé. Les sites étendus héritent de la configuration du magasin de ressources. - En utilisant le réglage de niveau site comme solution de repli. Le mode indexé est utilisé par défaut.
- De niveau magasin
- Magasin de ressources
- Site
- Profil
wc.search.entitlement de la table STORECONF hérite des modes de tarification dans le même ordre, à l'exception du profil, qui est ignoré.Indexation des prix
- Dans l'index Entrée de catalogue, lorsque votre site contient moins de 1 000 contrats et que les données sur les prix sont contenues dans HCL Commerce. Vous pouvez calculer et indexer les prix à l'aide de l'appel RESTful Index de génération. Pour plus d'informations, consultez la rubrique Génération de l'index HCL Commerce Search
L'appel RESTful Calculer le prix met à jour les informations de l'index de prix à la demande en fonction du modèle de tarification utilisé par votre magasin. Pour plus d'informations, voir Générer de prix des contrats tel qu'il est intégré dans l'index CatalogEntry.
L'instruction de travail ContractPriceCalculate est utilisée pour calculer les prix selon une planification pour toutes les entrées de catalogue qui appartiennent à un catalogue principal. Le prix d'entrée du catalogue est calculé en fonction de tous les contrats qui appartiennent au magasin. Pour plus d'informations, voir Création et planification du travail ContractPriceCalculate.
- Dans l'index d'extension de prix, lorsque votre site contient plus de 1 000 contrats, ou si vous utilisez une source externe pour renseigner les prix. Les prix sont indexés à l'aide du chargement d'index, car il peut remplir une grande quantité de données dans un index d'extension distinct plus rapidement que l'index des entrées de catalogue ne peut indexer les données de prix. Pour plus d'informations, voir Chargement d'index.
- Lors de l'indexation des prix des contrats, assurez-vous que la valeur de wc.search.priceMode.compatiblePriceIndex est définie sur 1.0 dans le tableau STORECONF :
insert into storeconf(storeent_id,name,value) values('storeent_id', 'wc.search.priceMode.compatiblePriceIndex', '1.0');
Calcul des prix
Les prix peuvent être calculés soit intégralement, soit pour une entrée de catalogue, un contrat ou une devise spécifique. Lorsque des recalculs complets des prix sont utilisés, toutes les données de prix antérieures sont supprimées de l'index avant que les prix des contrats B2B ne soient recalculés.
- Serveur ou environnement dédié
- Attribuez un serveur ou une instance dédiée pour calculer les prix.
- Environnement de production au niveau du répéteur
- Vous pouvez calculer et générer l'index de prix au niveau d'un répéteur. Ensuite, les prix et autres données de l'entrée de catalogue et de l'index du groupe de catalogues sont reproduits pour les subordonnés de la recherche.
- Environnement de création sur un maître
- Calculez les prix sur un nœud HCL Commerce sur un auteur/maître.
Logique des recalculs des prix complets
- Le recalcul des prix utilise les contrats de magasin actuels et futurs qui partagent le catalogue principal.
- Seules les devises prises en charge pour tous les magasins actifs identifiés dans le catalogue principal sont respectées, tandis que les autres sont ignorées et ne sont pas indexées. Cette restriction existe parce que les prix sont recalculés au nom de l'administrateur de site, et ne peut donc pas calculer les prix au niveau du segment de clientèle.
- Par défaut, les calculs de prix sont basés soit sur une unité de mesure (kilos, caisses, lots) qui a une quantité numérique de base de 1, soit sur une unité de C62. C62 est utilisé pour signifier les éléments qui ne sont pas comptés selon une unité de mesure distincte. Par exemple, les chemises ne sont généralement pas mesurées en kilos, mais en quantité. Leur unité de mesure peut être définie sur C62. L'une des limites de cette approche est que toute tarification par étape, c'est-à-dire basée sur la quantité, est ignorée.Conseil : Vous pouvez contourner cette limitation en définissant explicitement C62 comme ayant une valeur de 1, puis en définissant une unité basée sur C62 qui peut être multipliée. Par exemple, la requête SQL suivante crée une nouvelle unité, CS, basée sur C62, qui peut être multipliée pour permettre une tarification par étape ou par quantité.
INSERT INTO QTYCONVERT VALUE('CS',1,'C62',1,'M','N',0);
Logique des recalculs
- Les ID de contrat ne sont pas validés lorsqu'ils sont transmis en tant que paramètre distinct. Ainsi, les contrats futurs affichent les prix corrects lorsque vous prévisualisez une date future dans l'aperçu d'un magasin.
- Tous les contrats expirés et suspendus peuvent être retirés en toute sécurité de la table temporaire TI_CNTRPRICE pour l'entrée de catalogue ou le contrat spécifié dans les paramètres de l'utilitaire. Autrement dit, la liste de purge est limitée uniquement à l'entrée ou au contrat de catalogue spécifié. Par exemple, si vous spécifiez un contrat expiré, toutes les entrées de catalogue couvertes par ce contrat sont purgées. Toutefois, si vous spécifiez une entrée de catalogue, tous les contrats expirés sont purgés uniquement pour l'entrée de catalogue spécifiée.
- Si un contrat est suspendu et inactif, le prix des contrats est supprimé. Si un utilisateur professionnel reprend le contrat et qu'il redevient actif, le prix n'est pas indiqué dans la vitrine tant qu'il n'est pas calculé à nouveau pour le contrat repris.
- Lorsqu'un produit, un contrat ou une devise non valide est transmis, la logique l'ignore et n'indexe donc pas les valeurs non valides.
- Si un contrat transmis est expiré ou suspendu, il est supprimé et purgé du résultat de calcul. Dans le cas contraire, si un contrat qui sera actif à une date ultérieure est transmis, il est indexé. C'est-à-dire, même s'il n'est pas actuellement actif au moment du recalcul des prix.
- Les paramètres storeId et de devise ne peuvent pas être spécifiés avec d'autres paramètres.
Logique de personnalisation
Les prix des contrats actifs et futurs sont intégrés dans l'index d'entrée de catalogue à l'aide de définitions de zones qui commencent par price_, suivies d'une combinaison de contrat et de devise. Par exemple, price_USD_10001 ou price_CNY_10002. En revanche, pour les versions sans prix des contrats indexés, l'index d'entrée de catalogue utilise des définitions de zone qui commencent par price_, suivies uniquement par sa devise.
| Nom | Type | Description |
|---|---|---|
| CATENTRY_ID | BIGINT NOT NULL | ID de l'entrée de catalogue. Cette colonne contient toutes les entrées de catalogue pour le catalogue principal spécifié. |
| PRIX.TITRE | Objet CLOB | Paires de valeurs multiples pour différents contrats et valeurs de devises séparés par un espace blanc. |
- SolrRESTSearchCatalogEntryViewPriceQueryPostprocessor
- SolrRESTSearchByPriceExpressionProvider
- SolrSearchResultFieldQueryPreprocessor
- SolrSearchFacetQueryPreprocessor
Dans les sites étendus, le magasin de ressources de catalogue définit le prix dans le catalogue principal afin que les sites étendus partagent les prix du magasin de ressources de catalogue. Le site étendu peut également remplacer les prix afin de contenir les prix étendus spécifiques au site. Différents sites étendus peuvent créer des articles spécifiques avec un prix spécifique. Lorsque les prix sont calculés, les articles spécifiques au magasin sont calculés en premier. Les articles partagés sont calculés par magasin en fonction de leur contrat et de leur devise spécifiques. L'API de prix obtient le prix correct, basé sur le contrat spécifié, la règle de tarification, le modèle de prix, ou les termes et conditions du contrat. Différents sites étendus peuvent définir des prix différents en utilisant différents contrats. Lorsqu'un client se connecte à un autre magasin de sites étendu, différents contrats sont résolus. Ensuite, le client voit les prix pertinents dans le magasin, même pour le même produit dans le catalogue principal.
Plusieurs colonnes de prix sont établies dans l'index des entrées du catalogue. Lorsqu'un acheteur se connecte à la vitrine, le contrat d'acheteur admissible est récupéré. S'il existe plusieurs contrats admissibles, l'acheteur peut choisir un contrat à définir pour la session. Ensuite, la colonne de prix correspondante liée au contrat en session est affichée dans la vitrine. Pour personnaliser ce comportement, l'URL ContractPriceCalculate utilise ContractPriceCalculatCmd comme commande d'entrée globale. La logique peut être remplacée en enregistrant une nouvelle implémentation de commande dans la table de registre de commandes. Si vous souhaitez introduire une logique de calcul différente, remplacez les méthodes calculateStoreSpecificItemPrice et calculateStoreSpecificItemPrice dans la commande ContractPriceCalculateCmd.
<cmdreg storeent_id="0" interfacename="com.ibm.commerce.price.commands.GetContractUnitPriceCmd+IBM_Admin_CalculatePriceIndex"
classname="com.ibm.commerce.price.commands.CompositeGetContractUnitPriceCmdImpl" target="Local"/>
<cmdreg storeent_id="0" interfacename="com.ibm.commerce.price.commands.GetContractUnitPriceCmd+IBM_Admin_CalculatePriceIndex"
classname="com.ibm.commerce.price.commands.PriceRuleGetContractUnitPriceCmdImpl" target="Local"/>
Si votre magasin utilise le modèle de prix externe, vous pouvez enregistrer votre propre commande de prix pour obtenir votre résultat de prix prévu.
Aperçu de l'espace de travail
- Les prix B2B affichés dans l'aperçu du magasin ne proviennent que du contenu approuvé.
- Les prix futurs peuvent être prévisualisés si le contrat futur approprié est indexé. La date future est respectée dans le contexte de la prévisualisation et montre le affiche correct pour l'affichage.
- Les prix ne peuvent pas être associés à du nouveau contenu non approuvé, tels que l'aperçu d'un nouveau produit non approuvé qui n'appartient à aucun contrat.
- Lorsqu'un utilisateur professionnel modifie le prix de vente standard sur CMC, il souhaite prévisualiser ces modifications dans l'aperçu du magasin de l'espace de travail. Si l'index de prix des contrats est activé, sans recalcul, ces modifications ne peuvent pas être prévisualisées. Vous devez exécuter le service d'indexation manuellement, via le service d'indexation des planifications, ou calculer un travail de prix pour capturer les prix modifiés. Cette opération permet aux produits concernés de suivre les nouveaux changements de prix.