Du er her:
InsProductService: runRules
Bruk denne tjenesten til å kjøre regler på et produkt uten å endre prisen på det produktet.
Metode: runRules
Slik virker det
-
Tjenesten søker i inndata-JSON-koden etter
selectedProduct-nøkkelen. -
Kjører reglene i
selectedProduct-noden.Hvilke sett regler som kjøres, avhenger av hvilke eksterne alternativer som er satt til sann.
-
Returnerer JSON-koden med resultatene av reglene som er lagt til i
selectedProduct-noden.
Eksterne alternativer
Alternativ |
Beskrivelse |
|---|---|
|
Standardverdien er Hvis true, kjører service attributtsettreglene. |
|
Standardverdien er Når dette alternativet er satt til |
|
Når det angis til sant, kjøres standardvalgte dekningsregler for det valgte produktet. |
|
Når det angis til true, kjøres berettigelsesregler for det valgte produktet. Hvis reglene evalueres til |
|
Når det angis til true, kjøres valgfrie dekningsregler for nødvendig dekning. |
|
Standardverdien er false. Når dette alternativet er satt til Tjenesten legger til en meldingsnode i den berørte valgfrie dekningsposten hvis regelen evalueres til usann. |
Inndata-JSON
Denne tjenesten ser etter et produktobjekt i selectedProduct-nøkkelen i dens inndata-JSON. Dette objektet kan opprettes av andre tjenester som getRatedProducts. Den inkluderer rotproduktet, underordnede produkter og barnebarnprodukter.
Dette eksemplet inneholder bare én inndatanode før tjenesten kjører reglene.
"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
preTransformBundle-alternativ
Du kan også definere en Omnistudio Data Mapper-transformasjon som tilordner dataene som sendes til inndata-JSON-filen, til skjemaet tjenesten trenger. Denne datatilordnerens JSON-utdata er selectedProducts som kreves av runRules. Når du legger til denne tjenesten i et OmniScript, angir du preTransformBundle til navnet på Datatilordning slik at tjenesten bruker Datatilordning.
Utdata-JSON
Tjenesten returnerer samme JSON-struktur som i selectedProduct-noden med resultatet av regelkjøringen. Se Produkt-JSON-strukturmodell for å få detaljer om innholdet og strukturen til dette objektet.
Dette eksemplet inneholder bare én utdatanode etter at tjenesten har kjørt reglene med resultatet av regelkjøringen.
"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, 