Du är här:
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.
Metod: runRules
Så här fungerar det
-
Tjänsten söker JSON för indata efter
selectedProduct. -
Kör reglerna för
selectedProduct.Vilka uppsättningar regler som körs beror på vilka fjärralternativ som är inställda på sant.
-
Returnerar JSON med resultaten av reglerna som lagts till i
selectedProduct.
Fjärralternativ
Alternativ |
Beskrivning |
|---|---|
|
Om sant kör tjänsten reglerna för attributuppsättningsvärde. |
|
När detta alternativ är inställt till |
|
När satt till sant körs valda standardtäckningsregler för den valda produkten. |
|
När satt till sant körs behörighetsregler för den valda produkten. Om reglerna utvärderas till |
|
När satt till sant körs valfria täckningsregler som krävs. |
|
Blir som standard falskt. När detta alternativ är inställt till 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, 