Du är här:
InsClaimService:invokeProductRules
Använd denna tjänst i anspråksflöden för att åberopa garantiregler som du har lagt till i en produkt.
Till exempel, om du har lagt till regler som skickar anspråk över ett visst belopp till en garant för godkännande åberopar denna tjänst dessa regler.
Så här fungerar det
- Tjänsten hittar anspråksobjektet baserat på
objectIDoch extraherar produkterna för det objektet baserat på detobjectID. - Letar efter den specificerade
transitionName. - Kör reglerna som är associerade med produkten och gäller för
transitionName.Utvärderar varje instans av Inblandad part och/eller Inblandad egenskap separat för varje produktregel för anspråk.
- Om någon av reglerna utvärderas till sant utför tjänsten åtgärden Vlocity som specificeras i dessa regler.
Till exempel, om åtgärden specificerar att en uppgift ska skapas skapar tjänsten en uppgift.
- Leta efter värdet för alternativet
includeStateTransition. Om värdet =trueletar tjänsten efter statusmodellen för detta objekt, hittarfieldAPINameoch ändrar detta värde baserat på övergången. - Matar ut resultaten av utvärderingen för varje regel för varje instans av Inblandad part och/eller Inblandad egenskap.
Fjärralternativ
Alternativ |
Beskrivning |
|---|---|
|
Om sant ändrar tjänsten det lägesfält som specificeras i lägesmodellens Om det är falskt utför tjänsten ingen statusövergång. |
|
ID för anspråk eller anspråkstäckning som ska frågas. |
|
Namnet på delstatsövergången som är associerad med de regler du vill köra. Tjänsten kör endast regler som är associerade med den För att hitta ett övergångsnamn, gå till lägesmodellen för detta objekt. |
|
Om
Om |
|
Valfritt. Delstaten som tjänsten överför objektet till när alla regler som körs av tjänsten utvärderas till falskt. Tjänsten överför objektet till detta läge endast om |
JSON för utdata
Tjänsten returnerar regelutvärderingen för varje instans av en involverad egenskap och/eller involverad part.
För detta exempel är indata:
-
objectId = claimId
-
transitionName = regelövergångsnamn
{
"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"
}
}
]
}
}
Denna JSON innehåller följande nyckel/värdepar:
Nyckel |
Värde |
|---|---|
|
Beskriver vad tjänsten har ändrat i fältet Status i anspråksobjektet. |
|
Talar om huruvida tjänsten överför objektet till ett nytt läge eller inte. |
|
Om alla regler som körs av tjänsten utvärderas till falska blir Om någon av reglerna som körs av tjänsten utvärderas till sant är |
|
En matris med en eller flera Inkluderar alla regler som körs av tjänsten som utvärderas till falskt. |
|
En matris med en eller flera Inkluderar alla regler som körs av tjänsten som utvärderas till sant. Visas endast om |
|
Eventuella fel som uppstått för tjänsten. Om värdet är ok visas inga felmeddelanden i användargränssnittet. |
Matriserna falseRules och trueRules inkluderar båda 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 innehåller en eller flera actionResults, ytterligare nyckel-/värdepar och rulesDetails.
actionResults är utdata från åtgärdsklassen Vlocity och åtgärdsmetoden som åberopas av tjänsten.
"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"
}
}
]
}