breadcrumbDescription
InsProductService:repriceProduct
Brug denne tjeneste til at prissætte et produkt ved brug af den vurderingsprocedure, der er knyttet til det pågældende produkt. Denne tjeneste kaldes sædvanligvis, når en bruger vælger et produkt og tilpasser dets dækning.
Metode: repriceProduct
Tjenesten tager et produktobjekt i dens input-JSON og returnerer produktet med den samlede prissætning og det samlede forsikrede beløb. Det returnerer også det komplette resultat JSON fra vurderingsproceduren.
Denne tjeneste fungerer for en eller flere forsikrede parter (personer, der er dækket af policeproduktet) og en eller flere forsikrede elementer (f.eks. flere biler på en automatisk police).
Denne tjeneste kører ikke valgfri dækningsregler for Berettigelse, Påkrævet og Standard, når du redigerer et tilbud.
Sådan fungerer det
-
Tjenesten søger i input-JSON for den valgte produktnøgle og henter derefter dens værdi. Dette objekt indeholder et produktobjekt.
-
Ved at bruge produktdata til at søge i Salesforce finder tjenesten produktet og henter vurderingsproceduren.
-
Tjenesten vurderer produktet med produkt-JSON-strukturen.
-
Tjenesten returnerer produktobjekterne med samlet pris og samlet forsikret beløb. Output JSON inkluderer det parsede resultat JSON fra vurderingsproceduren som værdien af
CalculatedPriceData. Tjenesten angiver også pris ogtotalSumInsured, hvis formlerne er angivet på produktet.
Fjernindstillinger
Indstilling |
Beskrivelse |
|---|---|
|
Når Et tilbud eller en police for automatisk forsikring har f.eks. flere chauffører tilknyttet hver forsikret bil. Den forsikrede auto har en separat |
|
Indstil denne indstilling til Udelad denne indstilling for produkter, der ikke opfylder alle disse kriterier. Hvis du vil formatere |
|
eller %OmniScriptDataElement% Standard er dags dato. |
|
Hvis denne indstilling = |
|
Navnet på Omnistudio-datatilknytning, som denne tjeneste bruger til at hente politikoplysninger (aktivoplysninger). Hvis du bruger Salesforce FSC, skal du angive enten denne indstilling eller |
|
Navnet på den tilpassede klasse, denne tjeneste bruger til at hente politikoplysninger (aktiv). Hvis du bruger Salesforce FSC, skal du angive enten denne indstilling eller |
|
En streng af kommaseparerede nøgle-/værdipar, som tjenesten overfører ind og ud af beregningsproceduren. Disse nøgle-/værdipar er inkluderet i outputproduktobjektet i Det er kun inputnøgler, der bruges af beregningsproceduren, der har en værdi i resultaterne. |
|
Standard er Indeholder hele resultaterne af beregningsproceduren i |
|
Indstil til |
|
Valgfrit
Indstil til Hvis du bruger Salesforce FSC, og du indstiller denne indstilling til |
|
Strengførte lister over id'er Bruges i forbindelse med Beregner kun de moms og gebyrer, der er knyttet til de angivne jurisdiktioner. |
taxAndFeeEffectiveDate
|
Den ikrafttrædelsesdato, denne tjeneste bruger til at beregne moms og gebyrer. Denne indstilling er adskilt fra den Hvis der angives en værdi, bruger tjenesten denne værdi. Hvis der ikke angives en værdi, og produkt-JSON ikke er en politik, er tjenesten som standard dags dato. Hvis værdien ikke angives, og produkt-JSON er en politik, bruger tjenesten den oprindelige politikversions ikrafttrædelsesdato. |
withTaxFeeRounding
|
Valgfrit Hvis det er sandt, afrundes de beregnede moms- og gebyrbeløb til to decimaler ved at bruge metoden Halver lige afrunding. Standardværdien er falsk. |
Input JSON
InsProductService: repriceProduct søger efter et produktobjekt i selectedProduct i dens input-JSON. Dette objekt indeholder de input, der er nødvendige for vurderingsproceduren som tilknyttet i attributterne for produktet, herunder dets tilknyttede dækningsspecifikationer, specifikationer for forsikrede elementer, specifikationer for forsikrede parter og specifikationer for vurderingsfakta. Dette objekt kan oprettes af andre tjenester som f.eks. getRatedProducts. Det inkluderer rodproduktet, underordnede produkter og underunderordnede produkter. Tjenesten parser produktstrukturen og overfører data til udtrykssættet eller beregningsproceduren. Hvis attributter, der er tilknyttet til vurdering, ikke er inkluderet i objektet, bruger tjenesten standarder, der er angivet af produktadministratoren.
Denne tjeneste søger også efter en userInputs i input-JSON, så den kan finde alle vurderingsfaktorer, der ikke er inkluderet i selectedProduct. Brug det relevante userInputs afhængigt af produktdefinitionen og vurderingskonfigurationen. Tjenesten accepterer kun en type userInputs ad gangen.
Output JSON
Tjenesten returnerer den samme JSON-struktur som den i selectedProduct med opdaterede prisoplysninger. Se Produkt-JSON-strukturmodel for at få detaljer om indholdet og strukturen af dette objekt.
Hvis der bruges moms- og gebyrtjenester, bevares JSON-output på JSON-registreringen på samme måde som getRatedProducts skriver til JSON.
For hvert produkt føjes output-JSON fra beregningen af vurderingsproceduren til produktet med CaculatedPriceData-nøglen. Hvis prissætningsformlen er angivet på produktet, indstilles værdien af price til dens beregnede værdi. Hvis den samlede forsikrede formel er fastsat på produktet, indstilles værdien af TotalInsured til dens beregnede værdi.
Strukturen under CalculatedPriceData, inkluderer forekomstunderstøttelse. Prismetrikker er grupperet under forekomstniveau.
Output-JSON indeholder en priceDiff på rodniveau, der opsummerer priserne på forekomstniveau. Den indeholder også totalPremiumForTermDiff på rodniveau. Denne værdi er forskellen mellem den oprindelige samlede præmie for periode og summen mellem den samlede præmie for periode for den nye policeversion og den opdaterede præmie for periode for den gamle policeversion.
I dette eksempel angives prisformlen på produktet, men den samlede forsikrede formel er ikke. Tjenesten føjer CalculatedPriceData til resultaterne fra vurderingsproceduren. Tjenesten beregner prisen baseret på formlen. Den samlede forsikrede formel er ikke angivet på produktet og vises ikke i dataene (heller ikke TotalInsured).
"totalSize": null,
"records": [{
"displaySequence": -1,
"rootProductId": "01t1I000002fuBoQAI",
"rootProductCode": "AUTOROOT",
"timestamp": 1533948385704,
"hasInstanceKeys": true,
"childProductsCount": 8,
"instanceKeyChildren": 2,
"pathFromChild": "[0]",
"pathFromRoot": "[0]",
"Price": 80,
"productId": "01t1I000002fuBoQAI",
"Term__c": "Semi-Annual",
"PricingFormula__c": "SUM(AutoPremium__autoPremium + rentalTotal + medicalTotal + roadsideTotal + dedWaiverTotal + uninsuredMotoristPDTotal + uninsuredMotoristBITotal)",
"IsConfigurable__c": true,
"RecordTypeName__c": "Product",
"IsRecommended__c": false,
"ProductCode": "AUTOROOT",
"Name": "Auto Root",
"Id": "01t1I000002fuBoQAI",
"RawPriceData": [{
"calculationResults": [{
"DRIVER.LN": null,
"DRIVER.FN": null,
"AUTO.instanceKey": "2015 Lexus LX250",
"uninsuredMotoristBITotal": 100,
"uninsuredMotoristPDTotal": 0,
"dedWaiverTotal": 10,
"roadsideTotal": 10,
"medicalTotal": 10,
"rentalTotal": 40,
"comprehensiveTotal": 500,
"ID": "0"
}],
"aggregationResults": {}
},
{
"calculationResults": [{
"DRIVER.LN": null,
"DRIVER.FN": null,
"AUTO.instanceKey": "2006 Honda Odyssey",
"uninsuredMotoristBITotal": 100,
"uninsuredMotoristPDTotal": 0,
"dedWaiverTotal": 10,
"roadsideTotal": 10,
"medicalTotal": 10,
"rentalTotal": 40,
"comprehensiveTotal": 500,
"ID": "1"
}],
"aggregationResults": {}
}
],
"CalculatedPriceData": {
"2015 Lexus LX250": {
"DRIVER.LN": null,
"DRIVER.FN": null,
"AUTO.instanceKey": "2015 Lexus LX250",
"uninsuredMotoristBITotal": 100,
"uninsuredMotoristPDTotal": 0,
"dedWaiverTotal": 10,
"roadsideTotal": 10,
"medicalTotal": 10,
"rentalTotal": 40,
"comprehensiveTotal": 500,
"ID": "0"
},
"2006 Honda Odyssey": {
"DRIVER.LN": null,
"DRIVER.FN": null,
"AUTO.instanceKey": "2006 Honda Odyssey",
"uninsuredMotoristBITotal": 100,
"uninsuredMotoristPDTotal": 0,
"dedWaiverTotal": 10,
"roadsideTotal": 10,
"medicalTotal": 10,
"rentalTotal": 40,
"comprehensiveTotal": 500,
"ID": "1"
}
},
"priceDiff": 0,
"totalPremiumForTermDiff": 0,
"attributeCategories": {
"totalSize": 1,
"records": [{
"displaySequence": 5,
"id": "a1V1I0000007xJSUAY",
"Name": "Alan Health Attributes",
"Code__c": "AHA",
"productAttributes": {
"totalSize": 1,
"records": [{
"code": "ALANDEDUCTIBLE",
"dataType": "text",
"inputType": "text",
"required": false,
"readonly": false,
"disabled": false,
"filterable": true,
"attributeId": "a1W1I000000Bu1jUAC",
"label": "Deductible",
"displaySequence": 2,
"hasRules": false,
"hidden": false,
"values": [{
"readonly": false,
"disabled": false
}],
"userValues": "test",
"parentProductId": "01t1I000002fuBoQAI",
"parentProductCode": "AUTOROOT",
"pathFromChild": "attributeCategories.records[0].productAttributes.records[0]",
"pathFromRoot": "attributeCategories.records[0].productAttributes.records[0]"
}]
}
}]
},
"childProducts": {
...
}- En vurderingsprocedure pr. produkt for repriceProduct
FormaterInsProductService:repriceProduct userInputsfor produkter, der bruger en enkelt vurderingsprocedure pr. rodprodukt. - Flere vurderingsprocedurer pr. produkt eller flere specifikationer på ethvert niveau for repriceProduct
FormaterInsProductService:repriceProduct userInputsfor produkter, der bruger flere vurderingsprocedurer i produkthierarkiet eller flere underordnede specifikationer på ethvert niveau af hierarkiet.
