Ti trovi qui:
InsClaimService:invokeProductRules
Utilizzare questo servizio nei flussi di richiesta per invocare le regole di sottoscrizione aggiunte a un prodotto.
Ad esempio, se sono state aggiunte regole che inviano richieste superiori a un determinato importo in dollari a un sottoscrittore per l'approvazione, questo servizio richiama tali regole.
Funzionamento
- Il servizio 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 richiesta.
- Se una delle regole restituisce true, il servizio esegue l'azione Vlocity specificata in tali regole.
Ad esempio, se l'azione specifica che deve essere creata un'operazione, il servizio crea un'operazione.
- 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. |
|
ID richiesta o ID copertura della 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. |
|
Se
Se |
|
Facoltativo. Lo stato in cui il servizio esegue la transizione dell'oggetto quando tutte le regole eseguite dal servizio restituiscono false. Il servizio passa l'oggetto a questo stato solo se |
JSON di output
Il servizio restituisce la valutazione della regola per ogni istanza di una Proprietà coinvolta e/o Parte coinvolta.
Per questo esempio, gli input sono:
-
objectId = claimId
-
transitionName = nome transizione regola
{
"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"
}
}
]
}
}
Questo JSON include le seguenti coppie chiave/valore:
Chiave |
Valore |
|---|---|
|
Descrive le modifiche apportate al servizio nel campo Stato dell'oggetto richiesta. |
|
Indica se il servizio passa o meno l'oggetto a un nuovo stato. |
|
Se tutte le regole eseguite dal servizio restituiscono false, Se una delle regole eseguite dal servizio restituisce true, |
|
Una matrice di uno o più Include tutte le regole eseguite dal servizio che restituiscono false. |
|
Una matrice di uno o più Include tutte le regole eseguite dal servizio che restituiscono true. Viene visualizzato solo se |
|
Eventuali errori riscontrati dal servizio. Se il valore è ok, nell'interfaccia utente non vengono visualizzati messaggi di errore. |
Le matrici falseRules e trueRules includono entrambe coppie chiave/valore 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"
}La matrice trueRules include uno o più actionResults, coppie chiave/valore aggiuntive e rulesDetails.
I actionResults sono l'output della classe di azioni Vlocity e del metodo di azione invocato dal servizio.
"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"
}
}
]
}