Loading
Forsikring
InsProductService:getRatedProducts

InsProductService:getRatedProducts

Brug denne tjeneste til at hente en matriks af et eller flere produkter, prissat ved brug af vurderingsprocedurer, der er knyttet til disse produkter. Denne tjeneste inkluderer også ekstra funktioner, f.eks. moms- og gebyrberegninger, filtrering og optimering af ydeevne.

Kategori: InsProductService

Metode: getRatedProducts

Hvis du vil bruge denne tjeneste, skal du overføre det sæt input, som vurderingsproceduren har brug for for at prissætte produkter. Tjenesten returnerer en filtreret matriks af produkter og et resultat-JSON fra vurderingsproceduren.

Sådan fungerer det

  1. Tjenesten søger i Salesforce for at hente et sæt af aktive produkter, der falder inden for de gældende start- og slutdatoer. Se effectiveDate nedenfor for at få flere oplysninger.

    Som en del af forespørgslen bruger tjenesterne de kriterier, der er overført i filterindstillingen, til at få et indledende sæt af produkter. De data, der hentes fra Salesforce, inkluderer produktets berettigelsesregler og vurderingsprocedure, specifikationer for forsikrede elementer, specifikationer for forsikrede parter, dækningsspecifikationer, specifikationer for vurderingsfakta og alle dets attributter.

  2. Evaluerer hvert produkt i det indledende sæt baseret på dets berettigelsesregler og reducerer produktsættet yderligere.

  3. Søger i input-JSON efter userInputs og henter nøglens værdi. userInputs er det sæt inputdata, som vurderingsproceduren bruger til at få pris på produktet. Tjenesten evaluerer dette objekt baseret på inputtilknytninger for produktvurdering for at oprette den input-JSON, der er nødvendig for vurderingsproceduren.

    Du formaterer userInputs forskelligt afhængigt af produktdefinitionen og vurderingskonfigurationen. For at undgå fejl skal du filtrere for produkter, der alle bruger den samme type userInputs.

  4. Vurderer hvert produkt i det sæt, der er oprettet i trin 2. Det kalder produktets tilknyttede vurderingsprocedure med input-JSON fra trin 3.

  5. Returnerer en matriks af produktobjekter med hvert produkts samlede pris og det samlede forsikrede beløb.

    Hvert returneret produktobjekt indeholder også output-JSON fra vurderingsproceduren som værdien af CalculatedPriceData. Tjenesten angiver også price og totalSumInsured, hvis formlerne er angivet på produktet.

    Husk på, at:

    • Hvis der er opsat en enkelt attribut med både en Angiv værdi-attributregel og en Angiv standardværdi-attributregel, anvender getRatedProducts kun attributreglen Angiv standardværdi.

    • Som en bedste fremgangsmåde skal du, når du opsætter attributregeludtryk, ikke henvise til attributværdier i strukturer på lavere niveau.

Fjernindstillinger

Vurderingsindstillinger

Indstilling

Beskrivelse

aggByKey

PRODUCT.instanceKey

Når aggByKey er angivet, medtages dens værdi i aggregationResult af beregningsproceduren, hvis aggregationResult ikke er tomt. (aggregationResult udfyldes sædvanligvis, når en beregningsprocedure har konfigureret aggregeringstrin).

For eksempel kræver en bilforsikringspolice, hvor flere chauffører er forsikret for flere biler, at aggByKey overføres til beregningsproceduren.

alwaysCreateInstance

Indstil denne indstilling til true for produkter med flere underordnede specifikationer på et givet niveau af hierarkiet, ingen underordnede specifikationer og kun en vurderingsprocedure på rodniveau.

Udelad denne indstilling for produkter, der ikke opfylder alle disse kriterier.

Hvis du vil formatere userInputs for denne type produkt, kan du se One Rating Procedure per Product for getRatedProducts.

includeInputKeys

En række kommaseparerede inputnøgler, der skal inkluderes i outputproduktobjektet i CalculatedPriceData.

Det er kun inputnøgler, der bruges af beregningsproceduren, der har en værdi i resultaterne.

rateType

Age eller Composite

Brug denne indstilling til vurdering af små grupper.

searchText

PartOfAProductName

Hvis denne indstilling bruges, får tjenesten kun produkter med navne, der indeholder den værdi, du angav.

sortBy

productField1, productField2.

Sorterer de produkter, som tjenesten får i den rækkefølge, du angiver.

Du kan bruge DESC med denne indstilling til at sortere produkter i faldende rækkefølge. Du kan angive det første element, der skal falde fra. Hvis du ikke angiver et sted, hvor du skal starte, indstilles DESC som standard i alfabetisk rækkefølge.

Hvis du ikke angiver en værdi for denne indstilling, sorterer tjenesten de returnerede produkter efter navn i stigende alfabetisk rækkefølge.

Filterindstillinger

Indstilling

Beskrivelse

attributeFilters

Et kort over attributeCode og værdier

Returnerer kun produkter, der opfylder de attributværdier, der er angivet i filteret.

effectiveDate

“YYYY-MM-DD HH:MM:SS” eller %OmniScriptDataElement%

Standard er dags dato.

Service trækker produkter med en effectiveDate mellem EffectiveDate__c og EndDate__c og IsActive.

Tjenesten bruger også effectiveDate til at vælge den korrekte version af beregningsproceduren, der bruges til at bedømme produktet.

filters

Product2FieldName:Value

Product2FieldName:%ElementName%

Brug API-navnet med et kolon efterfulgt af enten en værdi eller en variabel. I et OmniScript kan en variabel f.eks. være navnet på et element, f.eks. en inputplukliste.

Adskil flere filterparametre med kommaer:

ProductCode:Value,ProductCode:%ElementName%

Filtre kan indeholde ethvert felt på Product2.

includeFilterAttrValues

true eller false

Standard er false.

I output-JSON sammen med en opstilling af produkter tilføjes filterAttrValues-objektet. Dette objekt indeholder rodproduktattributter, der er markeret som filtrerbare, med en mulig liste over værdier. Denne liste bruges af nogle brugergrænsefladeskabeloner til at filtrere store sæt af produkter.

Underordnede produktattributter er ikke inkluderet.

whereClause

Angiv enhver gyldig Salesforce SOQL-erklæring som værdien for denne indstilling.

Brug dette, når du har brug for denne tjeneste til at se på felter med flere pluklister, når du søger efter produkter.

F.eks. vlocity_ins_marketsegment_c includes ('Small Group') opsamler erklæringen produkter, der har markedssegmenter "Lille gruppe" og enten flere eller ingen flere markedssegmenter i pluklisten med flere valg.

Vigtigt
Vigtigt

Fjern alle referencer til felterne i whereClause fra filternøglen.

Hvis du f.eks. har vlocity_ins_marketsegment_c:Small Group i filteret og en whereClause, der indeholder en reference til det samme felt, vil de kollidere og kollidere, hvilket resulterer i uforudsigelige resultater.

Optimeringsindstillinger

Indstilling

Beskrivelse

includeOptionalCovSelectFlag

true eller false

Standard er false.

Indstil denne indstilling til true for at få tjenesten til at evaluere valgfri dækningsregler, før vurderingsinput overføres til beregningsprocedurer.

Hvis produkter ikke bruger valgfri dækning, skal du bruge standardindstillingen for false. Hentning og tilføjelse af valgfri dækningsdata til vurderingsinput kræver ekstra behandling og kan nedsætte hastigheden af denne tjeneste.

includeRawCalculationResult

true eller false

Standard er false.

Indeholder hele resultaterne af beregningsproceduren i RawPriceData-nøglen.

isBatchMode

true eller false

Når den er indstillet til true, returnerer tjenesten en forenklet produkt-JSON, der ikke inkluderer attributkategorier, men indeholder attributvalgte værdier og regler.

Når den er indstillet til false, returnerer tjenesten det fulde produkt-JSON.

Denne indstilling er nyttig, når der ikke er nogen brugergrænseflade, der forbruger resultaterne af tjenesten. Hvis du f.eks. kører en integrationsprocedure i batchtilstand, der indeholder denne tjeneste.

mergeList

true eller false

Standard er false.

Optimerer vurderingsopkald ved at gruppere vurderingsprocedureopkald efter produkter ved brug af den samme vurderingsprocedure. Den foretager et vurderingskald med en opstilling af inputobjekter.

Dette er nyttigt, når du henter en stor liste over produkter. Flere vurderingsopkald kan nå SQL-grænser. Vurderingsprocedurearkitekturen optimeres til at håndtere en række inputobjekter og minimere antallet af nødvendige SQL-forespørgsler.

omitChildren

true eller false

Indstil kun denne indstilling til true, hvis du også indstiller omitRating til true. Dette returnerer produkter uden priser.

omitRating

true eller false

Hvis det er sandt, returnerer tjenesten produkter uden priser.

productClasses

“ProductClassName1,ProductClassName2”

Kommasepareret liste over produktklassenavne. Begrænser listen over produkter til disse produktklasser.

rootPricingOnly

true eller false

Standard er false.

Denne indstilling forbedrer ydeevnen ved at reducere heap-størrelser.

Hvis den vurderingsprocedure, du bruger, kun er defineret på rodproduktniveau, kan du indstille denne indstilling til true for at forbedre ydeevnen.

Regelindstillinger

Indstilling

Beskrivelse

evalOptionalCoverageRelationship

true eller falseHvis det er indstillet til true, kører tjenesten valgfri dækningsrelationsregler.

omitEligibility

true eller false

Standard er false.

Når den er indstillet til true, forespørger tjenesten ikke på kvalificerede produkter.

I stedet skal du angive et listeprodukt-id under nøgle-products i inputkortet eller valgmulighedskortet. Både en liste over produkt-id'er eller en række kommaseparerede produkt-id'er er acceptable værdier for products.

ruleAttributeSetValues

true eller false

Når den er indstillet til false, kører tjenesten ikke attributsætværdieregler.

Når den er indstillet til true, kører tjenesten attributsætværdiereglerne.

validateCoverageSelection

true eller false

Indstil til true, hvis du har valideringsregler, som du skal bruge til at køre tjenesten.

Tilføjelsesfunktionsindstillinger

Indstilling

Beskrivelse

calculateTaxesAndFees

Valgfrit

true eller false

Når den er indstillet til true, beregnes moms og gebyrer på målproduktet.

includeFullProductJson

true eller false

Denne indstilling kontrollerer tilstedeværelsen af yderligere underordnede noder som reaktion på API baseret på input-JSON. Når den er indstillet til true, er der to ændringer i output-JSON:

  • Hvis den underordnedes type er forsikret part, indeholder den overordnede JSON-node to ekstra underordnede noder; primær part og andre parter. Disse to nye noder udfyldes baseret på, om isPrimary flaget er angivet for den underordnede node.

  • Hvis den underordnedes type er Forsikret vare, findes disse to noder (primær part og andre parter) ikke i svar-API'en. De underordnede, der er indeholdt i input-JSON, er linket til den korrekte overordnede node i API'ens output-JSON.

For bagudkompatibilitet er standarden false.

jurisdictionIds

Type: Strengførte lister over id'er

Bruges i forbindelse med calculateTaxesAndFees mulighed.

Beregner kun de moms og gebyrer, der er knyttet til de angivne jurisdiktioner.

taxAndFeeEffectiveDate

Den ikrafttrædelsesdato, denne tjeneste bruger til at beregne moms og gebyrer. Denne indstilling er adskilt fra den effectiveDate, der bruges til at prissætte produktet.

Hvis der angives en værdi, bruger tjenesten denne værdi.

Hvis der ikke angives en værdi, og produkt-JSON ikke er en politik, er tjenesten som standard dags dato.

withTaxFeeRounding

Valgfrit

Hvis det er sandt, afrundes de beregnede moms- og gebyrbeløb til to decimaler ved at bruge metoden Halver lige afrunding. withTaxFeeRounding er kun effektiv, hvis calculateTaxesAndFees også er sand. Hvis det er falsk, inaktiveres afrunding.

Standardværdien er falsk.

Indstillinger for brugergrænseflade

Indstilling

Beskrivelse

lastRecordId

Angiver det sidste produkt-id, som tjenesten hentede i brugergrænsefladen.

Brug denne indstilling sammen med pageSize.

pageSize

Bestem, hvor mange produkter tjenesten returnerer til brugergrænsefladen i et opkald.

Input JSON

InsProductService: getRatedProducts søger efter en userInputs i input-JSON. Brug det relevante userInputs afhængigt af produktdefinitionen og vurderingskonfigurationen. Tjenesten accepterer kun en type af formatet userInputs ad gangen.

Output JSON

Tjenesten returnerer en matriks af et eller flere produktobjekter. Se Produkts JSON-strukturmodel for at få flere oplysninger om dette objekt.

Alle tilknyttede userInputs fra input-JSON føjes til produktobjektet som userValues nøglen for den enkelte forekomst af attributten, den blev tilknyttet.

For hvert produkt føjes output-JSON fra beregningen af vurderingsproceduren til produktet med CalculatedPriceData-nøglen. Hvis prissætningsformlen er angivet på produktet, indstilles værdien af Price til dens beregnede værdi. Hvis den samlede forsikrede formel er angivet på produktet, indstilles værdien af TotalInsured til dens beregnede værdi.

I dette eksempel angives prisformlen på produktet, men den samlede forsikrede formel er ikke. CalculatedPriceData føjes til resultaterne fra vurderingsproceduren, og derefter beregnes prisen på basis af formlen. Den samlede forsikrede formel vises ikke i dataene, og det gør TotalInsured heller ikke.

{
  "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

Indstillingen includeFilterAttrValues placerer produktets matriks i en ratedProducts og tilføjer et filterAttrValues-resultat ved siden af.

{
  "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": {
            ...
          }
        },
        {
          ...
        }
      }
    }
  }

Hver filterbar attribut føjes til objektet med nøglen indstillet til attributkoden. Værdien af hver filterattribut er et objekt, der indeholder følgende:

Nøgle

Værdi

attributeName

Navnet på attributten.

categoryName

Navnet på kategorien.

listOfValues

Listen over mulige værdier fra produktet i matrikset.

valueDataType

Datatypen for attributten, f.eks. Tekst eller Valuta.

Skatter og gebyrer

Hvis moms og gebyrer bruger tjenesten, vises beregnede moms og gebyrer på en JSON-registrering på tre forskellige måder:

  1. Hvis registreringen har beregnet moms og gebyrer, gemmes de som en liste i feltet taxesAndFees.

    {
      "taxesAndFees": [{
        "Id": 1,
        "calculatedAmount": 10,
        "Type__c": "Tax"
      }, {
        "Id": 2,
        "calculatedAmount": 15,
        "Type__c": "Fee"
      }]
    }
  2. Hvis registreringen har beregnet skatter på sig selv eller sine børn, gemmes summen af de beregnede skatter på sig selv og sine børn på taxAmount.

    {  "taxAmount”: 25 // 10 from self, 15 from children}
  3. Hvis registreringen har beregnet gebyrer for sig selv eller sine børn, gemmes summen af de beregnede gebyrer for sig selv og sine børn i feeAmount.

    {  "feeAmount”: 30 // 15 from self, 15 from children}

Et JSON-eksempeloutput med moms og gebyrer på de underordnede registreringer samt roden vil se sådan ud:

{
  "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
    }]
  }
}

Stjernevurdering

Du kan bruge attributeFilters-inputtet til at filtrere produkter baseret på vurderinger, der er oprettet som attributter af en produktmodeler.

 
Indlæser
Salesforce Help | Article