Loading
保險
InsClaimService:invokeProductRules

InsClaimService:invokeProductRules

在索賠流程中使用此服務可叫用您已新增至產品的簽署規則。

例如,如果您新增的規則會將超過特定美元金額的索賠傳送給承包商進行批准,則此服務會叫用這些規則。

類別:InsClaimService

方法:invokeProductRules

運作方式

  1. 服務會根據該 objectID 尋找索賠物件,並根據該 objectID 提取該物件的產品。
  2. 尋找指定的 transitionName。
  3. 執行與產品相關聯且適用於該 transitionName 的規則。

    針對每個索賠產品規則,分別評估每個「參與對象」例項和/或「參與的內容」例項。

  4. 如果任何規則評估為 true,則服務會執行這些規則中指定的 Vlocity 動作。

    例如,如果動作指定要建立工作,則服務會建立工作。

  5. 尋找 includeStateTransition 選項的值。如果值 = true,則服務會尋找此物件的狀態模型、尋找 fieldAPIName 值,並根據轉換變更該值。
  6. 輸出每個「參與對象」和/或「參與內容」例項上每個規則的評估結果。

遠端選項

選項

描述

includeStateTransition

如果為 true,則服務會將狀態模式 fieldAPIName 中指定的狀態欄位變更為轉換中指定的狀態。

如果為 false,則服務不會執行任何狀態轉換。

objectId

要查詢的「索賠識別碼」或「索賠涵蓋範圍識別碼」。

transitionName

與您要執行的規則相關聯的狀態轉換名稱。

服務只會執行與您指定的 transitionName 相關聯的規則。

若要尋找「轉換名稱」,請移至此物件的狀態模型。

mode

如果 objectId 是索賠識別碼,則有兩個可能的 mode 值:ItemMode 或 CoverageMode。mode 參數指定針對該索賠識別碼評估的物件。

  • 使用 ItemMode (預設) 來評估定義為「索賠」之「適用類型」的產品規則。服務會將這些規則套用至與「索賠識別碼」相關聯的每個 ClaimItem 記錄。透過 ItemMode,可供規則引擎使用的物件為 ClaimItem 和 Claim 物件。

    ItemMode 在第一個損失通知結束時開啟索賠涵蓋範圍 (例如,從草稿轉換為未結案) 很實用。想像一下發生兩輛車和三人的交通事故。評估為 true 的任何規則都可以用來呼叫呼叫整合程序的動作,例如為每個「索賠項目」開啟正確的「索賠涵蓋範圍」。「索賠涵蓋範圍」可包含第一方車輛的「碰撞」、「第三方車輛的財產損害」、「其中一位駕駛人的身體傷害」等。

  • 使用 CoverageMode 評估定義為「索賠涵蓋範圍」的「適用類型」產品規則。服務會將這些規則套用至與 ClaimId 相關聯的每個「索賠涵蓋範圍」記錄。透過 CoverageMode,適用於規則引擎的物件為 ClaimCoverage、InsurancePolicyCoverage 和 Claim 物件。

    對索賠的所有「索賠涵蓋範圍」執行規則時,CoverageMode 會很有幫助。例如,當判斷是否適用任何等待期間規則時,請使用 CoverageMode。這類規則會觸發從「未完成」轉換至「已拒絕」。

如果 objectId 是「索賠涵蓋範圍識別碼」,則規則引擎會評估定義為 ClaimCoverage 的「適用類型」產品規則。服務會將這些規則套用至單一 ClaimCoverageId。在此情況中,不會使用 mode,因為服務只會評估一個物件,而非多個較低層級的物件。

falseTransitionState

選擇性。

服務所執行所有規則評估為 false 時,服務轉換物件的狀態。

只有在 includeStateTransition = true 時,服務才會將物件轉換為此狀態。

輸入 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

一或多個 ruleDetails 的陣列。

包含由服務所執行且評估為 false 的所有規則。

trueRules

一或多個 actionResults 和 ruleDetails 的陣列。

包含評估為 true 之服務執行的所有規則。

只有在 allFalse = false 時才會顯示。也就是說,服務執行的一或多個規則評估為 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 陣列包含一或多個 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