Du er her:
InsProductService:getRatedProducts
Bruk denne tjenesten til å få en matrise med ett eller flere produkter, priset med rangeringsprosedyrer knyttet til disse produktene. Denne tjenesten inkluderer også ekstra funksjoner som avgifts- og godtgjørelsesberegninger, filtrering og ytelsesoptimalisering.
For å bruke denne tjenesten overfører du det settet inndata rangeringsprosedyren trenger for å prisere produkter. Tjenesten returnerer en filtrert matrise av produkter og et resultat-JSON-kode fra rangeringsprosedyren.
Slik virker det
-
Tjenesten søker i Salesforce for å hente et sett med aktive produkter som er innenfor gyldighetsdatoen for start og sluttdato. Se effectiveDate nedenfor for å få mer informasjon.
Som en del av spørringen bruker tjenestene kriteriene som er overført i filteralternativet, til å få et første sett med produkter. Dataene som trekkes ut fra Salesforce, inkluderer produktets berettigelsesregler og rangeringsprocedure, spesifikasjoner for forsikrede artikler, spesifikasjoner for forsikrede parter, spesifikasjoner for dekning, spesifikasjoner for rangeringsfakta og alle tilhørende attributter.
-
Evaluerer hvert produkt i det indledende sæt baseret på dets berettigelsesregler, hvilket yderligere reducerer produktsættet.
-
Søker i inndata-JSON-koden etter
userInputs-nøkkelen og henter nøkkelens verdi.userInputser inndatasettet som rangeringsprosedyren bruker til å finne prisen på produktet. Tjenesten evaluerer dette objektet basert på produktrangeringsinndatatilordningene for å opprette JSON-koden for inndata som er nødvendig for rangeringsprosedyren.Du formaterer
userInputsforskjellig avhengig av produktdefinisjonen og rangeringskonfigurasjonen. For å unngå feil filtrerer du etter produkter som alle bruker samme typeuserInputs. -
Rangerer hvert produkt i settet som opprettes i trinn 2. Det kaller opp produktets tilknyttede rangeringsprosedyre med inndata-JSON-koden fra trinn 3.
-
Returnerer en matrise med produktobjekter med hvert produkts totale pris og den totale forsikrede summen.
Hvert returnerte produktobjekt inkluderer også JSON-utdata fra rangeringsprosedyren som verdien for
CalculatedPriceData. Tjenesten angir ogsåpriceogtotalSumInsuredhvis formlene angis på produktet.Vær oppmerksom på følgende:
-
Hvis et enkelt attributt er konfigurert med både en Angi verdi-attributtregel og en Angi standardverdi-attributtregel, bruker
getRatedProductsbare attributtregelen Angi standardverdi. -
En god fremgangsmåte er å ikke referere til attributtverdier i strukturer på lavere nivå når du konfigurerer attributtregeluttrykk.
-
Eksterne alternativer
Alternativ |
Beskrivelse |
|---|---|
|
Når En bilforsikringspolise som har flere førere forsikret for flere biler, krever for eksempel at |
|
Angi dette alternativet til Utelate dette alternativet for produkter som ikke oppfyller alle disse kriteriene. Hvis du vil formatere |
|
En streng med kommadelte inndatastaster som skal inkluderes i utdataproduktobjektet, i Bare inndataverdier som brukes av beregningsprosedyren, har en verdi i resultatet. |
|
Bruk dette alternativet til rangering av små grupper. |
|
PartOfAProductName Hvis dette alternativet brukes, får tjenesten bare produkter med navn som inneholder verdien du oppga. |
|
productField1, productField2. Sorterer produktene som tjenesten får i den rekkefølgen du angir. Du kan bruke Hvis du ikke angir noen verdi for dette alternativet, sorterer tjenesten produktene som returneres etter navn, i stigende alfabetisk rekkefølge. |
Alternativ |
Beskrivelse |
|---|---|
|
Et kart over Returnerer bare produkter som tilfredsstiller attributtverdiene i filteret. |
|
Standardverdien er dagens dato. Service trekker produkter med en Tjenesten bruker også |
|
Bruk API-navnet med et kolon fulgt av en verdi eller en variabel. I et OmniScript kan en variabel for eksempel være et navn på et element, for eksempel en inndatavalgliste. Skill flere filterparametere med kommaer:
Filtre kan inkludere hvilket som helst felt i |
|
Standardverdien er I utdata-JSON, sammen med matrisen av produkter, legger dette til Underordnede produktattributter inkluderes ikke. |
|
Skriv inn en gyldig Salesforce SOQL-setning som verdi for dette alternativet. Bruk denne når du trenger denne tjenesten til å se på flervalglistefelt når du søker etter produkter. Utskriften Viktig
Fjern eventuelle referanser til feltene i Hvis du for eksempel har |
Alternativ |
Beskrivelse |
|---|---|
|
Standardverdien er Angi dette alternativet til Hvis produkter ikke bruker valgfrie dekninger, bruker du standardinnstillingen |
|
Standardverdien er Inkluderer hele resultatet av beregningsprosedyren i |
|
Når det angis til Når det angis til Dette alternativet er nyttig når det ikke er noe brukergrensesnitt som bruker resultatet av tjenesten. Anta for eksempel at du kjører en integrasjonsprosedyre i gruppemodus som inneholder denne tjenesten. |
|
Standardverdien er Optimaliserer rangeringskall ved å gruppere rangeringsprosedyrekall etter produkter ved bruk av den samme rangeringsprosedyren. Den starter ett rangeringskall med en matrise med inndataobjekter. Dette er nyttig når du trekker ut en stor liste med produkter. Flere rangeringskall kan nå SQL-grenser. Rangeringsprosedyrearkitekturen er optimalisert for å håndtere en matrise med inndataobjekter og minimere antall SQL-spørringer som er nødvendige. |
|
Angi dette alternativet til true bare hvis du også angir |
|
Hvis true, returnerer tjenesten produkter uten pris. |
|
“ProductClassName1,ProductClassName2” Kommadelt liste med produktklassenavn. Begrenser listen over produkter til disse produktklassene. |
|
Standardverdien er Dette alternativet forbedrer ytelsen ved å redusere heap-størrelser. Hvis rangeringsprosedyren du bruker, bare er definert på rotproduktnivå, kan du angi dette alternativet til |
Alternativ |
Beskrivelse |
|---|---|
|
|
|
Standardverdien er Når det angis til I stedet må du oppgi en listeprodukt-ID under nøkkel |
|
Når det angis til Når det angis til |
|
Angi til |
Alternativ |
Beskrivelse |
|---|---|
|
Angir den siste produkt-IDen som tjenesten hentet inn i brukergrensesnittet. Bruk dette alternativet sammen med |
|
Bestem hvor mange produkter tjenesten returnerer til grensesnittet i ett kall. |
Inndata-JSON
InsProductService: getRatedProducts ser etter en userInputs-nøkkel i inndata-JSON-filen. Bruk det riktige userInputs-formatet avhengig av produktdefinisjonen og rangeringskonfigurasjonen. Tjenesten godtar bare én type userInputs-format om gangen.
-
En rangering prosedyre per produkt for getRatedProducts
Formatere
userInputsfor produkter som bruker en enkelt klassifiseringsprosedyre per rotprodukt. -
Formatere
userInputsfor produkter som bruker flere rangeringsprosedyrer i produkthierarkiet eller flere underordnede spesifikasjoner på hvilket som helst nivå i hierarkiet.
Utdata-JSON
Tjenesten returnerer en matrise med ett eller flere produktobjekter. Se Produkt-JSON-strukturmodellen for å få mer informasjon om dette objektet.
Eventuelle tilordnede userInputs fra inndata-JSON-filen blir lagt til i produktobjektet som userValues-nøkkelen til den ene forekomsten av attributtet den ble tilordnet til.
For hvert produkt blir JSON-data fra beregningen av rangeringsprosedyren lagt til i produktet med CalculatedPriceData-nøkkelen. Hvis prisformelen angis for produktet, settes verdien av Price til dens beregnede verdi. Hvis den totale formelen for forsikring er angitt for produktet, settes verdien av TotalInsured til dens beregnede verdi.
I dette eksemplet angis prisformelen for produktet, men den totale formelen for forsikring er ikke det. CalculatedPriceData legges til resultatene fra rangeringsprosedyren, og deretter beregnes prisen basert på formelen. Den totale formelen for forsikring vises ikke i dataene, og det er heller ikke 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-nøkkel
Alternativet includeFilterAttrValues plasserer produktmatrisen i en ratedProducts-node og legger til et filterAttrValues-resultat ved siden av.
{
"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": {
...
}
},
{
...
}
}
}
}Hvert filtrerbart attributt legges til i objektet med nøkkelen angitt til attributtkoden. Verdien til hvert filterattributt er et objekt som inneholder følgende:
Nøkkel |
Verdi |
|---|---|
|
Navnet på attributtet. |
|
Navnet på kategorien. |
|
Listen over mulige verdier fra produktet i matrisen. |
|
Datatypen til attributtet, som Tekst eller Valuta. |
Skatt og gebyrer
Hvis avgifter og gebyrer bruker tjenesten, vises beregnede avgifter og gebyrer på tre forskjellige måter i en JSON-post:
-
Hvis posten har beregnet avgifter og gebyrer, lagres de som en liste i
taxesAndFees-feltet.{ "taxesAndFees": [{ "Id": 1, "calculatedAmount": 10, "Type__c": "Tax" }, { "Id": 2, "calculatedAmount": 15, "Type__c": "Fee" }] } -
Hvis posten har beregnet avgifter på seg selv eller sine barn, lagres summen av de beregnede avgiftene på seg selv og sine barn i
taxAmount.{ "taxAmount”: 25 // 10 from self, 15 from children} -
Hvis posten har beregnet gebyrer for seg selv eller sine underordnede, lagres summen av de beregnede gebyrene for seg selv og sine underordnede i
feeAmount-feltet.{ "feeAmount”: 30 // 15 from self, 15 from children}
Et eksempel på JSON-utdata, med avgifter og gebyrer på de underordnede postene i tillegg til roten, vil se litt slik ut:
{
"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
}]
}
}
Stjernerangering
Du kan bruke attributeFilters-inndata til å filtrere produkter basert på rangeringer, opprettet som attributter av en produktmodeller.
- Én vurderingsprosedyre per produkt for getRatedProducts
FormatereInsProductService:getRatedProducts userInputsfor produkter som bruker en enkelt klassifiseringsprosedyre per rotprodukt. - Flere rangeringsprosedyrer per produkt eller flere spesifikasjoner på hvilket som helst nivå for getRatedProducts
FormatereInsProductService:getRatedProducts userInputsfor produkter som bruker flere rangeringsprosedyrer i produkthierarkiet eller flere underordnede spesifikasjoner på hvilket som helst nivå i hierarkiet.
