Sie befinden sich hier:
InsProductService:repriceProduct
Verwenden Sie diesen Service, um einen Preis für ein Produkt mithilfe des an dieses Produkt angehängten Bewertungsverfahrens festzulegen. Dieser Service wird in der Regel aufgerufen, wenn ein Benutzer ein Produkt auswählt und seine Abdeckung anpasst.
Methode: repriceProduct
Der Service verwendet ein Produktobjekt in seiner Eingabe-JSON und gibt das Produkt mit dem Gesamtpreis und der Versicherungssumme zurück. Außerdem wird die vollständige Ergebnis-JSON aus dem Bewertungsverfahren zurückgegeben.
Dieser Service funktioniert für einen oder mehrere Versicherte (Personen, die durch das Policenprodukt abgedeckt sind) und einen oder mehrere Versicherte (z. B. mehrere Autos in einer Kfz-Police).
Dieser Service führt beim Ändern eines Angebots keine optionalen Abdeckungsregeln "Anspruch", "Erforderlich" und "Standard" aus.
Funktionsweise
-
Der Service durchsucht die Eingabe-JSON nach dem ausgewählten Produktschlüssel und ruft dann seinen Wert ab. Dieses Objekt enthält ein Produktobjekt.
-
Mithilfe der Produktdaten zum Suchen in Salesforce sucht der Service nach dem Produkt und ruft das Bewertungsverfahren ab.
-
Der Service bewertet das Produkt mit der Produkt-JSON-Struktur.
-
Der Service gibt die Produktobjekte mit Gesamtpreis und Versicherungssumme zurück. Die Ausgabe-JSON enthält die analysierte Ergebnis-JSON aus dem Bewertungsverfahren als Wert von
CalculatedPriceData. Der Service legt auch Preise undtotalSumInsuredfest, wenn die Formeln für das Produkt festgelegt sind.
Remote-Optionen
Option |
Beschreibung |
|---|---|
|
Wenn An ein Angebot oder eine Police für eine Autoversicherung sind beispielsweise mehrere Fahrer an jedes versicherte Auto angehängt. Das versicherte Auto verfügt über eine separate |
|
Legen Sie diese Option für Produkte mit mehreren untergeordneten Spezifikationen in einer bestimmten Hierarchieebene, ohne untergeordnete Spezifikationen und nur einem Bewertungsverfahren auf Stammebene auf Lassen Sie diese Option für Produkte aus, die nicht alle diese Kriterien erfüllen. Informationen zum Formatieren von |
|
oder %OmniScriptDataElement% Standardmäßig wird das heutige Datum verwendet. |
|
Wenn diese Option = |
|
Der Name der OmniStudio-Datenzuordnung, die dieser Service zum Abrufen von Policen- (Vermögenswert-)Informationen verwendet. Wenn Sie Salesforce FSC verwenden, müssen Sie diese Option oder |
|
Der Name der benutzerdefinierten Klasse, die dieser Service zum Abrufen von Policen- (Vermögenswert-)Informationen verwendet. Wenn Sie Salesforce FSC verwenden, müssen Sie diese Option oder |
|
Eine Zeichenfolge von kommagetrennten Schlüssel-Wert-Paaren, die der Service in das Berechnungsverfahren und aus ihm heraus übergibt. Diese Schlüssel-Wert-Paare sind im Ausgabeproduktobjekt im Nur Eingabeschlüssel, die vom Berechnungsverfahren verwendet werden, weisen einen Wert in den Ergebnissen auf. |
|
Standardmäßig wird Enthält die gesamten Ergebnisse des Berechnungsverfahrens im |
|
Legen Sie diese Option auf |
|
Optional
Legen Sie diese Option auf Wenn Sie Salesforce FSC verwenden und diese Option auf |
|
Verstärkte Liste der IDs Wird in Verbindung mit der Option Berechnet nur die Steuern und Gebühren, die den angegebenen Rechtsordnungen zugeordnet sind. |
taxAndFeeEffectiveDate
|
Das Datum des Inkrafttretens, an dem dieser Service Steuern und Gebühren berechnet. Diese Option ist von der Wenn ein Wert angegeben wird, verwendet der Service diesen Wert. Wenn kein Wert angegeben wird und es sich bei der Produkt-JSON nicht um eine Richtlinie handelt, wird der Service standardmäßig auf das heutige Datum festgelegt. Wenn kein Wert angegeben ist und es sich bei der Produkt-JSON um eine Richtlinie handelt, verwendet der Service das Datum des Inkrafttretens der ursprünglichen Richtlinienversion. |
withTaxFeeRounding
|
Optional Bei "true" werden die berechneten Steuer- und Gebührenbeträge mithilfe der Methode der halben gleichmäßigen Rundung auf zwei Dezimalstellen gerundet. Die Der Standardwert ist false. |
Input JSON
InsProductService: repriceProduct sucht nach einem Produktobjekt im selectedProduct in seiner Eingabe-JSON. Dieses Objekt enthält die Eingaben, die für das Bewertungsverfahren erforderlich sind, wie sie in den Attributen des Produkts zugeordnet sind, einschließlich der zugehörigen Abdeckungsspezifikationen, der Spezifikationen des versicherten Artikels, der Spezifikationen des Versicherten und der Spezifikationen des Bewertungsfakts. Dieses Objekt kann von anderen Services wie getRatedProducts erstellt werden. Sie enthält das Stammprodukt, untergeordnete Produkte und untergeordnete Produkte. Der Service analysiert die Produktstruktur und übergibt Daten an den Ausdruckssatz oder das Berechnungsverfahren. Wenn für die Bewertung zugeordnete Attribute nicht im Objekt enthalten sind, verwendet der Service die vom Produktadministrator festgelegten Standardeinstellungen.
Dieser Service sucht auch nach einem userInputs in der Eingabe-JSON, sodass er alle Bewertungsfaktoren finden kann, die nicht im selectedProduct enthalten sind. Verwenden Sie je nach Produktdefinition und Bewertungskonfiguration das entsprechende userInputs. Der Service akzeptiert jeweils nur einen userInputs.
Ausgabe-JSON
Der Service gibt dieselbe JSON-Struktur wie im selectedProduct-Knoten mit aktualisierten Preisinformationen zurück. Details zu Inhalt und Struktur dieses Objekts finden Sie unter Product JSON Structure Model (Produkt-JSON-Strukturmodell).
Wenn Services für Steuern und Gebühren verwendet werden, wird die JSON-Ausgabe im JSON-Datensatz beibehalten, ähnlich wie getRatedProducts in die JSON schreibt.
Für jedes Produkt wird die Ausgabe-JSON aus der Berechnung des Bewertungsverfahrens dem Produkt mit dem CaculatedPriceData-Schlüssel hinzugefügt. Wenn die Preisformel für das Produkt festgelegt ist, wird der Wert von price auf den berechneten Wert festgelegt. Wenn für das Produkt die Versicherungsgesamtformel festgelegt ist, wird der TotalInsured auf den berechneten Wert festgelegt.
Die Struktur, die CalculatedPriceData wird, enthält Instanzunterstützung. Preiskennzahlen werden unter Instanzebene gruppiert.
Die Ausgabe-JSON enthält einen priceDiff-Knoten auf Stammebene, der Preise auf Instanzebene summiert. Es enthält auch das Feld totalPremiumForTermDiff auf Stammebene. Dieser Wert ist die Differenz zwischen der ursprünglichen Gesamtprämie für die Laufzeit und der Summe zwischen der Gesamtprämie für die Laufzeit der neuen Policenversion und der aktualisierten Prämie für die Laufzeit der alten Policenversion.
In diesem Beispiel wird die Preisformel für das Produkt festgelegt, nicht jedoch die gesamte versicherte Formel. Der Service fügt die CalculatedPriceData den Ergebnissen aus dem Bewertungsverfahren hinzu. Der Service berechnet den Preis anhand der Formel. Die gesamte versicherte Formel ist nicht auf das Produkt festgelegt und wird nicht in den Daten angezeigt (TotalInsured auch nicht).
"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": {
...
}- Ein Bewertungsverfahren pro Produkt für repriceProduct
Formatieren SieInsProductService:repriceProduct userInputsfür Produkte, die ein einzelnes Bewertungsverfahren pro Stammprodukt verwenden. - Mehrere Bewertungsverfahren pro Produkt oder mehrere Spezifikationen auf einer beliebigen Ebene für repriceProduct
Formatieren SieInsProductService:repriceProduct userInputsfür Produkte, die mehrere Bewertungsverfahren in der Produkthierarchie oder mehrere untergeordnete Spezifikationen in einer beliebigen Hierarchieebene verwenden.

