U bent hier:
InsProductService:repriceProduct
Gebruik deze service om één product te prijzen met behulp van de beoordelingsprocedure die aan dat product is gekoppeld. Deze service wordt doorgaans aangeroepen wanneer een gebruiker een product selecteert en de dekking ervan aanpast.
Methode: repriceProduct
De service neemt één productobject in de invoer-JSON en retourneert het product met de totale prijsstelling en de totale verzekerde som. Het retourneert ook het volledige resultaat-JSON van de beoordelingsprocedure.
Deze service werkt voor één of meer verzekerden (personen die onder het polisproduct vallen) en één of meer verzekerde zaken (bijvoorbeeld meerdere auto’s op een autopolis).
Deze service voert geen optionele dekkingsregels voor In aanmerking komen, Verplicht en Standaard uit bij het wijzigen van een offerte.
De manier waarop het werkt...
-
De service zoekt in de invoer-JSON naar de geselecteerde productsleutel en haalt vervolgens de waarde ervan op. Dit object bevat één productobject.
-
Met behulp van de productgegevens om in Salesforce te zoeken, zoekt de service het product en haalt de beoordelingsprocedure op.
-
De service beoordeelt het product met de product-JSON-structuur.
-
De service retourneert de productobjecten met de totale prijs en de totale verzekerde som. De uitvoer-JSON omvat de geparseerde resultaat-JSON van de beoordelingsprocedure als de waarde van
CalculatedPriceData. De service stelt ook prijs entotalSumInsuredin als de formules voor het product zijn ingesteld.
Externe opties
Optie |
Beschrijving |
|---|---|
|
Wanneer Een offerte of polis van een autoverzekering heeft bijvoorbeeld meerdere bestuurders gekoppeld aan elke verzekerde auto. De verzekerde auto heeft een aparte |
|
Stel deze optie in op Laat deze optie weg voor producten die niet aan al deze criteria voldoen. Zie Eén beoordelingsprocedure per product voor repriceProduct als u |
|
of %OmniScriptDataElement% De standaardwaarde is de datum van vandaag. |
|
Als deze optie = |
|
De naam van de Omnistudio Data Mapper die deze service gebruikt voor het ophalen van polisgegevens (activa). Als u Salesforce FSC gebruikt, moet u deze optie of |
|
De naam van de aangepaste klasse die deze service gebruikt voor het ophalen van polisgegevens (activa). Als u Salesforce FSC gebruikt, moet u deze optie of |
|
Een reeks met komma's gescheiden sleutel-/waardeparen die de service in en uit de berekeningsprocedure doorgeeft. Deze sleutel-/waardeparen worden opgenomen in het uitvoerproductobject binnen het Alleen invoersleutels die door de berekeningsprocedure worden gebruikt, hebben een waarde in de resultaten. |
|
De standaardwaarde is Omvat de volledige resultaten van de berekeningsprocedure in de |
|
Stel dit in op |
|
Optioneel
Stel dit in op Als u Salesforce FSC gebruikt en deze optie instelt op |
|
Getekende lijst van ID's Gebruikt in combinatie met de optie Berekent alleen de belastingen en vergoedingen die zijn gekoppeld aan de opgegeven rechtsgebieden. |
taxAndFeeEffectiveDate
|
De ingangsdatum die deze service gebruikt om belastingen en vergoedingen te berekenen. Deze optie staat los van de Als er een waarde wordt opgegeven, gebruikt de service die waarde. Als er geen waarde wordt opgegeven en het product-JSON geen beleid is, wordt de service standaard ingesteld op de datum van vandaag. Als er geen waarde wordt opgegeven en de product-JSON een beleid is, gebruikt de service de ingangsdatum van de oorspronkelijke polisversie. |
withTaxFeeRounding
|
Optioneel Indien true (waar), worden de berekende bedragen aan belasting en kosten afgerond op twee decimalen met behulp van de methode voor halfeven afronden. De standaardwaarde is false (onwaar). |
Invoer-JSON
InsProductService: repriceProduct zoekt naar een productobject in de selectedProduct in de invoer-JSON ervan. Dit object bevat de invoer die nodig is voor de beoordelingsprocedure zoals toegewezen in de kenmerken van het product, inclusief de gekoppelde dekkingsspecificaties, specificaties van verzekerde items, specificaties van verzekerde partij en specificaties van beoordelingsfeiten. Dit object kan worden gemaakt door andere services zoals getRatedProducts. Het omvat het rootproduct, onderliggende producten en kleinonderliggende producten. De service parseert de productstructuur en geeft gegevens door aan de expressieset of berekeningsprocedure. Als kenmerken die zijn toegewezen voor beoordeling, niet zijn opgenomen in het object, gebruikt de service standaardinstellingen die zijn ingesteld door de productbeheerder.
Deze service zoekt ook naar een userInputs in de invoer-JSON, zodat deze alle beoordelingsfactoren kan vinden die niet zijn opgenomen in het selectedProduct. Gebruik de juiste userInputs, afhankelijk van de productdefinitie en de configuratie van de beoordeling. De service accepteert slechts één type userInputs tegelijk.
Uitvoer-JSON
De service retourneert dezelfde JSON-structuur als die in het selectedProduct met bijgewerkte prijsgegevens. Zie Product-JSON-structuurmodel voor details over de inhoud en structuur van dit object.
Als services voor belastingen en vergoedingen worden gebruikt, blijft JSON-uitvoer behouden in de JSON-record, op dezelfde manier als getRatedProducts naar de JSON schrijft.
Voor elk product wordt de uitvoer-JSON van de berekening van de beoordelingsprocedure aan het product toegevoegd met de CaculatedPriceData. Als de prijsstellingsformule is ingesteld voor het product, wordt de waarde van price ingesteld op de berekende waarde ervan. Als de totale verzekerde formule voor het product is ingesteld, wordt de waarde van TotalInsured ingesteld op de berekende waarde ervan.
De structuur onder CalculatedPriceData omvat instantieondersteuning. Prijsmeetgegevens worden gegroepeerd op instantieniveau.
De uitvoer-JSON bevat een priceDiff op rootniveau dat prijzen op instantieniveau samenvat. Het omvat ook het veld totalPremiumForTermDiff op rootniveau. Deze waarde is het verschil tussen de oorspronkelijke totale premie voor de looptijd en de som tussen de totale premie voor de looptijd van de nieuwe polisversie en de bijgewerkte premie voor de looptijd van de oude polisversie.
In dit voorbeeld is de prijsstellingsformule ingesteld voor het product, maar de totaal verzekerde formule niet. De service voegt de CalculatedPriceData toe aan de resultaten van de beoordelingsprocedure. De service berekent de prijs op basis van de formule. De totaal verzekerde formule is niet ingesteld voor het product en wordt niet weergegeven in de gegevens (TotalInsured ook niet).
"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": {
...
}- Eén beoordelingsprocedure per product voor repriceProduct
MaakInsProductService:repriceProduct userInputsop voor producten die één beoordelingsprocedure per rootproduct gebruiken. - Meerdere beoordelingsprocedures per product of meerdere specificaties op elk niveau voor repriceProduct
MaakInsProductService:repriceProduct userInputsop voor producten die meerdere beoordelingsprocedures in de producthiërarchie of meerdere onderliggende specificaties op elk niveau van de hiërarchie gebruiken.
