Loading
Assicurazioni
InsClaimCoverageService:invokeProductRules

InsClaimCoverageService:invokeProductRules

Utilizzare questo servizio quando si creano coperture delle richieste per invocare le regole di prodotto per le transizioni tra stati.

Classe: InsClaimCoverageService

Metodo: invokeProductRules

Funzionamento

  1. Trova l'oggetto richiesta in base al objectID ed estrae i prodotti per quell'oggetto in base a quel objectID.

  2. Cerca il transitionName specificato.

  3. Esegue le regole associate al prodotto e applicabili al transitionName.

    Valuta ogni istanza Parte coinvolta e/o Proprietà coinvolta separatamente per ogni regola prodotto copertura della richiesta.

  4. Se una delle regole restituisce true, il servizio esegue l'azione Vlocity specificata in tali regole.

  5. Cerca il valore dell'opzione includeStateTransition. Se il valore = true, il servizio cerca il modello di stato per questo oggetto, trova il valore di fieldAPIName e lo modifica in base alla transizione.

  6. Restituisce i risultati della valutazione per ogni regola per ogni istanza Parte coinvolta e/o Proprietà coinvolta.

Opzioni remote

Opzione

Descrizione

includeStateTransition

Se true, il servizio modifica il campo stato specificato nella fieldAPIName del modello di stato nello stato specificato nella transizione.

Se false, il servizio non esegue alcuna transizione di stato.

mode

Se impostata su CoverageMode, esegue solo le regole di InsuranceClaimCoverages__c.

objectId

ID richiesta da sottoporre a query.

transitionName

Nome della transizione tra stati associato alle regole che si desidera eseguire.

Il servizio eseguirà solo le regole associate alla transitionName specificata.

Per trovare un Nome transizione, accedere al modello di stato per questo oggetto.

Input JSON

Questo servizio non accetta un JSON di input.

JSON di output

Il servizio restituisce la valutazione della regola per ogni istanza di una Proprietà coinvolta e/o Parte coinvolta.

Di seguito è riportata la struttura del JSON di output:

{
  "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.>
}

Di seguito è riportato un esempio di JSON di output con regole che hanno restituito false e regole che hanno restituito true:

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