Loading
Seguro
InsClaimCoverageService:invokeProductRules

InsClaimCoverageService:invokeProductRules

Utilice este servicio al crear coberturas de reclamaciones para invocar reglas de productos para transiciones de estado.

Clase: InsClaimCoverageService

Método: invokeProductRules

Funcionamiento

  1. Busca el objeto de reclamación basándose en el objectID y extrae los productos para ese objeto basándose en ese objectID.

  2. Busca el transitionName especificado.

  3. Ejecuta las reglas asociadas con el producto y aplicables al transitionName.

    Evalúa cada instancia de Parte implicada y/o instancia de Propiedad implicada por separado para cada regla de producto de cobertura de reclamación.

  4. Si cualquiera de las reglas se evalúa como true, el servicio ejecuta la acción Vlocity especificada en esas reglas.

  5. Busca el valor de la opción includeStateTransition. Si el valor = true, el servicio busca el modelo de estado para este objeto, encuentra el valor de fieldAPIName y cambia ese valor basándose en la transición.

  6. Da como resultado los resultados de la evaluación para cada regla en cada instancia de Parte implicada y/o Propiedad implicada.

Opciones remotas

Opción

Descripción

includeStateTransition

Si es verdadero, el servicio cambia el campo de estado especificado en la fieldAPIName del modelo de estado al estado especificado en la transición.

Si es falso, el servicio no realiza ninguna transición de estado.

mode

Si se establece en CoverageMode, solo ejecuta reglas de InsuranceClaimCoverages__c.

objectId

El Id. de reclamación que se va a consultar.

transitionName

El nombre de transición de estado asociado con las reglas que desea ejecutar.

El servicio solo ejecutará reglas asociadas con el transitionName que especifique.

Para buscar un Nombre de transición, vaya al modelo de estado para este objeto.

JSON de entrada

Este servicio no toma un JSON de entrada.

JSON de salida

El servicio devuelve la evaluación de regla para cada instancia de una Propiedad implicada y/o Parte implicada.

Esta es la estructura del JSON de salida:

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

Este es un ejemplo de un JSON de salida con reglas que se evaluaron como falsas y reglas que se evaluaron como verdaderas:

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