Gestion des états ouverts
Le modèle d’état ouvert est un cadre de travail programmatique de l’API Configuration State Model, qui vous permet de programmer des variantes dans les options de produit qui apparaissent dans Gestion des ventes et des commandesle configurateur de produits . Le cadre de travail API fournit certains états et méthodes d’API auxiliaires pour contrôler l’affichage des nœuds de l’interface configurateur de produits utilisateur.
En tant que développeurs, vous pouvez utiliser des points d’extension pour la gestion des états ouverts afin de définir les états en lecture seule ou modifiables sur n’importe quel nœud de configurateur, en fonction des événements qui se produisent lors du chargement ou lorsque les sélections de produits changent. Vous pouvez également scripter des messages d’information tout en modifiant l’état du nœud. Ces messages s’affichent de manière contextuelle dans l’interface utilisateur du configurateur de produit. Diverses méthodes d’API d’assistance sont disponibles pour lire et définir les états sur n’importe quel nœud, éliminant ainsi le besoin de scripts JSON étendus.
Remarque :
Vérifiez vos droits pour déterminer si vous avez accès à ces fonctionnalités.
Cas d’utilisation pour la gestion des états de configuration
Le tableau suivant montre différentes façons de contrôler les options de produit affichées dans le configurateur de produits.
| Cas d’utilisation du configurateur de produit | Exemple |
|---|---|
| Masquer certaines options pour un client | Une sélection d’attributs de produit n’est pas affichée pour les clients en Californie en raison des réglementations de sécurité de l’État. |
| Définir certaines options par défaut pour un client | Pour les mises à niveau, seul le plan Ultimate est affiché pour les clients existants qui ont un plan premium. |
| Autoriser uniquement la sélection de certaines options en fonction d’autres options d’attribut | Pour certains produits tels que les ordinateurs portables, affichez toutes les tailles de 13 », 15 » et 17 », mais n’affichez que les ordinateurs portables de 15 » et 17 » si seule la fonction d’écran tactile est requise. |
| Autoriser la quantité à définir pour les produits | Certains produits peuvent avoir des valeurs de quantité par défaut différentes. Autorisez les agents à configurer la quantité tant que la valeur est comprise entre une quantité minimale et une quantité maximale autorisée pour ce produit. |
| Autoriser uniquement certaines sélections de caractéristiques | Certaines sélections de produits nécessitent le choix d’une valeur caractéristique particulière. Par exemple, lors de la sélection du forfait Internet ultime, la vitesse de connectivité qui peut être choisie est 5G. |
Vous pouvez gérer l’affichage des options dans configurateur de produits le à l’aide du Cadre de travail d’API du modèle d’état de configuration.
États des nœuds
Les nœuds du configurateur de produit affichent les groupes de relations de produit, les produits enfants et les options de caractéristique. Les nœuds peuvent avoir les états suivants :
- Visible : Oui (rendre le nœud visible) ou Non (rendre le nœud invisible)
- Configurations visibles ou non visibles par l’agent dans le configurateur de produit. Les options peuvent ne pas être visibles si elles sont incompatibles avec d’autres sélections effectuées par l’agent. Par exemple, pour une taille de roue de voiture particulière, les options de pneus incompatibles ne sont pas visibles.
- Modifiable : Oui (afficher le nœud et le rendre sélectionnable) ou Non (afficher le nœud, mais le rendre non sélectionnable)
- Configurations modifiables ou non modifiables par l’agent dans le configurateur de produit. Les agents peuvent personnaliser certains aspects du produit tout en conservant les contraintes nécessaires au produit. Par exemple, pour un modèle de voiture spécifique, seules les couleurs extérieures compatibles sont modifiables.
- Quantité : visible (Oui/Non), modifiable (Oui/Non)
- Configurations qui définissent la quantité d’un produit, appliquent des règles liées à la quantité et affichent des messages d’information et d’erreur liés à la quantité au niveau du nœud approprié.
- Coché : Oui (afficher les sélections de nœuds) ou Non (rendre les sélections de nœuds invisibles)
- Configurations qui affichent les options de configuration pour la sélection en fonction du contexte.
- Valeur : visible (oui/non), modifiable (oui/non)
- Configurations qui définissent une valeur pour une caractéristique, appliquent les règles associées à la caractéristique et affichent les messages d’information ou d’erreur associés au nœud approprié.
Remarque :
Les agents peuvent choisir de définir des messages au niveau d’un nœud pour justifier un changement d’état.
Événements
Gérez les états des nœuds à l’aide du cadre de travail API du modèle d’état de configuration. Activez ces états à l’aide des deux événements suivants dans le cadre de travail des événements du modèle d’état de configuration :
- Lors du chargement : l’état (visibilité, modifiabilité) de chaque nœud est initialement défini sur Oui (vrai). L’état ouvert est invoqué lors du chargement.
- Sur changement : cette fonction est appelée chaque fois qu’il y a un changement dans la valeur d’un nœud dans l’interface configurateur de produits utilisateur. Toutefois, cet état n’est pas invoqué lorsque des changements de quantité se produisent dans le configurateur de produits. Ces états peuvent être définis par programmation de l’une des manières suivantes : au chargement, pendant les sélections ou juste avant que l’instance ne soit resynchronisée avec la transaction
Méthodes de l’API d’aide
Vous pouvez utiliser les méthodes d’API d’assistance suivantes pour lire et définir des états sur n’importe quel nœud.
- Appliquer les états
- Définissez les états visibles et modifiables des groupes de relations de produits, des caractéristiques du produit et des options de caractéristiques du produit à l’aide des méthodes Getter et Setter pour lire et modifier l’état du modèle de configuration.
- Méthodes Getter
- Obtenez les chemins d’accès des nœuds ainsi que les états sur n’importe quel nœud de configuration :
- getAllNodes() : Renvoie JSON avec le chemin d’accès du nœud (référence au code) et son chemin relatif respectif avec tous les états.
- getNode(nodePath) : renvoie l’objet JavaScript du nœud pour le chemin d’accès de nœud spécifié, s’il existe.
- getNodeDetails(nodePath : renvoie tous les états du chemin d’accès du nœud spécifié, s’il existe.
- Méthodes de création
-
- Définissez les états visibles et modifiables pour les groupes de relations de produits, les caractéristiques du produit et les options de caractéristique du produit.
- setVisible : vrai/faux à tous les niveaux
- setVisible (vrai/faux)
- setEditable : vrai/faux à tous les niveaux
- setEditable(Vrai)
- Exemple d’implémentation :
var newHandler = configInstance.getNode(nodePath); newHandler.setVisible(true, “This is a sample message for setVisible”); newHandler.setEditable(false, “This is a sample message for setEditable”);
- Définissez la quantité des offres et spécifications. Le nodePath détermine le produit, et la valeur est la quantité à définir.
- setQuantity(valeur) ;
- Exemple d’implémentation :
var newHandler = configInstance.getNode(nodePath); newHandler.setQuantity(value, “This is a sample message for setQuantity”);
- Définissez les options de configuration pour voir ce qui est sélectionné.
- setChecked (valeur) ; Vrai/faux
- Exemple d’implémentation :
var nodePath = “QUADPLAYHO1/OPTIONALPRODUCTS/CONNECTEDC2/CONNECTEDC1/VIN” var newHandler = configInstance.getNode(nodePath); var newHandler.setChecked(true, “This is a sample message for setChecked”)
- Définissez la valeur d’un nœud caractéristique où le type d’entrée est une seule ligne de texte.
- setValue( valeur) ;
- Exemple d’implémentation :
var nodePath = “QUADPLAYHO1/OPTIONALPRODUCTS/CONNECTEDC2/CONNECTEDC1/VIN” var newHandler = configInstance.getNode(nodePath); newHandler.setValue(“9TKN332”, “This is a sample message for setValue”);
- Définissez les états visibles et modifiables pour les groupes de relations de produits, les caractéristiques du produit et les options de caractéristique du produit.
- Méthodes des variables de contexte getter
- Récupérez les variables de contexte dans l’interface configurateur de produits utilisateur.
- getHeaderContextVariables() : renvoie une liste de toutes les variables de contexte de l’en-tête.
- getHeaderContextVariableValue(contextVariable) : renvoie une valeur et la valeur d’affichage d’une variable de contexte spécifique dans l’en-tête.
- getLineContextVariables() : renvoie une liste de toutes les variables de contexte de ligne.
- getLineContextVariableValue(nodePath, contextVariable) : renvoie la valeur d’une variable de contexte spécifique dans la ligne.