Du er her:
InsClaimService:invokeProductRules
Bruk denne tjenesten i kravflyter til å kalle opp underskriftsregler som du har lagt til i et produkt.
Hvis du for eksempel hadde lagt til regler som sender krav over et bestemt beløp til en underordnet for godkjenning, kaller denne tjenesten opp disse reglene.
Slik virker det
- Tjenesten finner kravobjektet basert på
objectIDog trekker ut produktene for objektet basert på denneobjectID. - Ser etter den angitte
transitionName. - Kjører reglene som er knyttet til produktet og gjelder for
transitionName.Evaluerer hver involvert partsforekomst og/eller involvert egenskapsforekomst separat for hver kravproduktregel.
- Hvis noen av reglene evalueres til true, utfører tjenesten Vlocity-handlingen som er angitt i disse reglene.
Hvis handlingen for eksempel angir at en oppgave skal opprettes, oppretter tjenesten en oppgave.
- Ser etter verdien i
includeStateTransition-alternativet. Hvis verdien =true, ser tjenesten etter tilstandsmodellen for dette objektet, finnerfieldAPIName-verdien og endrer denne verdien basert på overgangen. - Utdata fra evalueringen for hver regel for hver involvert part- og/eller involvert egenskapsforekomst.
Eksterne alternativer
Alternativ |
Beskrivelse |
|---|---|
|
Hvis true, endrer tjenesten statusfeltet som er angitt i delstatsmodellens Hvis false, gjør ikke tjenesten noen statusovergang. |
|
Krav-IDen eller Kravdeknings-IDen som det skal spørres etter. |
|
Navnet på overgangen til staten som er knyttet til reglene du vil kjøre. Tjenesten kjører bare regler som er knyttet til Gå til delstatsmodellen for dette objektet for å finne et overgangsnavn. |
|
Hvis
Hvis |
|
Valgfritt. Statusen som tjenesten overfører objektet til når alle regler som kjøres av tjenesten, evalueres til usann. Tjenesten overfører objektet til denne tilstanden bare hvis |
Utdata-JSON
Tjenesten returnerer regelevalueringen for hver forekomst av en involvert eiendom og/eller involvert part.
I dette eksemplet er inndataene:
-
objectId = claimId
-
transitionName = Navn på regelovergang
{
"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"
}
}
]
}
}
Denne JSON-koden inkluderer følgende nøkkel/verdi-par:
Nøkkel |
Verdi |
|---|---|
|
Beskriver hva tjenesten har endret i Status-feltet i kravobjektet. |
|
Viser om tjenesten overfører objektet til en ny tilstand eller ikke. |
|
Hvis alle reglene som kjøres av tjenesten, evalueres til usanne, blir Hvis noen av reglene som kjøres av tjenesten, evalueres til true, blir |
|
En matrise med én eller flere Inkluderer alle regler som kjøres av tjenesten og evalueres til usanne. |
|
En matrise med én eller flere Inkluderer alle regler som kjøres av tjenesten og evalueres til sann. Vises bare hvis |
|
Eventuelle feil som tjenesten støter på. Hvis verdien er ok, vises det ingen feilmeldinger i brukergrensesnittet. |
Både falseRules- og trueRules-matrisen inkluderer par med ruleDetails-nøkkel/verdi.
"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-matrisen inkluderer én eller flere actionResults, flere nøkkel/verdi-par og rulesDetails.
actionResults er utdata fra handlingsklassen Vlocity og handlingsmetoden som kalles opp av tjenesten.
"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"
}
}
]
}