Du är här:
InsProductService:getRatedProducts
Använd denna tjänst för att få en matris av en eller flera produkter, prissatta med hjälp av värderingsprocesser bifogade till dessa produkter. Denna tjänst innehåller även extra funktioner som skatte- och avgiftsberäkningar, filtrering och prestandaoptimering.
För att använda denna tjänst, skicka den den uppsättning indata som värderingsförfarandet behöver för att prissätta produkter. Tjänsten returnerar en filtrerad matris av produkter och ett JSON-resultat från värderingsförfarandet.
Så här fungerar det
-
Tjänsten söker i Salesforce för att hämta en uppsättning aktiva produkter som faller inom de gällande start- och slutdatumen. Se effectiveDate nedan för mer information.
Som en del av sökfrågan använder tjänsterna kriterierna som skickas i filteralternativet för att få en inledande uppsättning produkter. Data som hämtas från Salesforce inkluderar produktens regler och värderingsförfarande, specifikationer för försäkrade objekt, specifikationer för försäkrade parter, täckningsspecifikationer, specifikationer för värderingsfakta och alla dess attribut.
-
Utvärderar varje produkt i den ursprungliga uppsättningen baserat på dess regler för rätt till stöd, vilket ytterligare minskar produktuppsättningen.
-
Söker i JSON för indata efter
userInputsoch hämtar nyckelns värde.userInputsär den uppsättning indata som värderingsförfarandet använder för att få fram produktens pris. Tjänsten utvärderar detta objekt baserat på mappningarna av produktvärderingsindata för att skapa den JSON för indata som behövs för värderingsförfarandet.Du formaterar
userInputsolika beroende på produktdefinitionen och betygskonfigurationen. För att förhindra fel, filtrera efter produkter som alla använder samma typ avuserInputs. -
Betygsätter varje produkt i uppsättningen som skapades i steg 2. Den anropar produktens associerade värderingsprocess med indata-JSON från steg 3.
-
Returnerar en matris av produktobjekt med varje produkts totala pris och den totala försäkrade summan.
Varje returnerat produktobjekt inkluderar även JSON för utdata från värderingsförfarandet som värde för
CalculatedPriceData. Tjänsten anger ävenpriceochtotalSumInsuredom formler har angetts för produkten.Kom ihåg att:
-
Om ett enskilt attribut har konfigurerats med både en attributregel för Ange värde och en attributregel för Ange standardvärde tillämpar
getRatedProductsendast attributregeln Ange standardvärde. -
Vi rekommenderar att du inte refererar attributvärden i strukturer på lägre nivå när du konfigurerar attributregeluttryck.
-
Fjärralternativ
Alternativ |
Beskrivning |
|---|---|
|
När Till exempel kräver en bilförsäkring som har flera förare försäkrade för flera bilar att |
|
Sätt detta alternativ till Uteslut detta alternativ för produkter som inte uppfyller alla dessa kriterier. För att formatera |
|
En sträng av kommaavgränsade indatanycklar som ska inkluderas i utdataproduktobjektet, inom Endast indatanycklar som används av beräkningsförfarandet har ett värde i resultaten. |
|
Använd detta alternativ för värdering av små grupper. |
|
PartOfAProductName Om detta alternativ används får tjänsten endast produkter med namn som innehåller det värde du angett. |
|
productField1, productField2. Sorterar produkterna som tjänsten får i den ordning du specificerar. Du kan använda Om du inte anger ett värde för detta alternativ sorterar tjänsten produkter som returneras efter namn i stigande alfabetisk ordning. |
Alternativ |
Beskrivning |
|---|---|
|
En karta över Returnerar endast produkter som uppfyller attributvärdena i filtret. |
|
Dagens datum blir som standard. Service hämtar produkter med en Tjänsten använder även |
|
Använd API-namnet med ett kolon följt av antingen ett värde eller en variabel. Till exempel, i ett OmniScript kan en variabel vara ett namn på ett element, som en kombinationsruta för indata. Separera flera filterparametrar med kommatecken:
Filter kan inkludera alla fält i objektet |
|
I JSON för utdata, tillsammans med matrisen av produkter, läggs objektet Underordnade produktattribut inkluderas inte. |
|
Ange ett giltigt Salesforce SOQL-uttryck som värde för detta alternativ. Använd denna när du behöver denna tjänst för att titta på fält med flera kombinationsrutor när du söker efter produkter. Till exempel Viktig
Ta bort referenser till fälten i Om du till exempel har |
Alternativ |
Beskrivning |
|---|---|
|
Sätt detta alternativ till Om produkter inte använder valfria täckningar, använd standardinställningen för |
|
Inkluderar hela resultatet av beräkningsprocessen i |
|
När satt till När satt till Detta alternativ är användbart om det inte finns något användargränssnitt som konsumerar resultatet av tjänsten. Till exempel, om du kör en integreringsprocess i batch-läge som innehåller denna tjänst. |
|
Optimerar värderingssamtal genom att gruppera värderingsförfarandesamtal efter produkter som använder samma värderingsförfarande. Den gör ett värderingsanrop med en matris av indataobjekt. Detta är användbart när du hämtar en stor lista över produkter. Flera värderingsanrop kan uppnå SQL-gränser. Arkitekturen för värderingsförfarandet är optimerad för att hantera en matris av indataobjekt och minimera antalet SQL-frågor som behövs. |
|
Sätt detta alternativ till sant endast om du även sätter |
|
Om sant returnerar tjänsten produkter utan prissättning. |
|
’ProductClassName1,ProductClassName2’ Kommaavgränsad lista över produktklassnamn. Begränsar listan över produkter till dessa produktklasser. |
|
Detta alternativ förbättrar prestandan genom att minska heapstorlekar. Om värderingsförfarandet du använder endast definieras på rotproduktnivå kan du ställa in detta alternativ till |
Alternativ |
Beskrivning |
|---|---|
|
|
|
När satt till Istället måste du ange ett listprodukt-ID under den viktigaste |
|
När satt till När satt till |
|
Sätt till |
Alternativ |
Beskrivning |
|---|---|
|
Anger det senaste produkt-ID som tjänsten hämtade till användargränssnittet. Använd detta alternativ med alternativet |
|
Bestäm hur många produkter tjänsten returnerar till användargränssnittet i ett anrop. |
Indata-JSON
InsProductService: getRatedProducts letar efter en userInputs i indata-JSON. Använd lämpligt userInputs beroende på produktdefinitionen och betygskonfigurationen. Tjänsten accepterar endast en typ av userInputs-format åt gången.
-
En värderingsprocess per produkt för getRatedProducts
Formatera
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 getRatedProducts
Formatera
userInputsför produkter som använder flera värderingsprocesser i produkthierarkin eller flera underordnade specifikationer på någon nivå i hierarkin.
JSON för utdata
Tjänsten returnerar en matris av ett eller flera produktobjekt. Se Strukturmodell för produkt-JSON för mer information om detta objekt.
Alla mappade userInputs från indata-JSON läggs till i produktobjektet som userValues för den enskilda instansen av attributet som det mappades till.
För varje produkt läggs JSON för utdata från värderingsförfarandet till i produkten med CalculatedPriceData. Om prissättningsformeln är inställd på produkten kommer värdet på Price att ställas in till 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.
I detta exempel anges prissättningsformeln för produkten, men inte den totala försäkrade formeln. CalculatedPriceData läggs till i resultaten från värderingsförfarandet och priset beräknas sedan baserat på formeln. Den totala försäkrade formeln visas inte i datan, inte heller 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-nyckel
Alternativet includeFilterAttrValues placerar produktmatrisen i en ratedProducts och lägger till ett filterAttrValues bredvid.
{
"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": {
...
}
},
{
...
}
}
}
}Varje filtrerbart attribut läggs till i objektet med nyckeln inställd till attributkoden. Värdet för varje filterattribut är ett objekt som innehåller följande:
Nyckel |
Värde |
|---|---|
|
Namnet på attributet. |
|
Kategorins namn. |
|
Listan över möjliga värden från produkten i matrisen. |
|
Attributets datatyp, som Text eller Valuta. |
Skatter och avgifter
Om skatter och avgifter använder tjänsten visas beräknade skatter och avgifter i en JSON-post på tre olika sätt:
-
Om posten har beräknat skatter och avgifter lagras de som en lista i fältet
taxesAndFees.{ "taxesAndFees": [{ "Id": 1, "calculatedAmount": 10, "Type__c": "Tax" }, { "Id": 2, "calculatedAmount": 15, "Type__c": "Fee" }] } -
Om posten har beräknat skatter för sig själv eller sina underordnade lagras summan av de beräknade skatterna för sig själv och sina underordnade i fältet
taxAmount.{ "taxAmount”: 25 // 10 from self, 15 from children} -
Om posten har beräknade avgifter för sig själv eller sina underordnade lagras summan av de beräknade avgifterna för sig själv och sina underordnade i fältet
feeAmount.{ "feeAmount”: 30 // 15 from self, 15 from children}
Ett exempel på JSON-utdata, med skatter och avgifter för de underordnade posterna samt roten, kommer att se ut ungefär så här:
{
"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
}]
}
}
Stjärnklassificering
Du kan använda attributeFilters för att filtrera produkter baserat på betyg, skapade som attribut av en produktmodellerare.
- En värderingsprocess per produkt för getRatedProducts
FormateraInsProductService:getRatedProducts 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 getRatedProducts
FormateraInsProductService:getRatedProducts userInputsför produkter som använder flera värderingsprocesser i produkthierarkin eller flera underordnade specifikationer på någon nivå i hierarkin.
