Loading
Forsikring
InsClaimCoverageService:invokeProductRules

InsClaimCoverageService:invokeProductRules

Bruk denne tjenesten når du oppretter kravdekninger, til å kalle opp produktregler for statsoverganger.

Klasse: InsClaimCoverageService

Metode: invokeProductRules

Slik virker det

  1. Finner kravobjektet basert på objectID, og trekker ut produktene for objektet basert på denne objectID.

  2. Ser etter den angitte transitionName.

  3. Kjører reglene som er knyttet til produktet og gjelder for transitionName.

    Evaluerer hver involvert partsforekomst og/eller involvert egenskapsforekomst separat for hver kravdekningsproduktregel.

  4. Hvis noen av reglene evalueres til true, utfører tjenesten Vlocity-handlingen som er angitt i disse reglene.

  5. Ser etter verdien i includeStateTransition-alternativet. Hvis verdien = true, ser tjenesten etter tilstandsmodellen for dette objektet, finner fieldAPIName-verdien og endrer denne verdien basert på overgangen.

  6. Utdata fra evalueringen for hver regel for hver involvert part- og/eller involvert egenskapsforekomst.

Eksterne alternativer

Alternativ

Beskrivelse

includeStateTransition

Hvis true, endrer tjenesten statusfeltet som er angitt i delstatsmodellens fieldAPIName, til statusen som er angitt i overgangen.

Hvis false, gjør ikke tjenesten noen statusovergang.

mode

Hvis det angis til CoverageMode, kjøres bare InsuranceClaimCoverages__c-regler.

objectId

Krav-IDen som skal spørres.

transitionName

Navnet på overgangen til staten som er knyttet til reglene du vil kjøre.

Tjenesten kjører bare regler som er knyttet til transitionName du angir.

Gå til delstatsmodellen for dette objektet for å finne et overgangsnavn.

Inndata-JSON

Denne tjenesten bruker ikke en inndata-JSON.

Utdata-JSON

Tjenesten returnerer regelevalueringen for hver forekomst av en involvert eiendom og/eller involvert part.

Her er strukturen til JSON-koden for utdata:

{
  "falseRules" : {
    "<String identifier>" : [
      {
        "ruleDetails": {
          "requirement name": <ProductRequirement__c.Name>,
          "conditions": <ProductRequirement__c.Conditions__c>,
          "message": <ProductRequirement__c.Message__c>,
          "action method": <ProductRequirement__c.VlocityActionId__r.InvokeMethodName__c>,
          "action class": <ProductRequirement__c.VlocityActionId__r.InvokeClassName__c>,
          "productId": <ProductRequirement__c.Product2Id__c>,
          "transitionName": <input transitionName>,
          "objectId": <input objectid>,
          "ruleId": <<ProductRequirement__c.Id>
        }
      }
    ]
  }
},  
  "trueRules": {
    "<String identifier>" : [
      {
        "ruleDetails": {
          "requirement name": <ProductRequirement__c.Name>,
          "conditions": <ProductRequirement__c.Conditions__c>,
          "message": <ProductRequirement__c.Message__c>,
          "action method": <ProductRequirement__c.VlocityActionId__r.InvokeMethodName__c>,
          "action class": <ProductRequirement__c.VlocityActionId__r.InvokeClassName__c>,
          "productId": <ProductRequirement__c.Product2Id__c>,
          "transitionName": <input transitionName>,
          "objectId": <input objectid>,
          "ruleId": <<ProductRequirement__c.Id>
        }
      }
    ]
  },
  "transitionSuccess": <Boolean, transition result>,
  "stateTransit": <message with the object's state field, the old state, and the new state.>,
  "canTransitState": <Boolean. determine if the object has fulfilled its transit criterria>,
  "allFalse": <Boolean, if no rule executed true.>
}

Her er et eksempel på en JSON-fil med utdata med regler som er evaluert til usann, og regler som er evaluert til sann:

{
  "falseRules": {
    "PetBodilyInjury_BMW 735i_a4m5w000000p6DE": [
      {
        "ruleDetails": {
          "requirement name": "Maximum Aggregation Rule",
          "conditions": "TardisCoverage.EACHPERSON == 30800",
          "message": "TestMessage",
          "action method": "Product_Rule",
          "action class": "IntegrationProcedureService",
          "productId": "01t5w00000E0L8xAAF",
          "transitionName": "OpenToClosed",
          "objectId": "a4J5w000001Z3ElEAK",
          "ruleId": "a5L5w000003Tl7EEAS"
        }
      }
    ]
  },
  "trueRules": {
    "PetBodilyInjury_BMW 735i Owner_a4m5w000000p6DE": [
      {
        "actionResults": {
          "IPResult": {
            "output": "TestOutput"
          }
        },
        "ruleDetails": {
          "requirement name": "Maximum Aggregation Rule",
          "conditions": "TardisCoverage.EACHPERSON == 30800",
          "message": "TestMessage",
          "action method": "Product_Rule",
          "action class": "IntegrationProcedureService",
          "productId": "01t5w00000E0L8xAAF",
          "transitionName": "OpenToClosed",
          "objectId": "a4J5w000001Z3EmEAK",
          "ruleId": "a5L5w000003Tl7EEAS"
        }
      }
    ]
  },
  "transitionSuccess": true,
  "stateTransit": " updated ClaimStatus__c from Open to Closed",
  "canTransitState": true,
  "allFalse": false
}
 
Laster
Salesforce Help | Article