您位於此處:
InsClaimCoverageService:invokeProductRules
建立索賠涵蓋範圍以針對狀態轉換叫用產品規則時,請使用此服務。
類別:InsClaimCoverageService
運作方式
-
根據該
objectID尋找索賠物件,並根據該objectID提取該物件的產品。 -
尋找指定的
transitionName。 -
執行與產品相關聯且適用於該
transitionName的規則。針對每個索賠涵蓋範圍產品規則,分別評估每個「參與對象」例項和/或「參與的內容」例項。
-
如果任何規則評估為 true,則服務會執行這些規則中指定的 Vlocity 動作。
-
尋找
includeStateTransition選項的值。如果值 =true,則服務會尋找此物件的狀態模型、尋找fieldAPIName值,並根據轉換變更該值。 -
輸出每個「參與對象」和/或「參與內容」例項上每個規則的評估結果。
遠端選項
選項 |
描述 |
|---|---|
|
如果為 true,則服務會將狀態模式 如果為 false,則服務不會執行任何狀態轉換。 |
|
若設定為 |
|
要查詢的「索賠識別碼」。 |
|
與您要執行的規則相關聯的狀態轉換名稱。 服務只會執行與您指定的 若要尋找「轉換名稱」,請移至此物件的狀態模型。 |
輸出 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
}
