Loading
Försäkring
InsProductService: runRules

InsProductService: runRules

Använd denna tjänst för att köra regler för en produkt utan att ändra prissättning för produkten.

Klass: InsProductService

Metod: runRules

Så här fungerar det

  1. Tjänsten söker JSON för indata efter selectedProduct.

  2. Kör reglerna för selectedProduct.

    Vilka uppsättningar regler som körs beror på vilka fjärralternativ som är inställda på sant.

  3. Returnerar JSON med resultaten av reglerna som lagts till i selectedProduct.

Fjärralternativ

Alternativ

Beskrivning

ruleAttributeSetValues

true eller false

true som standard.

Om sant kör tjänsten reglerna för attributuppsättningsvärde.

evalOptionalCoverageRelationship

true eller false

false som standard.

När detta alternativ är inställt till true utvärderar tjänsten den valfria täckningsrelationen mot de tillgängliga reglerna och uppdaterar flaggan isSelected på den påverkade valfria täckningsposten.

runDefaultSelected

true eller false

När satt till sant körs valda standardtäckningsregler för den valda produkten.

runEligibility

true eller false

När satt till sant körs behörighetsregler för den valda produkten.

Om reglerna utvärderas till false sätter tjänsten isEligible i den valfria täckningen till false.

runRequiredCoverage

true eller false

När satt till sant körs valfria täckningsregler som krävs.

validateCoverageSelection

true eller false

Blir som standard falskt.

När detta alternativ är inställt till true validerar tjänsten det valfria täckningsvalet mot tillgängliga regler.

Tjänsten lägger till en meddelandenod till den påverkade valfria täckningsposten om regeln utvärderas till falsk.

Indata-JSON

Denna tjänst letar efter ett produktobjekt i selectedProduct i sin indata-JSON. Detta objekt kan skapas av andra tjänster som getRatedProducts. Det inkluderar rotprodukten, underordnade produkter och barnbarnsprodukter.

Detta exempel innehåller endast en indatanod innan tjänsten kör reglerna.


"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                 

förtransformpaketalternativ

Alternativt kan du definiera en Omnistudio Data Mapper-transformation som mappar de data som skickas till indata-JSON till den form tjänsten behöver. Denna Datamappnings JSON för utdata är den selectedProducts som krävs av runRules. När du lägger till denna tjänst i ett OmniScript, ställ in preTransformBundle på namnet på Datamappningen för att låta tjänsten använda Datamappningen.

JSON för utdata

Tjänsten returnerar samma JSON-struktur som den i selectedProduct med resultaten från regelkörningen. Se Product JSON-strukturmodell för mer information om innehållet och strukturen för detta objekt.

Detta exempel innehåller endast en utdatanod efter att tjänsten kört reglerna med resultaten av regelkörningen.

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