Loading
Assicurazioni
InsProductService: runRules

InsProductService: runRules

Utilizzare questo servizio per eseguire regole su un prodotto senza assegnare nuovamente un prezzo a quel prodotto.

Classe: InsProductService

Metodo: runRules

Funzionamento

  1. Il servizio cerca la chiave selectedProduct nel JSON di input.

  2. Esegue le regole sul nodo selectedProduct.

    Gli insiemi di regole eseguiti dipendono dalle opzioni remote impostate su true.

  3. Restituisce il JSON con i risultati delle regole aggiunti al nodo selectedProduct.

Opzioni remote

Opzione

Descrizione

ruleAttributeSetValues

true o false

Per impostazione predefinita, true.

Se true, service esegue le regole di valore dell'insieme di attributi.

evalOptionalCoverageRelationship

true o false

Per impostazione predefinita, false.

Quando questa opzione è impostata su true, il servizio valuta la relazione di copertura facoltativa rispetto alle regole disponibili e aggiorna il flag isSelected sul record di copertura facoltativo interessato.

runDefaultSelected

true o false

Quando è impostato su true, esegue le regole di copertura selezionate predefinite per il prodotto selezionato.

runEligibility

true o false

Se impostato su true, esegue le regole di idoneità per il prodotto selezionato.

Se le regole restituiscono false, il servizio imposta il nodo isEligible nella copertura facoltativa su false.

runRequiredCoverage

true o false

Quando è impostato su true, esegue regole di copertura obbligatorie per la copertura facoltativa.

validateCoverageSelection

true o false

Il valore predefinito è false.

Quando questa opzione è impostata su true, il servizio convalida la selezione della copertura facoltativa rispetto alle regole disponibili.

Il servizio aggiunge un nodo messaggio al record copertura facoltativo interessato se la regola restituisce false.

Input JSON

Questo servizio cerca un oggetto prodotto nella chiave selectedProduct nel suo JSON di input. Questo oggetto può essere creato da altri servizi come getRatedProducts. Include il prodotto radice, i prodotti secondari e i prodotti secondari.

Questo esempio contiene un solo nodo di input prima che il servizio esegua le regole.


"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                 

Alternativa preTransformBundle

In alternativa, è possibile definire una trasformazione Omnistudio Data Mapper che mappa i dati passati nel JSON di input nel modulo necessario al servizio. Il JSON di output di questo Data Mapper è il nodo selectedProducts richiesto da runRules. Quando si aggiunge questo servizio a un OmniScript, impostare preTransformBundle sul nome del Data Mapper per fare in modo che il servizio utilizzi il Data Mapper.

JSON di output

Il servizio restituisce la stessa struttura JSON del nodo selectedProduct con i risultati delle regole eseguite. Vedere Modello struttura JSON del prodotto per informazioni dettagliate sui contenuti e la struttura di questo oggetto.

Questo esempio contiene un solo nodo di output dopo che il servizio ha eseguito le regole con i risultati delle regole.

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