Loading
Insurance
InsClaimCoverageService:invokeProductRules

InsClaimCoverageService:invokeProductRules

Utilisez ce service lors de la création de couvertures de réclamation afin d'invoquer des règles produit pour des transitions d'état.

Classe: InsClaimCoverageService

Méthode : invokeProductRules

Fonctionnement

  1. Recherche l'objet réclamation basé sur le objectID et extrait les produits de cet objet basé sur ce objectID.

  2. Recherche la transitionName spécifiée.

  3. Exécute les règles associées au produit et applicables au transitionName.

    Évalue chaque instance Partie impliquée et/ou Propriété impliquée séparément pour chaque règle produit de couverture de réclamation.

  4. Si l'une des règles est évaluée à true, le service exécute l'action Vlocity spécifiée dans ces règles.

  5. Recherche la valeur de l'option includeStateTransition. Si la valeur = true, le service recherche le modèle d'état de cet objet, recherche la valeur fieldAPIName et change cette valeur en fonction de la transition.

  6. Renvoie les résultats de l'évaluation de chaque règle dans chaque instance Partie impliquée et/ou Propriété impliquée.

Options distantes

Option

Description

includeStateTransition

Si true, le service change le champ d'état spécifié dans la fieldAPIName du modèle d'état en l'état spécifié dans la transition.

Si false, le service n'effectue aucune transition d'état.

mode

Si défini sur CoverageMode, exécute uniquement les règles de InsuranceClaimCoverages__c.

objectId

L'ID de réclamation à interroger.

transitionName

Le nom de la transition d'état associé aux règles que vous souhaitez exécuter.

Le service exécute uniquement les règles associées aux transitionName que vous spécifiez.

Pour trouver un Nom de transition, accédez au modèle d'état de cet objet.

JSON d'entrée

Ce service ne prend pas de JSON d'entrée.

JSON de sortie

Le service renvoie l'évaluation de la règle pour chaque instance d'un bien impliqué et/ou d'une partie impliquée.

Voici la structure du JSON de sortie :

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

Voici un exemple de JSON de sortie avec des règles évaluées à false et des règles évaluées à 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
}
 
Chargement
Salesforce Help | Article