Loading
メールアドレスがデフォルトのログイン方式となります 続きを読む
Insurance
InsClaimService:invokeProductRules

InsClaimService:invokeProductRules

請求フローでこのサービスを使用して、商品に追加した引受ルールを呼び出します。

たとえば、特定の金額以上の請求を引受人に承認してもらうルールを追加している場合、このサービスはそのルールを呼び出します。

クラス: InsClaimService

方法: invokeProductRules

操作手順

  1. このサービスは、objectIDに基づいて請求オブジェクトを検索し、そのobjectIDに基づいてそのオブジェクトの商品を抽出します。
  2. 指定されたtransitionNameを検索します。
  3. 商品に関連付けられてtransitionNameに適用されるルールを実行します。

    請求商品ルールごとに、各関係者インスタンスおよび/または関与プロパティインスタンスを個別に評価します。

  4. いずれかのルールが true と評価されると、サービスはそれらのルールで指定された Vlocity アクションを実行します。

    たとえば、アクションで ToDo の作成が指定されている場合、サービスは ToDo を作成します。

  5. includeStateTransition オプションの値を検索します。value = true の場合、サービスはこのオブジェクトの状態モデルを検索し、fieldAPIName値を見つけて、遷移に基づいてその値を変更します。
  6. 各関係者または関与プロパティインスタンスのルールごとに評価の結果を出力します。

リモートオプション

オプション

説明

includeStateTransition

true の場合、サービスは状態モデルのfieldAPINameで指定された状態項目をトランジションで指定された状態に変更します。

false の場合、サービスは状態遷移を行いません。

objectId

照会される請求 ID または請求補償範囲 ID。

transitionName

実行するルールに関連付けられた状態遷移名。

サービスは、指定したtransitionNameに関連付けられたルールのみを実行します。

Transition Name を見つけるには、このオブジェクトの状態モデルに移動します。

mode

[objectId] が [請求 ID] の場合、2 つのmode値 ([ItemMode] または [CoverageMode]) を使用できます。mode パラメータは、その請求 ID で評価されるオブジェクトを指定します。

  • [適用可能種別] が [請求] として定義されている商品ルールを評価するには、ItemMode (デフォルト) を使用します。サービスでは、請求 ID に関連付けられたすべての ClaimItem レコードにこれらのルールが適用されます。ItemMode では、ルールエンジンで使用できるオブジェクトは ClaimItem オブジェクトと Claim オブジェクトです。

    ItemMode は、損失の最初の通知の最後に請求補償範囲を開く場合に役立ちます (ドラフトからオープンへの移行など)。2 台の車両と 3 人が関係する自動車事故を想像してください。true として評価されるルールは、インテグレーション手順をコールするアクションをコールするために使用できます。たとえば、各請求項目の正しい請求補償範囲を開くことができます。請求補償範囲には、最初の車両の衝突、3 番目の車両の財物損害、運転者の 1 人の身体傷害などが含まれます。

  • [請求補償範囲] として [適用可能種別] が定義された商品ルールを評価するには、CoverageMode を使用します。サービスでは、ClaimId に関連付けられたすべての請求補償範囲レコードにこれらのルールが適用されます。CoverageMode では、ルールエンジンで使用できるオブジェクトは ClaimCoverage、InsurancePolicyCoverage、および Claim オブジェクトです。

    CoverageMode は、請求のすべての請求補償範囲に対してルールを実行する場合に役立ちます。たとえば、待機期間ルールが適用されるかどうかを判断するときに CoverageMode を使用します。このようなルールは、[オープン] から [拒否] への移行をトリガーできます。

[objectId] が請求補償範囲 ID の場合、ルールエンジンは [適用可能種別] が ClaimCoverage として定義されている商品ルールを評価します。サービスでは、これらのルールを 1 つの ClaimCoverageId に適用します。この場合、サービスは複数の下位レベルのオブジェクトではなく 1 つのオブジェクトのみを評価するため、mode は使用されません。

falseTransitionState

省略可能。

サービスによって実行されるすべてのルールが false と評価されたときにサービスがオブジェクトを移行する状態。

サービスは、includeStateTransition = true の場合にのみオブジェクトをこの状態に移行します。

Input JSON

このサービスでは、入力 JSON には何も使用されません。

出力 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 には、次のキー/値のペアが含まれます。

キー

値

stateTransit

請求オブジェクトの [状況] 項目でサービスが変更された内容を説明します。

canTransitState

true または false

サービスがオブジェクトを新しい状態に移行するかどうかを示します。

allFalse

サービスによって実行されるすべてのルールが false と評価される場合、allFalse = true になります。

サービスによって実行されるルールのいずれかが true と評価されると、allFalse = false になります。

falseRules

1 つ以上のruleDetailsの配列。

false と評価されたサービスによって実行されるすべてのルールが含まれます。

trueRules

1 つ以上のactionResultsとruleDetailsの配列。

true と評価されたサービスによって実行されるすべてのルールが含まれます。

allFalse = false の場合にのみ表示されます。つまり、サービスによって実行される 1 つ以上のルールが true と評価されます。

error

サービスで発生したエラー。

値が 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"
                }
            }
        ]
    }

例

このサービスは通常、請求を自動的に承認できるかどうかをルールで決定する場合や、引受人にさらに検討を依頼する場合に使用します。

 
読み込み中
Salesforce Help | Article