Вы находитесь здесь:
InsClaimService:invokeProductRules
Используйте эту службу в потоках претензий для вызова правил андеррайтинга, добавленных в продукт.
Например, если вы добавили правила, отправляющие требования на сумму более определенной суммы страховщику на утверждение, эта служба вызывает эти правила.
Принцип работы
- Служба находит объект претензии на основе
objectIDи извлекает продукты для этого объекта на основе этогоobjectID. - Ищет указанную
transitionName. - Выполняет правила, связанные с продуктом и применимые к
transitionName.Оценивает каждый экземпляр вовлеченной стороны и/или экземпляр вовлеченного имущества отдельно для каждого правила продукта претензии.
- Если любое из правил оценивается как истинное, служба выполняет действие Vlocity, указанное в этих правилах.
Например, если действие указывает на необходимость создания задачи, служба создает задачу.
- Ищет значение параметра
includeStateTransition. Если значение =true, служба ищет модель состояния для этого объекта, находит значениеfieldAPINameи изменяет это значение на основе перехода. - Выводит результаты оценки для каждого правила в каждом экземпляре вовлеченной стороны и/или вовлеченного имущества.
Удаленные параметры
Параметр |
Описание |
|---|---|
|
Если значение true, служба изменяет поле состояния, указанное в Если значение false, то служба не выполняет переход в другое состояние. |
|
Код претензии или код покрытия претензии для запроса. |
|
Имя перехода в состояние, связанное с выполняемыми правилами. Служба будет выполнять только правила, связанные с указанным Чтобы найти имя перехода, перейдите к модели состояния для этого объекта. |
|
Если
Если |
|
Дополнительно. Состояние, в которое служба переходит при оценке всех правил, выполняемых службой, как false. Служба переводит объект в это состояние, только если |
Вывод JSON
Служба возвращает оценку правила для каждого экземпляра вовлеченного имущества и/или вовлеченной стороны.
В данном примере вводные данные:
-
objectId = claimId
-
transitionName = имя перехода правила
{
"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"
}
}
]
}
}
Этот JSON содержит следующие пары ключ/значение:
Клавиша |
Значение |
|---|---|
|
Описывает изменение службы в поле «Статус» объекта претензии. |
|
Данный параметр определяет необходимость перехода объекта в новое состояние. |
|
Если все правила, выполняемые службой, оцениваются как false, Если любое из правил, выполняемых службой, оценивается как true, |
|
Массив из одного или нескольких Содержит все правила, выполняемые службой, которые оцениваются как ложные. |
|
Массив одного или нескольких Содержит все правила, выполняемые службой, которые оцениваются как истинные. Отображается, только если |
|
Любые ошибки, возникающие в службе. Если значение нормально, сообщения об ошибках не отображаются в пользовательском интерфейсе. |
Массивы falseRules и trueRules содержат пары ключ/значение 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"
}Массив trueRules содержит как минимум одну actionResults, дополнительные пары ключ/значение и rulesDetails.
actionResults являются выводом класса действия Vlocity и метода действия, вызываемого службой.
"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"
}
}
]
}