Ti trovi qui:
InsClaimCoverageService:invokeProductRules
Utilizzare questo servizio quando si creano coperture delle richieste per invocare le regole di prodotto per le transizioni tra stati.
Classe: InsClaimCoverageService
Funzionamento
-
Trova l'oggetto richiesta in base al
objectIDed estrae i prodotti per quell'oggetto in base a quelobjectID. -
Cerca il
transitionNamespecificato. -
Esegue le regole associate al prodotto e applicabili al
transitionName.Valuta ogni istanza Parte coinvolta e/o Proprietà coinvolta separatamente per ogni regola prodotto copertura della richiesta.
-
Se una delle regole restituisce true, il servizio esegue l'azione Vlocity specificata in tali regole.
-
Cerca il valore dell'opzione
includeStateTransition. Se il valore =true, il servizio cerca il modello di stato per questo oggetto, trova il valore difieldAPINamee lo modifica in base alla transizione. -
Restituisce i risultati della valutazione per ogni regola per ogni istanza Parte coinvolta e/o Proprietà coinvolta.
Opzioni remote
Opzione |
Descrizione |
|---|---|
|
Se true, il servizio modifica il campo stato specificato nella Se false, il servizio non esegue alcuna transizione di stato. |
|
Se impostata su |
|
ID richiesta da sottoporre a query. |
|
Nome della transizione tra stati associato alle regole che si desidera eseguire. Il servizio eseguirà solo le regole associate alla Per trovare un Nome transizione, accedere al modello di stato per questo oggetto. |
JSON di output
Il servizio restituisce la valutazione della regola per ogni istanza di una Proprietà coinvolta e/o Parte coinvolta.
Di seguito è riportata la struttura del JSON di output:
{
"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.>
}Di seguito è riportato un esempio di JSON di output con regole che hanno restituito false e regole che hanno restituito 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
}
