Loading
Insurance
InsProductService: runRules

InsProductService: runRules

Utilisez ce service pour exécuter des règles sur un produit sans recalculer le prix de ce produit.

Classe: InsProductService

Méthode : runRules

Fonctionnement

  1. Le service recherche la clé de selectedProduct dans le JSON d'entrée.

  2. 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.

  3. Renvoie le JSON avec les résultats des règles ajoutées au nœud selectedProduct.

Options distantes

Option

Description

ruleAttributeSetValues

true ou false

Par défaut true.

Si true, service exécute les règles de valeur d'ensemble d'attributs.

evalOptionalCoverageRelationship

true ou false

Par défaut false.

Lorsque cette option est définie sur true, le service évalue la relation de couverture facultative par rapport aux règles disponibles et met à jour l'indicateur de isSelected dans l'enregistrement de couverture facultative affecté.

runDefaultSelected

true ou false

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é.

runEligibility

true ou false

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 false, le service définit le nœud isEligible sur false dans la couverture facultative.

runRequiredCoverage

true ou false

Lorsqu'il est défini sur true, exécute des règles de couverture facultatives requises.

validateCoverageSelection

true ou false

Défini par défaut sur false.

Lorsque cette option est définie sur true, le service valide la sélection de couverture facultative par rapport aux règles disponibles.

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,                                             
 
Chargement
Salesforce Help | Article