Sie befinden sich hier:
InsProductService:getRatedProducts
Verwenden Sie diesen Service, um ein Array von einem oder mehreren Produkten zu erhalten, deren Preise anhand der an diese Produkte angehängten Bewertungsverfahren festgelegt werden. Dieser Service enthält auch zusätzliche Funktionen wie Steuer- und Gebührenberechnungen, Filterung und Leistungsoptimierung.
Wenn Sie diesen Service verwenden möchten, übergeben Sie ihm die Eingaben, die für das Bewertungsverfahren zum Bepreisen von Produkten erforderlich sind. Der Service gibt ein gefiltertes Array von Produkten und eine Ergebnis-JSON aus dem Bewertungsverfahren zurück.
Funktionsweise
-
Der Service durchsucht Salesforce, um eine Reihe aktiver Produkte abzurufen, die in das Start- und Enddatum des Inkrafttretens fallen. Weitere Informationen finden Sie unter effectiveDate unten.
Im Rahmen der Abfrage verwenden die Services die in der Filteroption übergebenen Kriterien, um einen ersten Satz an Produkten abzurufen. Die aus Salesforce abgerufenen Daten umfassen die Anspruchsregeln und das Bewertungsverfahren des Produkts, die Spezifikationen des Versichertenartikels, die Spezifikationen der Versicherten, die Abdeckungsspezifikationen, die Spezifikationen des Bewertungsfakts und alle seine Attribute.
-
Wertet jedes Produkt im ursprünglichen Satz anhand seiner Berechtigungsregeln aus, wodurch der Produktsatz weiter reduziert wird.
-
Sucht in der Eingabe-JSON nach dem
userInputs-Schlüssel und ruft den Wert des Schlüssels ab. "userInputs" ist der Satz an Eingabedaten, den das Bewertungsverfahren verwendet, um den Produktpreis zu ermitteln. Der Service wertet dieses Objekt anhand der Produktbewertungseingabezuordnungen aus, um die für das Bewertungsverfahren erforderliche Eingabe-JSON zu erstellen.Sie formatieren
userInputsje nach Produktdefinition und Bewertungskonfiguration unterschiedlich. Filtern Sie zum Verhindern von Fehlern nach Produkten, die alle denselbenuserInputsverwenden. -
Bewertet jedes Produkt in dem in Schritt 2 erstellten Satz. Es ruft das zugeordnete Bewertungsverfahren des Produkts mit der Eingabe-JSON aus Schritt 3 auf.
-
Gibt ein Array von Produktobjekten mit dem Gesamtpreis jedes Produkts und der Versicherungssumme zurück.
Jedes zurückgegebene Produktobjekt enthält auch die Ausgabe-JSON aus dem Bewertungsverfahren als Wert von
CalculatedPriceData. Der Service legt auchpriceundtotalSumInsuredfest, wenn die Formeln für das Produkt festgelegt sind.Beachten Sie Folgendes:
-
Wenn ein einzelnes Attribut mit einer Attributregel vom Typ "Wert festlegen" und einer Attributregel vom Typ "Standardwert festlegen" eingerichtet ist, wendet
getRatedProductsnur die Attributregel "Standardwert festlegen" an. -
Wenn Sie Attributregelausdrücke einrichten, sollten Sie als bewährte Vorgehensweise nicht auf Attributwerte in untergeordneten Strukturen verweisen.
-
Remote-Optionen
Option |
Beschreibung |
|---|---|
|
Wenn Beispielsweise muss für eine Kfz-Versicherung, bei der mehrere Fahrer für mehrere Fahrzeuge versichert sind, eine |
|
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 |
|
Eine Zeichenfolge kommagetrennter Eingabeschlüssel, die in das Ausgabeproduktobjekt im Nur Eingabeschlüssel, die vom Berechnungsverfahren verwendet werden, weisen einen Wert in den Ergebnissen auf. |
|
Verwenden Sie diese Option für die Kleingruppenbewertung. |
|
PartOfAProductName Wenn diese Option verwendet wird, erhält der Service nur Produkte mit Namen, die den von Ihnen angegebenen Wert enthalten. |
|
productField1, productField2. Sortiert die Produkte, die der Service erhält, in der von Ihnen angegebenen Reihenfolge. Sie können Wenn Sie für diese Option keinen Wert angeben, sortiert der Service die zurückgegebenen Produkte nach Namen in aufsteigender alphabetischer Reihenfolge. |
Option |
Beschreibung |
|---|---|
|
Eine Karte mit Gibt nur Produkte zurück, die die im Filter angegebenen Attributwerte erfüllen. |
|
Standardmäßig wird das heutige Datum verwendet. Der Service ruft Produkte mit einer Der Service verwendet die |
|
Verwenden Sie den API-Namen mit einem Doppelpunkt gefolgt von einem Wert oder einer Variablen. Beispielsweise kann eine Variable in einem OmniScript ein Name eines Elements sein, beispielsweise eine Eingabeauswahlliste. Trennen Sie mehrere Filterparameter durch Kommas:
Filter können jedes Feld im |
|
Standardmäßig wird In der Ausgabe-JSON wird zusammen mit dem Array der Produkte das Objekt " Untergeordnete Produktattribute sind nicht enthalten. |
|
Geben Sie eine gültige Salesforce SOQL-Anweisung als Wert für diese Option ein. Verwenden Sie diese Option, wenn dieser Service Mehrfachauswahllistenfelder bei der Suche nach Produkten anzeigen soll. Die Anweisung Wichtig
Entfernen Sie alle Verweise auf die Felder im Wenn beispielsweise |
Option |
Beschreibung |
|---|---|
|
Standardmäßig wird Legen Sie diese Option auf Wenn Produkte keine optionalen Abdeckungen verwenden, verwenden Sie die Standardeinstellung " |
|
Standardmäßig wird Enthält die gesamten Ergebnisse des Berechnungsverfahrens im |
|
Wenn er auf Wenn er auf Diese Option ist nützlich, wenn keine Benutzeroberfläche die Ergebnisse des Service verwendet. Wenn Sie beispielsweise ein Integrationsverfahren im Batch-Modus ausführen, das diesen Service enthält. |
|
Standardmäßig wird Optimiert Bewertungsanrufe, indem Anrufe von Bewertungsverfahren nach Produkten mit demselben Bewertungsverfahren gruppiert werden. Es führt einen Bewertungsaufruf mit einem Array von Eingabeobjekten durch. Dies ist nützlich, wenn Sie eine große Liste von Produkten abrufen. Mehrere Bewertungsaufrufe können SQL-Obergrenzen erreichen. Die Architektur des Bewertungsverfahrens ist für die Verarbeitung einer Reihe von Eingabeobjekten optimiert und minimiert die Anzahl der erforderlichen SQL-Abfragen. |
|
Legen Sie diese Option nur dann auf true fest, wenn Sie |
|
Wenn "true" angegeben ist, gibt der Service Produkte ohne Preise zurück. |
|
“ProductClassName1,ProductClassName2” Kommagetrennte Liste der Produktklassennamen. Beschränkt die Liste der Produkte auf diese Produktklassen. |
|
Standardmäßig wird Diese Option verbessert die Leistung durch Reduzieren der Heap-Größen. Wenn das verwendete Bewertungsverfahren nur auf Stammproduktebene definiert ist, können Sie diese Option auf |
Option |
Beschreibung |
|---|---|
|
|
|
Standardmäßig wird Wenn er auf Stattdessen müssen Sie eine Listenprodukt-ID unter den wichtigsten |
|
Wenn er auf Wenn er auf |
|
Legen Sie diese Option auf |
Option |
Beschreibung |
|---|---|
|
Gibt die letzte Produkt-ID an, die der Service auf der Benutzeroberfläche abgerufen hat. Verwenden Sie diese Option mit der Option " |
|
Bestimmen Sie, wie viele Produkte der Service in einem Aufruf an die Benutzeroberfläche zurückgibt. |
Input JSON
InsProductService: getRatedProducts sucht in der Eingabe-JSON nach einem userInputs. Verwenden Sie je nach Produktdefinition und Bewertungskonfiguration das entsprechende userInputs. Der Service akzeptiert jeweils nur einen Typ des Formats userInputs.
-
Ein Bewertungsverfahren pro Produkt für getRatedProducts
Formatieren Sie
userInputsfür Produkte, die ein einzelnes Bewertungsverfahren pro Stammprodukt verwenden. -
Formatieren Sie
userInputsfür Produkte, die mehrere Bewertungsverfahren in der Produkthierarchie oder mehrere untergeordnete Spezifikationen in einer beliebigen Hierarchieebene verwenden.
Ausgabe-JSON
Der Service gibt ein Array mit einem oder mehreren Produktobjekten zurück. Weitere Informationen zu diesem Objekt finden Sie im Product JSON Structure Model.
Alle zugeordneten userInputs aus der Eingabe-JSON werden dem Produktobjekt als userValues der einzelnen Instanz des Attributs hinzugefügt, dem es zugeordnet wurde.
Für jedes Produkt wird die Ausgabe-JSON aus der Berechnung des Bewertungsverfahrens dem Produkt mit dem CalculatedPriceData-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.
In diesem Beispiel wird die Preisformel für das Produkt festgelegt, die versicherte Gesamtformel jedoch nicht. Der CalculatedPriceData wird den Ergebnissen aus dem Bewertungsverfahren hinzugefügt und der Preis wird anhand der Formel berechnet. Die insgesamt versicherte Formel wird in den Daten nicht angezeigt, ebenso wenig wie TotalInsured.
{
"totalSize": 2,
"records": [{
"displaySequence": -1,
"CalculatedPriceData": {
"ID": "1",
"basePremium": 719,
"premGenlLiab": "356"
},
"Id": "01t6A000000FshIQAS",
"Name": "Economy Business",
"Family": "Commercial Lines",
"ProductCode": "bop-ECON",
"LineOfBusiness__c": "Property & Casualty",
"Type__c": "BusinessOwners",
"IsRecommended__c": false,
"RecordTypeName__c": "Product",
"IsConfigurable__c": true,
"PricingFormula__c": "basePremium + premGenlLiab",
"Term__c": "Annual",
"productId": "01t6A000000FshIQAS",
"Price": 1075,
"childProducts": {
...
},
"attributeCategories": {
...
}
},
{
...
}
}filterAttrValues Key
Mit der Option includeFilterAttrValues wird das Produktarray in einem ratedProducts platziert und ein filterAttrValues hinzugefügt.
{
"result": {
"filterAttrValues": {
"covType": {
"listOfValues": [
"Superior",
"Economy"
],
"valueDataType": "Text",
"attributeName": "Type",
"categoryName": "Policy Terms"
},
"covDeductible": {
"listOfValues": [
"1000",
"250"
],
"valueDataType": "Currency",
"attributeName": "Deductible",
"categoryName": "Policy Terms"
}
},
"ratedProducts": {
"totalSize": 2,
"records": [{
"displaySequence": -1,
"CalculatedPriceData": {
"ID": "1",
"basePremium": 719,
"premGenlLiab": "356"
},
"Id": "01t6A000000FshIQAS",
"Name": "Economy Business",
"Family": "Commercial Lines",
"ProductCode": "bop-ECON",
...,
"Price": 1075,
"childProducts": {
...
},
"attributeCategories": {
...
}
},
{
...
}
}
}
}Jedes filterbare Attribut wird dem Objekt mit dem Schlüsselsatz für den Attributcode hinzugefügt. Der Wert jedes Filterattributs ist ein Objekt, das Folgendes enthält:
Schlüssel |
Wert |
|---|---|
|
Der Name des Attributs. |
|
Der Name der Kategorie. |
|
Die Liste der möglichen Werte aus dem Produkt im Array. |
|
Der Datentyp des Attributs, beispielsweise Text oder Währung. |
Steuern und Gebühren
Wenn Steuern und Gebühren den Service verwenden, werden berechnete Steuern und Gebühren in einem JSON-Datensatz auf drei verschiedene Arten angezeigt:
-
Wenn der Datensatz Steuern und Gebühren berechnet hat, werden sie als Liste im
taxesAndFeesgespeichert.{ "taxesAndFees": [{ "Id": 1, "calculatedAmount": 10, "Type__c": "Tax" }, { "Id": 2, "calculatedAmount": 15, "Type__c": "Fee" }] } -
Wenn der Datensatz Steuern für sich selbst oder seine untergeordneten Elemente berechnet hat, wird die Summe der berechneten Steuern für sich selbst und seine untergeordneten Elemente im
taxAmountgespeichert.{ "taxAmount”: 25 // 10 from self, 15 from children} -
Wenn der Datensatz Gebühren für sich selbst oder seine untergeordneten Elemente berechnet hat, wird die Summe der berechneten Gebühren für sich selbst und seine untergeordneten Elemente im
feeAmountgespeichert.{ "feeAmount”: 30 // 15 from self, 15 from children}
Eine JSON-Beispielausgabe mit Steuern und Gebühren für die untergeordneten Datensätze sowie den Stamm sieht etwa wie folgt aus:
{
"Id": 1,
"productName": "Product",
"taxesAndFees": [{
"Id": 1,
"calculatedAmount": 10,
"Type__c": "Tax"
}, {
"Id": 2,
"calculatedAmount": 15,
"Type__c": "Fee"
}],
"taxAmount": 25
"feeAmount": 30
"childProducts": {
"records": [{
"Id": 2,
"productName": "Insured Item",
"taxesAndFees": [{
"Id": 3,
"calculatedAmount": 15,
"Type__c": "Tax"
}],
"taxAmount": 15
}, {
"Id": 3,
"productName": "Coverage",
"taxesAndFees": [{
"Id": 4,
"calculatedAmount": 15,
"Type__c": "Fee"
}],
"feeAmount": 15
}]
}
}
Sternebewertung
Sie können die attributeFilters verwenden, um Produkte anhand von Bewertungen zu filtern, die von einem Produktmodellierer als Attribute erstellt wurden.
- Ein Bewertungsverfahren pro Produkt für getRatedProducts
Formatieren SieInsProductService:getRatedProducts userInputsfür Produkte, die ein einzelnes Bewertungsverfahren pro Stammprodukt verwenden. - Mehrere Bewertungsverfahren pro Produkt oder mehrere Spezifikationen auf einer beliebigen Ebene für getRatedProducts
Formatieren SieInsProductService:getRatedProducts userInputsfür Produkte, die mehrere Bewertungsverfahren in der Produkthierarchie oder mehrere untergeordnete Spezifikationen in einer beliebigen Hierarchieebene verwenden.

