Du er her:
InsProductService:repriceProduct
Bruk denne tjenesten til å prissette ett produkt ved bruk av rangeringsprosedyren som er knyttet til dette produktet. Denne tjenesten kalles vanligvis opp når en bruker velger et produkt og tilpasser dekningen.
Metode: repriceProduct
Tjenesten tar ett produktobjekt i inndata-JSON-filen og returnerer produktet med total pris og total forsikret sum. Den returnerer også det fullstendige JSON-filen for resultatet fra rangeringsprosedyren.
Denne tjenesten fungerer for én eller flere forsikrede parter (personer som dekkes av poliseproduktet) og én eller flere forsikrede artikler (for eksempel flere biler med en automatisk polise).
Denne tjenesten kjører ikke valgfrie dekningsregler for berettigelse, obligatorisk og standard når et tilbud endres.
Slik virker det
-
Tjenesten søker i inndata-JSON-koden etter den valgte produktnøkkelen, og henter deretter verdien. Dette objektet inneholder ett produktobjekt.
-
Ved å bruke produktdataene til å søke i Salesforce finner tjenesten produktet og henter rangeringsprosedyren.
-
Tjenesten rangerer produktet med JSON-strukturen for produktet.
-
Tjenesten returnerer produktobjektene med totalpris og total forsikret sum. Utdata-JSON-koden inkluderer det analyserte resultat-JSON-koden fra rangeringsprosedyren som verdien av
CalculatedPriceData. Tjenesten angir også pris ogtotalSumInsuredhvis formlene er angitt på produktet.
Eksterne alternativer
Alternativ |
Beskrivelse |
|---|---|
|
Når Et tilbud eller en polis for automatisk forsikring kan for eksempel ha flere førere knyttet til hver forsikret bil. Den forsikrede autoen har en egen |
|
Angi dette alternativet til Utelate dette alternativet for produkter som ikke oppfyller alle disse kriteriene. Hvis du vil formatere |
|
eller %OmniScriptDataElement% Standardverdien er dagens dato. |
|
Hvis dette alternativet = |
|
Navnet på Omnistudio-datatilordneren som tjenesten bruker til å hente policyinformasjon (aktivum). Hvis du bruker Salesforce FSC, må du angi dette alternativet eller |
|
Navnet på den tilpassede klassen denne tjenesten bruker til å hente policyinformasjon (aktivuminformasjon). Hvis du bruker Salesforce FSC, må du angi dette alternativet eller |
|
En streng med kommadelte nøkkel/verdi-par som tjenesten sender inn og ut av beregningsprosedyren. Disse nøkkel/verdi-parene inkluderes i utdataproduktobjektet i Bare inndataverdier som brukes av beregningsprosedyren, har en verdi i resultatet. |
|
Standardverdien er Inkluderer hele resultatet av beregningsprosedyren i |
|
Angi til |
|
Valgfritt
Sett til Hvis du bruker Salesforce FSC og du angir dette alternativet til |
|
Strenget liste over ID-er Brukes sammen med Beregner bare avgifter og gebyrer knyttet til de angitte jurisdiksjonene. |
taxAndFeeEffectiveDate
|
Gyldighetsdatoen denne tjenesten bruker til å beregne avgifter og gebyrer. Dette alternativet er atskilt fra Hvis en verdi oppgis, bruker tjenesten denne verdien. Hvis en verdi ikke oppgis og produkt-JSON-koden ikke er en policy, bruker tjenesten som standard dagens dato. Hvis det ikke oppgis noen verdi og produkt-JSON-koden er en policy, bruker tjenesten den opprinnelige policyversjonens gyldighetsdato. |
withTaxFeeRounding
|
Valgfritt Hvis verdien er sann, avrundes de beregnede avgifts- og godtgjørelsesbeløpene til to desimalplasser ved å bruke avrundingsmetoden halv lik. Standardverdien er false. |
Inndata-JSON
InsProductService: repriceProduct ser etter et produktobjekt i selectedProduct-nøkkelen i sin inndata-JSON. Dette objektet inneholder inndataene som er nødvendige for rangeringsprosedyren slik den er tilordnet i attributtene til produktet, inkludert dets tilknyttede dekningsspesifikasjoner, spesifikasjoner for forsikrede artikler, spesifikasjoner for forsikrede parter og spesifikasjoner for rangeringsfakta. Dette objektet kan opprettes av andre tjenester som getRatedProducts. Den inkluderer rotproduktet, underordnede produkter og barnebarnprodukter. Tjenesten analyserer produktstrukturen og overfører data til uttrykkssettet eller beregningsprosedyren. Hvis attributter som er tilordnet for rangering, ikke er inkludert i objektet, bruker tjenesten standardinnstillinger som er angitt av produktadministratoren.
Denne tjenesten ser også etter en userInputs-nøkkel i inndata-JSON-filen, slik at den kan finne eventuelle rangeringsfaktorer som ikke er inkludert i selectedProduct-noden. Bruk det riktige userInputs-formatet avhengig av produktdefinisjonen og rangeringskonfigurasjonen. Tjenesten godtar bare én type userInputs-format om gangen.
Utdata-JSON
Tjenesten returnerer samme JSON-struktur som i selectedProduct-noden med oppdatert prisinformasjon. Se Produkt-JSON-strukturmodell for å få detaljer om innholdet og strukturen til dette objektet.
Hvis avgifter og gebyrtjenester brukes, beholdes JSON-utdata på JSON-posten, på samme måte som getRatedProducts skriver til JSON-filen.
For hvert produkt legges utdata-JSON-koden fra beregningen av rangeringsprosedyren til produktet med CaculatedPriceData-nøkkelen. Hvis prisformelen angis for produktet, settes verdien av price til dens beregnede verdi. Hvis den totale formelen for forsikring er angitt for produktet, settes verdien av TotalInsured til dens beregnede verdi.
Strukturen under CalculatedPriceData, inkluderer forekomststøtte. Prismålinger grupperes under forekomstnivå.
Utdata-JSON-filen inkluderer en priceDiff-node på rotnivå som oppsummerer priser på forekomstnivå. Den inkluderer også totalPremiumForTermDiff-feltet på rotnivå. Denne verdien er forskjellen mellom den opprinnelige totale premien for perioden og summen mellom den totale premien for perioden i den nye policyversjonen og den oppdaterte premien for perioden i den gamle policyversjonen.
I dette eksemplet angis prisformelen for produktet, men ikke den totale formelen for forsikring. Tjenesten legger til CalculatedPriceData i resultatene fra rangeringsprosedyren. Tjenesten beregner prisen basert på formelen. Den totale formelen for forsikring er ikke angitt på produktet og vises ikke i dataene (ikke TotalInsured heller).
"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": {
...
}- Én vurderingsprosedyre per produkt for repriceProduct
FormatereInsProductService:repriceProduct userInputsfor produkter som bruker en enkelt klassifiseringsprosedyre per rotprodukt. - Flere rangeringsprosedyrer per produkt eller flere spesifikasjoner på hvilket som helst nivå for repriceProduct
FormatereInsProductService:repriceProduct userInputsfor produkter som bruker flere rangeringsprosedyrer i produkthierarkiet eller flere underordnede spesifikasjoner på hvilket som helst nivå i hierarkiet.
