Você está aqui:
InsClaimService:invokeProductRules
Use esse serviço em fluxos de declaração para invocar regras de assinatura que você adicionou a um produto.
Por exemplo, se você adicionasse regras que enviassem reivindicações acima de um determinado valor monetário a um subscritor para aprovação, esse serviço invocaria essas regras.
Como funciona
- O serviço localiza o objeto de reivindicaçã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 da declaração.
- Se qualquer uma das regras for avaliada como verdadeira, o serviço executará a ação do Vlocity especificada nessas regras.
Por exemplo, se a ação especificar que uma tarefa será criada, o serviço criará uma tarefa.
- 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. |
|
O ID da reivindicação ou o ID da cobertura 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. |
|
Se
Se |
|
Opcional. O estado para o qual o serviço muda o objeto quando todas as regras executadas pelo serviço são avaliadas como false. O serviço muda o objeto para esse estado apenas se |
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.
Neste exemplo, as entradas são:
-
objectId = claimId
-
transitionName = nome da transição da regra
{
"stateTransit": " updated ClaimStatus__c from Open to Closed",
"canTransitState": true,
"allFalse": false,
"falseRules": {
"Involved Property_a3lf4000000pcFUAAY": [
{
"ruleDetails": {
"instanceKey": "Involved Property_a3lf4000000pcFUAAY",
"involvedItemId": "a3lf4000000pcFUAAY",
"requirement name": "Maximum Aggregation Rule",
"conditions": "Pet.petType == 'dog' AND Pet.petBreed == 'Alaskan Husky' AND ptandev2__InsuranceClaim__c.ptandev2__ClaimStatus__c == 'Open'",
"message": "TestMessage",
"action method": "Product_Rule",
"action class": "IntegrationProcedureService",
"productId": "01tf4000004mGyhAAE",
"transitionName": "OpenToClosed",
"objectId": "a3qf4000000KtfKAAS"
}
}
],
"Involved Injury Cat Husky_a3kf4000000pLEuAAM": [
{
"ruleDetails": {
"instanceKey": "Involved Injury Cat Husky_a3kf4000000pLEuAAM",
"involvedItemId": "a3kf4000000pLEuAAM",
"requirement name": "Maximum Aggregation Rule",
"conditions": "Pet.petType == 'dog' AND Pet.petBreed == 'Alaskan Husky' AND ptandev2__InsuranceClaim__c.ptandev2__ClaimStatus__c == 'Open'",
"message": "TestMessage",
"action method": "Product_Rule",
"action class": "IntegrationProcedureService",
"productId": "01tf4000004mGyhAAE",
"transitionName": "OpenToClosed",
"objectId": "a3qf4000000KtfKAAS"
}
}
]
},
"trueRules": {
"Involved Injury Dog Husky_a3kf4000000pLEtAAM": [
{
"actionResults": {
"IPResult": {
"output": "TestOutput"
}
},
"ruleDetails": {
"instanceKey": "Involved Injury Dog Husky_a3kf4000000pLEtAAM",
"involvedItemId": "a3kf4000000pLEtAAM",
"requirement name": "Maximum Aggregation Rule",
"conditions": "Pet.petType == 'dog' AND Pet.petBreed == 'Alaskan Husky' AND ptandev2__InsuranceClaim__c.ptandev2__ClaimStatus__c == 'Open'",
"message": "TestMessage",
"action method": "Product_Rule",
"action class": "IntegrationProcedureService",
"productId": "01tf4000004mGyhAAE",
"transitionName": "OpenToClosed",
"objectId": "a3qf4000000KtfKAAS"
}
}
]
}
}
Esse JSON inclui os seguintes pares de chave/valor:
Chave |
Valor |
|---|---|
|
Descreve o que o serviço mudou no campo Status no objeto de declaração. |
|
Informa se o serviço muda ou não o objeto para um novo estado. |
|
Se todas as regras executadas pelo serviço forem avaliadas como falsas, Se qualquer uma das regras executadas pelo serviço for avaliada como verdadeira, |
|
Uma matriz de um ou mais Inclui todas as regras executadas pelo serviço que são avaliadas como falsas. |
|
Uma matriz de um ou mais Inclui todas as regras executadas pelo serviço que são avaliadas como verdadeiras. Aparece apenas se |
|
Qualquer erro encontrado pelo serviço. Se o valor for OK, nenhuma mensagem de erro aparecerá na UI. |
As matrizes falseRules e trueRules incluem pares de chave/valor de ruleDetails.
"ruleDetails": {
"instanceKey": "Involved Property_a3lf4000000pcFUAAY",
"involvedItemId": "a3lf4000000pcFUAAY",
"requirement name": "Maximum Aggregation Rule",
"conditions": "Pet.petType == 'dog' AND Pet.petBreed == 'Alaskan Husky' AND ptandev2__InsuranceClaim__c.ptandev2__ClaimStatus__c == 'Open'",
"message": "TestMessage",
"action method": "Product_Rule",
"action class": "IntegrationProcedureService",
"productId": "01tf4000004mGyhAAE",
"transitionName": "OpenToClosed",
"objectId": "a3qf4000000KtfKAAS"
}"ruleDetails": {
"requirement name": "Operator Points >4",
"conditions": "wcOperator.opPoints > 4",
"message": "The applicant's prior citations require underwriting review prior to issuance.",
"action method": "ReferToUnderwriting",
"action class": "DROpenImplementationClass",
"productId": "01tf4000001lKNQAA2",
"transitionName": "Submit>Underwrite",
"objectId": "0Q0f4000000ADatCAG"
}A matriz de trueRules inclui um ou mais actionResults, pares de chave/valor adicionais e rulesDetails.
Os actionResults são a saída da classe de ação Vlocity e do método de ação invocado pelo serviço.
"trueRules": {
"Involved Injury Dog Husky_a3kf4000000pLEtAAM": [
{
"actionResults": {
"IPResult": {
"output": "TestOutput"
}
},
"ruleDetails": {
"instanceKey": "Involved Injury Dog Husky_a3kf4000000pLEtAAM",
"involvedItemId": "a3kf4000000pLEtAAM",
"requirement name": "Maximum Aggregation Rule",
"conditions": "Pet.petType == 'dog' AND Pet.petBreed == 'Alaskan Husky' AND ptandev2__InsuranceClaim__c.ptandev2__ClaimStatus__c == 'Open'",
"message": "TestMessage",
"action method": "Product_Rule",
"action class": "IntegrationProcedureService",
"productId": "01tf4000004mGyhAAE",
"transitionName": "OpenToClosed",
"objectId": "a3qf4000000KtfKAAS"
}
}
]
}
