詳細情報:
InsClaimService:invokeProductRules
請求フローでこのサービスを使用して、商品に追加した引受ルールを呼び出します。
たとえば、特定の金額以上の請求を引受人に承認してもらうルールを追加している場合、このサービスはそのルールを呼び出します。
操作手順
- このサービスは、
objectIDに基づいて請求オブジェクトを検索し、そのobjectIDに基づいてそのオブジェクトの商品を抽出します。 - 指定された
transitionNameを検索します。 - 商品に関連付けられて
transitionNameに適用されるルールを実行します。請求商品ルールごとに、各関係者インスタンスおよび/または関与プロパティインスタンスを個別に評価します。
- いずれかのルールが true と評価されると、サービスはそれらのルールで指定された Vlocity アクションを実行します。
たとえば、アクションで ToDo の作成が指定されている場合、サービスは ToDo を作成します。
includeStateTransitionオプションの値を検索します。value =trueの場合、サービスはこのオブジェクトの状態モデルを検索し、fieldAPIName値を見つけて、遷移に基づいてその値を変更します。- 各関係者または関与プロパティインスタンスのルールごとに評価の結果を出力します。
リモートオプション
オプション |
説明 |
|---|---|
|
true の場合、サービスは状態モデルの false の場合、サービスは状態遷移を行いません。 |
|
照会される請求 ID または請求補償範囲 ID。 |
|
実行するルールに関連付けられた状態遷移名。 サービスは、指定した Transition Name を見つけるには、このオブジェクトの状態モデルに移動します。 |
|
[
[ |
|
省略可能。 サービスによって実行されるすべてのルールが 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 と評価されると、 |
|
1 つ以上の false と評価されたサービスによって実行されるすべてのルールが含まれます。 |
|
1 つ以上の true と評価されたサービスによって実行されるすべてのルールが含まれます。
|
|
サービスで発生したエラー。 値が OK の場合、UI にエラーメッセージは表示されません。 |
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 配列には、1 つ以上の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"
}
}
]
}