Du är här:
InsProductService:repriceProduct
Använd denna tjänst för att prissätta en produkt med hjälp av värderingsförfarandet som är kopplat till produkten. Denna tjänst anropas vanligtvis när en användare väljer en produkt och anpassar dess täckning.
Metod: repriceProduct
Tjänsten tar ett produktobjekt i sin indata-JSON och returnerar produkten med total prissättning och total försäkrad summa. Den returnerar även det fullständiga resultatet JSON från värderingsförfarandet.
Denna tjänst fungerar för en eller flera försäkrade (personer som omfattas av policyprodukten) och en eller flera försäkrade objekt (till exempel flera bilar i en autopolicy).
Denna tjänst kör inte valfria täckningsregler för Behörighet, Obligatoriskt eller Standard vid ändring av en offert.
Så här fungerar det
-
Tjänsten söker JSON för indata efter den valda produktnyckeln och hämtar sedan dess värde. Detta objekt innehåller ett produktobjekt.
-
Med hjälp av produktdata för att söka i Salesforce hittar tjänsten produkten och hämtar värderingsförfarandet.
-
Tjänsten betygsätter produkten med produktens JSON-struktur.
-
Tjänsten returnerar produktobjekten med totalt pris och total försäkrad summa. JSON för utdata inkluderar det tolkade resultatet JSON från värderingsförfarandet som värdet på
CalculatedPriceData. Tjänsten anger även pris ochtotalSumInsuredom formler har angetts för produkten.
Fjärralternativ
Alternativ |
Beskrivning |
|---|---|
|
När Anta till exempel att en offert eller policy för automatisk försäkring har flera förare kopplade till varje försäkrad bil. Den försäkrade bilen har en separat |
|
Sätt detta alternativ till Uteslut detta alternativ för produkter som inte uppfyller alla dessa kriterier. För att formatera |
|
eller %OmniScriptDataElement% Dagens datum blir som standard. |
|
Om detta alternativ = |
|
Namnet på Omnistudio Data Mapper som denna tjänst använder för att hämta policyinformation (tillgångsinformation). Om du använder Salesforce FSC måste du specificera antingen detta alternativ eller |
|
Namnet på den egna klass som denna tjänst använder för att hämta policyinformation (tillgångsinformation). Om du använder Salesforce FSC måste du specificera antingen detta alternativ eller |
|
En sträng av kommaavgränsade nyckel-/värdepar som tjänsten skickar in i och ut ur beräkningsförfarandet. Dessa nyckel-/värdepar inkluderas i utdataproduktobjektet inom Endast indatanycklar som används av beräkningsförfarandet har ett värde i resultaten. |
|
Inkluderar hela resultatet av beräkningsprocessen i |
|
Sätt till |
|
Valfri
Sätt till Om du använder Salesforce FSC och ställer in detta alternativ till |
|
Stränglista över ID:n Används tillsammans med Beräknar endast de skatter och avgifter som är associerade med de jurisdiktioner som tillhandahålls. |
taxAndFeeEffectiveDate
|
Det giltighetsdatum som denna tjänst använder för att beräkna skatter och avgifter. Detta alternativ är separat från Om ett värde tillhandahålls använder tjänsten detta värde. Om inget värde anges och produktens JSON inte är en policy blir tjänsten som standard dagens datum. Om inget värde anges och produktens JSON är en policy använder tjänsten den ursprungliga policyversionens giltighetsdatum. |
withTaxFeeRounding
|
Valfri Om sant avrundas de beräknade skatte- och avgiftsbeloppen till två decimaler med hjälp av halvjämn avrundning. Standardvärdet är falskt. |
Indata-JSON
InsProductService: repriceProduct letar efter ett produktobjekt i selectedProduct i sin indata-JSON. Detta objekt innehåller de inmatningar som behövs av värderingsförfarandet enligt mappning i produktens attribut, inklusive dess associerade täckningsspecifikationer, specifikationer för försäkrade objekt, specifikationer för försäkrade parter och specifikationer för värderingsfakta. Detta objekt kan skapas av andra tjänster som getRatedProducts. Det inkluderar rotprodukten, underordnade produkter och barnbarnsprodukter. Tjänsten tolkar produktstrukturen och skickar data till uttrycksuppsättningen eller beräkningsförfarandet. Om attribut mappade för värdering inte inkluderas i objektet använder tjänsten standarder som angetts av produktadministratören.
Denna tjänst letar även efter en userInputs i indata-JSON så att den kan hitta alla värderingsfaktorer som inte ingår i selectedProduct. Använd lämpligt userInputs beroende på produktdefinitionen och betygskonfigurationen. Tjänsten accepterar endast en typ av userInputs åt gången.
JSON för utdata
Tjänsten returnerar samma JSON-struktur som den i selectedProduct med uppdaterad prisinformation. Se Product JSON-strukturmodell för mer information om innehållet och strukturen för detta objekt.
Om skatter och avgifter används behålls JSON-utdata i JSON-posten, på samma sätt som getRatedProducts skriver till JSON.
För varje produkt läggs JSON för utdata från värderingsförfarandet till i produkten med CaculatedPriceData. Om prissättningsformeln är inställd på produkten blir värdet på price dess beräknade värde. Om den totala försäkrade formeln är inställd på produkten blir värdet på TotalInsured dess beräknade värde.
Strukturen som CalculatedPriceData inkluderar instanssupport. Prismått grupperas under instansnivå.
JSON för utdata inkluderar en priceDiff på rotnivå som sammanfattar priser på instansnivå. Det inkluderar även fältet totalPremiumForTermDiff på rotnivå. Detta värde är skillnaden mellan den ursprungliga totala premien för löptid och summan mellan den totala premien för löptid för den nya policyversionen och den uppdaterade premien för löptid för den gamla policyversionen.
I detta exempel är prissättningsformeln inställd på produkten, men inte den totala försäkrade formeln. Tjänsten lägger till CalculatedPriceData i resultaten från värderingsförfarandet. Tjänsten beräknar priset baserat på formeln. Den totala försäkrade formeln anges inte för produkten och visas inte i data (inte heller 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 värderingsprocess per produkt för repriceProduct
FormateraInsProductService:repriceProduct userInputsför produkter som använder en enskild värderingsprocess per rotprodukt. - Flera värderingsprocesser per produkt eller flera specifikationer på någon nivå för repriceProduct
FormateraInsProductService:repriceProduct userInputsför produkter som använder flera värderingsprocesser i produkthierarkin eller flera underordnade specifikationer på någon nivå i hierarkin.
