Loading
Страхование
InsClaimCoverageService:invokeProductRules

InsClaimCoverageService:invokeProductRules

Используйте эту службу при создании покрытий претензий для вызова правил продукта для переходов состояния.

Класс: InsClaimCoverageService

Метод: invokeProductRules

Принцип работы

  1. Находит объект претензии на основе objectID и извлекает продукты для этого объекта на основе этого objectID.

  2. Ищет указанную transitionName.

  3. Выполняет правила, связанные с продуктом и применимые к transitionName.

    Оценивает каждый экземпляр вовлеченной стороны и/или экземпляр вовлеченного имущества отдельно для каждого правила продукта покрытия претензий.

  4. Если любое из правил оценивается как истинное, служба выполняет действие Vlocity, указанное в этих правилах.

  5. Ищет значение параметра includeStateTransition. Если значение = true, служба ищет модель состояния для этого объекта, находит значение fieldAPIName и изменяет это значение на основе перехода.

  6. Выводит результаты оценки для каждого правила в каждом экземпляре вовлеченной стороны и/или вовлеченного имущества.

Удаленные параметры

Параметр

Описание

includeStateTransition

Если значение true, служба изменяет поле состояния, указанное в fieldAPIName модели состояния, на состояние, указанное в переходе.

Если значение false, то служба не выполняет переход в другое состояние.

mode

Если задано значение «CoverageMode», запускаются только правила InsuranceClaimCoverages__c.

objectId

Код заявки-претензии для запроса.

transitionName

Имя перехода в состояние, связанное с выполняемыми правилами.

Служба будет выполнять только правила, связанные с указанным transitionName.

Чтобы найти имя перехода, перейдите к модели состояния для этого объекта.

JSON ввода

Данная служба не использует JSON ввода.

Вывод JSON

Служба возвращает оценку правила для каждого экземпляра вовлеченного имущества и/или вовлеченной стороны.

Ниже указана структура вывода JSON:

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

Ниже указан пример вывода JSON с правилами, оцененными как false, и правилами, оцененными как 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
}
 
Загрузка
Salesforce Help | Article