Vous êtes ici :
InsProductService: runRules
Utilisez ce service pour exécuter des règles sur un produit sans recalculer le prix de ce produit.
Méthode : runRules
Fonctionnement
-
Le service recherche la clé de
selectedProductdans le JSON d'entrée. -
Exécute les règles sur le nœud
selectedProduct.L'exécution des ensembles de règles dépend des options distantes définies sur true.
-
Renvoie le JSON avec les résultats des règles ajoutées au nœud
selectedProduct.
Options distantes
Option |
Description |
|---|---|
|
Par défaut Si true, service exécute les règles de valeur d'ensemble d'attributs. |
|
Par défaut Lorsque cette option est définie sur |
|
Lorsqu'il est défini sur true, exécute les règles de couverture sélectionnées par défaut pour le produit sélectionné. |
|
Lorsqu'il est défini sur true, exécute les règles d'éligibilité pour le produit sélectionné. Si les règles sont évaluées sur |
|
Lorsqu'il est défini sur true, exécute des règles de couverture facultatives requises. |
|
Défini par défaut sur false. Lorsque cette option est définie sur Le service ajoute un nœud de message à l'enregistrement de couverture facultatif affecté si la règle est évaluée à false. |
JSON d'entrée
Ce service recherche un objet produit dans la clé selectedProduct de son JSON d'entrée. Cet objet peut être créé par d'autres services tels que getRatedProducts. Il comprend le produit racine, les produits enfants et les produits petits-enfants.
Cet exemple contient un seul nœud d'entrée avant l'exécution des règles par le service.
"Name": "Accidental Death",
"Description": "An accidental death benefit rider also known as a double indemnity clause provides a higher death benefit to the beneficiaries of the policy in case the insured dies because of an accident. The death benefit is generally a multiple of the face value of the base coverage.",
"Family": "Individual Life",
"ProductCode": "ADDCOV",
"LineOfBusiness__c": "Individual Health",
"Type__c": "Coverages",
"IsRecommended__c": false,
"PricingSource__c": "premiumADD",
"RecordTypeName__c": "CoverageSpec",
"IsConfigurable__c": true,
"productId": "01t1U000000OEamQAG",
"pciId": "a2w1U0000001G4YQAU",
"selectValidationCriteria": "[{\"expression\":\"WOP.isSelected == true\",\"code\":\"code_0\"}]",
"selectValidationMessage": "[{\"message\":\"WOP must be true\",\"severity\":\"INFO\",\"code\":\"code_0\"}]",
"isOptional": true,
"isSelected": true,
"parentInstanceKey": "Jack Kirkland",
"Price": 358,
"pathFromRoot": "[0].childProducts.records[2].childProducts.records[2]",
"formattedParentInstanceKey": "jack-kirkland",
"parentProductName": "Jack Kirkland",
"originalIndex": 2,
"numberCategories": 18,
"numberAttributes": 18,
"popoverOpen": false,
"isOriginalOptional": true,
"isAddedOptional": true,
"showTypeHeader": true,
"displaySequence": 1
Alternative preTransformBundle
Alternativement, vous pouvez définir une transformation Omnistudio Data Mapper qui mappe les données transmises dans le JSON d'entrée sous le format dont le service a besoin. Le JSON de sortie de ce Mappeur de données est le nœud selectedProducts requis par runRules. Lorsque vous ajoutez ce service à un OmniScript, définissez preTransformBundle sur le nom du Mappeur de données pour que le service utilise le Mappeur de données.
JSON de sortie
Le service renvoie la même structure JSON que celle du nœud selectedProduct avec les résultats de l'exécution des règles. Pour plus d'informations sur le contenu et la structure de cet objet, consultez Modèle de structure JSON Produit.
Cet exemple contient un seul nœud de sortie après l'exécution des règles par le service avec les résultats de l'exécution des règles.
"messages": [
{
"code": "code_0",
"severity": "INFO",
"message": "WOP must be true"
}
],
"displaySequence": 1,
"lastNonOptional": true,
"firstOptional": true,
"Id": "01t1U000000OEamQAG",
"Name": "Accidental Death",
"Description": "An accidental death benefit rider also known as a double indemnity clause provides a higher death benefit to the beneficiaries of the policy in case the insured dies because of an accident. The death benefit is generally a multiple of the face value of the base coverage.",
"Family": "Individual Life",
"ProductCode": "ADDCOV",
"LineOfBusiness__c": "Individual Health",
"Type__c": "Coverages",
"IsRecommended__c": false,
"PricingSource__c": "premiumADD",
"RecordTypeName__c": "CoverageSpec",
"IsConfigurable__c": true,
"productId": "01t1U000000OEamQAG",
"pciId": "a2w1U0000001G4YQAU",
"selectValidationCriteria": "[{\"expression\":\"WOP.isSelected == true\",\"code\":\"code_0\"}]",
"selectValidationMessage": "[{\"message\":\"WOP must be true\",\"severity\":\"INFO\",\"code\":\"code_0\"}]",
"isOptional": true,
"isSelected": true,
"parentInstanceKey": "Jack Kirkland",
"Price": 358,
"pathFromRoot": "[0].childProducts.records[2].childProducts.records[2]",
"formattedParentInstanceKey": "jack-kirkland",
"parentProductName": "Jack Kirkland",
"originalIndex": 2,
"numberCategories": 18,
"numberAttributes": 18,
"popoverOpen": false,
"isOriginalOptional": true,
"isAddedOptional": true,
"showTypeHeader": true, 