Você está aqui:
InsClaimCoverageService:invokeProductRules
Use esse serviço ao criar coberturas de declaração para invocar regras de produto para transições de estado.
Classe: InsClaimCoverageService
Como funciona
-
Localiza o objeto de declaração com base no
objectIDe extrai os produtos para esse objeto com base nesseobjectID. -
Procura o
transitionNameespecificado. -
Executa as regras associadas ao produto e aplicáveis ao
transitionName.Avalia cada instância de Parte envolvida e/ou instância de Propriedade envolvida separadamente para cada regra de produto de cobertura da declaração.
-
Se qualquer uma das regras for avaliada como verdadeira, o serviço executará a ação do Vlocity especificada nessas regras.
-
Procura o valor da opção
includeStateTransition. Se o valor =true, o serviço procura o modelo de estado para esse objeto, encontra o valor defieldAPINamee altera esse valor com base na transição. -
Sairá os resultados da avaliação para cada regra em cada instância de Propriedade envolvida e/ou Parte envolvida.
Opções remotas
Opção |
Descrição |
|---|---|
|
Se verdadeiro, o serviço altera o campo de estado especificado na Se falso, o serviço não faz nenhuma transição de estado. |
|
Se definido como |
|
O ID da reivindicação a ser consultado. |
|
O nome da transição de estado associado às regras que você deseja executar. O serviço executará apenas regras associadas às Para localizar um Nome de transição, acesse o modelo de estado para esse objeto. |
JSON de saída
O serviço retorna a avaliação da regra para cada instância de uma Propriedade envolvida e/ou Parte envolvida.
Esta é a estrutura do JSON de saída:
{
"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.>
}Aqui está um exemplo de um JSON de saída com regras que foram avaliadas como false e regras que foram avaliadas como 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
}

