Loading
Verzekering
InsProductService:getRatedProducts

InsProductService:getRatedProducts

Gebruik deze service voor een array van een of meer producten, geprijsd met behulp van beoordelingsprocedures die aan die producten zijn gekoppeld. Deze service omvat ook extra voorzieningen zoals berekeningen van belasting en kosten, filteren en prestatieoptimalisering.

Klasse: InsProductService

Methode: getRatedProducts

Geef voor het gebruik van deze service de set invoer door die de beoordelingsprocedure nodig heeft om producten te prijzen. De service retourneert een gefilterde array van producten en een resultaat-JSON van de beoordelingsprocedure.

De manier waarop het werkt...

  1. De service doorzoekt Salesforce om een set actieve producten op te halen die binnen de geldende begin- en einddatum vallen. Zie effectiveDate hieronder voor meer informatie.

    Als onderdeel van de query gebruikt de service de criteria die zijn doorgegeven in de filteroptie om een eerste set producten te krijgen. De gegevens die worden opgehaald uit Salesforce, omvatten de aanspraakregels en beoordelingsprocedure van het product, specificaties van verzekerde items, specificaties van verzekerde partij, dekkingsspecificaties, specificaties van beoordelingsfeiten en alle kenmerken ervan.

  2. Evalueert elk product in de initiële set op basis van de bijbehorende aanspraakregels, waardoor de productset verder wordt gereduceerd.

  3. Zoekt in de invoer-JSON naar de userInputs en haalt de waarde van de sleutel op. userInputs is de set invoergegevens die de beoordelingsprocedure gebruikt om de prijs van het product te achterhalen. De service evalueert dit object op basis van de invoertoewijzingen van de productbeoordeling om de invoer-JSON te maken die nodig is voor de beoordelingsprocedure.

    U maakt userInputs anders op, afhankelijk van de productdefinitie en de configuratie van de beoordeling. Filter om fouten te voorkomen op producten die allemaal hetzelfde type userInputs gebruiken.

  4. Geeft een beoordeling aan elk product in de set die in stap 2 is gemaakt. De gekoppelde beoordelingsprocedure van het product wordt aangeroepen met de invoer-JSON uit stap 3.

  5. Retourneert een array van productobjecten met de totale prijs van elk product en de totale verzekerde som.

    Elk geretourneerd productobject omvat ook de uitvoer-JSON van de beoordelingsprocedure als de waarde van CalculatedPriceData. De service stelt ook price en totalSumInsured in als de formules voor het product zijn ingesteld.

    Houd rekening met het volgende:

    • Als één kenmerk is ingesteld met zowel een kenmerkregel Waarde instellen als een kenmerkregel Standaardwaarde instellen, past getRatedProducts alleen de kenmerkregel Standaardwaarde instellen toe.

    • Het is een best practice om bij het instellen van expressies voor kenmerkregels niet te verwijzen naar kenmerkwaarden in structuren op een lager niveau.

Externe opties

Beoordelingsopties

Optie

Beschrijving

aggByKey

PRODUCT.instanceKey

Wanneer aggByKey is ingesteld, wordt de waarde ervan opgenomen in de aggregationResult van de berekeningsprocedure, als aggregationResult niet leeg is. (De aggregationResult wordt doorgaans ingevuld wanneer voor een berekeningsprocedure aggregatiestappen zijn geconfigureerd).

Zo vereist een autoverzekeringspolis die meerdere bestuurders heeft die voor meerdere auto's zijn verzekerd, dat aggByKey worden doorgegeven aan de berekeningsprocedure.

alwaysCreateInstance

Stel deze optie in op true voor producten met meerdere onderliggende specificaties in een bepaald niveau van de hiërarchie, geen kleinonderliggende specificaties en slechts één beoordelingsprocedure op rootniveau.

Laat deze optie weg voor producten die niet aan al deze criteria voldoen.

Zie Eén beoordelingsprocedure per product voor getRatedProducts als u userInputs wilt opmaken voor dit type product.

includeInputKeys

Een reeks met komma's gescheiden invoersleutels om op te nemen in het uitvoerproductobject, binnen het CalculatedPriceData.

Alleen invoersleutels die door de berekeningsprocedure worden gebruikt, hebben een waarde in de resultaten.

rateType

Age of Composite

Gebruik deze optie voor beoordeling van kleine groepen.

searchText

PartOfAProductName

Als deze optie wordt gebruikt, krijgt de service alleen producten met namen die de door u opgegeven waarde bevatten.

sortBy

productField1, productField2.

Sorteert de producten die de service krijgt in de door u opgegeven volgorde.

U kunt DESC met deze optie gebruiken om producten in aflopende volgorde te sorteren. U kunt het eerste item opgeven, waarvan u wilt afstammen. Als u geen plaats opgeeft om te beginnen, gaat DESC standaard over op alfabetische volgorde.

Als u geen waarde voor deze optie opgeeft, sorteert de service producten die op naam worden geretourneerd in oplopende alfabetische volgorde.

Filteropties

Optie

Beschrijving

attributeFilters

Een kaart van attributeCode en waarden

Retourneert alleen producten die voldoen aan de kenmerkwaarden die in het filter zijn opgegeven.

effectiveDate

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

De standaardwaarde is de datum van vandaag.

Service pullt producten met een effectiveDate tussen EffectiveDate__c en EndDate__c en IsActive.

De service gebruikt de effectiveDate ook om de juiste versie te selecteren van de berekeningsprocedure die is gebruikt om het product te beoordelen.

filters

Product2FieldName:Value

Product2FieldName:%ElementName%

Gebruik de API-naam met een dubbele punt gevolgd door een waarde of een variabele. In een OmniScript kan een variabele bijvoorbeeld een naam van een element zijn, zoals een invoerkeuzelijst.

Scheid meerdere filterparameters met komma's:

ProductCode:Value,ProductCode:%ElementName%

Filters kunnen elk veld voor het Product2 bevatten.

includeFilterAttrValues

true of false

De standaardwaarde is false.

In de uitvoer-JSON wordt hiermee, samen met de array van producten, het object filterAttrValues toegevoegd. Dit object bevat de kenmerken van het rootproduct die zijn gemarkeerd als filterbaar, met de mogelijke lijst van waarden. Deze lijst wordt door sommige UI-sjablonen gebruikt om grote sets producten te filteren.

Onderliggende productkenmerken zijn niet inbegrepen.

whereClause

Geef een geldige Salesforce SOQL-instructie op als waarde voor deze optie.

Gebruik deze wanneer u deze service nodig hebt om naar velden met meerdere keuzelijsten te kijken bij het zoeken naar producten.

Zo vlocity_ins_marketsegment_c includes ('Small Group') pakt de instructie producten die Marktsegmenten 'Kleine groep' hebben en meer of geen marktsegmenten in de keuzelijst met meervoudige selectie.

Belangrijk
Belangrijk

Verwijder elke verwijzing naar de velden in de whereClause uit uw filtersleutel.

Als u bijvoorbeeld vlocity_ins_marketsegment_c:Small Group in het filter hebt en een whereClause met daarin een verwijzing naar hetzelfde veld, botsen ze en ontstaan er conflicten, wat onvoorspelbare resultaten oplevert.

Optimalieringsopties

Optie

Beschrijving

includeOptionalCovSelectFlag

true of false

De standaardwaarde is false.

Stel deze optie in op true om de service optionele dekkingsregels te laten evalueren voordat beoordelingsinvoer wordt doorgegeven aan berekeningsprocedures.

Als producten geen optionele dekkingen gebruiken, gebruikt u de standaardinstelling van false. Het ophalen en toevoegen van optionele dekkingsgegevens aan beoordelingsinvoer vereist extra verwerking en kan deze service vertragen.

includeRawCalculationResult

true of false

De standaardwaarde is false.

Omvat de volledige resultaten van de berekeningsprocedure in de RawPriceData.

isBatchMode

true of false

Indien ingesteld op true, retourneert de service een vereenvoudigde product-JSON die geen kenmerkcategorieën bevat, maar wel door kenmerken geselecteerde waarden en regels.

Indien ingesteld op false retourneert de service het volledige product-JSON.

Deze optie is handig wanneer er geen UI is die de resultaten van de service verbruikt. Bijvoorbeeld als u een integratieprocedure uitvoert in batchmodus die deze service bevat.

mergeList

true of false

De standaardwaarde is false.

Optimaliseert beoordelingsaanroepen door beoordelingsprocedureaanroepen te groeperen op producten met behulp van dezelfde beoordelingsprocedure. Deze voert één beoordelingsaanroep uit met een array van invoerobjecten.

Dit is handig bij het ophalen van een grote lijst producten. Meerdere beoordelingsaanroepen kunnen SQL-limieten bereiken. De architectuur van de beoordelingsprocedure is geoptimaliseerd om een reeks invoerobjecten te verwerken en het aantal benodigde SQL-query's te minimaliseren.

omitChildren

true of false

Stel deze optie alleen in op true (waar) als u omitRating ook instelt op true. Dit retourneert producten zonder prijsstelling.

omitRating

true of false

Indien true (waar), retourneert de service producten zonder prijsstelling.

productClasses

“ProductClassName1,ProductClassName2”

Door komma's gescheiden lijst van namen van productklassen. Beperkt de lijst van producten tot deze productklassen.

rootPricingOnly

true of false

De standaardwaarde is false.

Deze optie verbetert de prestaties door de heapgrootte te verkleinen.

Als de beoordelingsprocedure die u gebruikt, alleen is gedefinieerd op rootproductniveau, kunt u deze optie instellen op true om de prestaties te verbeteren.

Regelopties

Optie

Beschrijving

evalOptionalCoverageRelationship

true of falseIndien ingesteld op true, voert de service optionele dekkingsrelatieregels uit.

omitEligibility

true of false

De standaardwaarde is false.

Indien ingesteld op true, voert de service geen query uit op in aanmerking komende producten.

In plaats daarvan moet u een lijstproduct-ID opgeven onder de belangrijkste products in de invoertoewijzing of optietoewijzing. Zowel een lijst van product-ID's als een reeks met komma's gescheiden product-ID's zijn acceptabele waarden voor products.

ruleAttributeSetValues

true of false

Indien ingesteld op false, voert de service geen waardenregels voor kenmerkensets uit.

Indien ingesteld op true, voert de service de waardenregels voor de kenmerkenset uit.

validateCoverageSelection

true of false

Stel dit in op true als u validatieregels hebt die de service moet uitvoeren.

Functieopties voor uitbreiding

Optie

Beschrijving

calculateTaxesAndFees

Optioneel

true of false

Indien ingesteld op true, worden belastingen en vergoedingen berekend voor het doelproduct.

includeFullProductJson

true of false

Deze optie bepaalt de aanwezigheid van extra kleinonderliggende knooppunten als reactie op de API op basis van de invoer-JSON. Indien ingesteld op true (waar), zijn er twee wijzigingen in de uitvoer-JSON:

  • Als het type van het kleinkind Verzekerde partij is, bevat het bovenliggende JSON-knooppunt twee extra onderliggende knooppunten: primaire partij en andere partijen. Deze twee nieuwe knooppunten worden ingevuld op basis van of de isPrimary vlag is ingesteld voor het kleinonderliggende knooppunt.

  • Als het type van het kleinkind Verzekerd item is, zijn deze twee knooppunten (primaire partij en andere partijen) niet aanwezig in de respons-API. De kleinkinderen in de invoer-JSON zijn gekoppeld aan het juiste bovenliggende knooppunt in de uitvoer-JSON van de API.

Voor terugwaartse compatibiliteit is de standaardwaarde false.

jurisdictionIds

Type: Getekende lijst van ID's

Gebruikt in combinatie met de optie calculateTaxesAndFees.

Berekent alleen de belastingen en vergoedingen die zijn gekoppeld aan de opgegeven rechtsgebieden.

taxAndFeeEffectiveDate

De ingangsdatum die deze service gebruikt om belastingen en vergoedingen te berekenen. Deze optie staat los van de effectiveDate die wordt gebruikt om het product te prijzen.

Als er een waarde wordt opgegeven, gebruikt de service die waarde.

Als er geen waarde wordt opgegeven en de product-JSON geen beleid is, wordt de service standaard ingesteld op de datum van vandaag.

withTaxFeeRounding

Optioneel

Indien true (waar), worden de berekende bedragen aan belasting en kosten afgerond op twee decimalen met behulp van de methode voor halfeven afronden. withTaxFeeRounding is alleen van kracht wanneer de optie calculateTaxesAndFees ook true (waar) is. Indien false (onwaar), is afronden uitgeschakeld.

De standaardwaarde is false (onwaar).

UI-opties

Optie

Beschrijving

lastRecordId

Geeft de laatste product-ID aan die de service in de UI heeft opgehaald.

Gebruik deze optie met de optie pageSize.

pageSize

Bepaal hoeveel producten de service in één aanroep retourneert naar de UI.

Invoer-JSON

InsProductService: getRatedProducts zoekt naar een userInputs in de invoer-JSON. Gebruik de juiste userInputs, afhankelijk van de productdefinitie en de configuratie van de beoordeling. De service accepteert slechts één type userInputs-indeling tegelijk.

Uitvoer-JSON

De service retourneert een array van een of meer productobjecten. Zie Product-JSON-structuurmodel voor meer informatie over dit object.

Alle toegewezen userInputs uit de invoer-JSON worden toegevoegd aan het productobject als de userValues van het ene exemplaar van het kenmerk waaraan het is toegewezen.

Voor elk product wordt de uitvoer-JSON van de berekening van de beoordelingsprocedure aan het product toegevoegd met de CalculatedPriceData. Als de prijsstellingsformule is ingesteld voor het product, wordt de waarde van Price ingesteld op de berekende waarde ervan. Als de totale verzekerde formule voor het product is ingesteld, wordt de waarde van TotalInsured ingesteld op de berekende waarde ervan.

In dit voorbeeld is de prijsstellingsformule ingesteld voor het product, maar de totaal verzekerde formule niet. De CalculatedPriceData wordt toegevoegd aan de resultaten van de beoordelingsprocedure en vervolgens wordt de prijs berekend op basis van de formule. De totaal verzekerde formule wordt niet weergegeven in de gegevens en TotalInsured ook niet.

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

De optie includeFilterAttrValues plaatst de productarray in een ratedProducts en voegt er een filterAttrValues naast toe.

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

Elk filterbaar kenmerk wordt toegevoegd aan het object met de sleutel ingesteld op de kenmerkcode. De waarde van elk filterkenmerk is een object dat het volgende bevat:

Sleutel

Waarde

attributeName

De naam van het kenmerk.

categoryName

De naam van de categorie.

listOfValues

De lijst van mogelijke waarden van het product in de array.

valueDataType

Het gegevenstype van het kenmerk, zoals Tekst of Valuta.

Belastingen en toeslagen

Als belastingen en vergoedingen de service gebruiken, worden berekende belastingen en vergoedingen op drie verschillende manieren weergegeven op een JSON-record:

  1. Als de record belastingen en vergoedingen heeft berekend, worden deze opgeslagen als een lijst in het veld taxesAndFees.

    {
      "taxesAndFees": [{
        "Id": 1,
        "calculatedAmount": 10,
        "Type__c": "Tax"
      }, {
        "Id": 2,
        "calculatedAmount": 15,
        "Type__c": "Fee"
      }]
    }
  2. Als de record belastingen op zichzelf of op onderliggende waarden heeft berekend, wordt de som van de berekende belastingen op zichzelf en onderliggende waarden opgeslagen in het veld taxAmount.

    {  "taxAmount”: 25 // 10 from self, 15 from children}
  3. Als de record berekende kosten voor zichzelf of voor onderliggende kosten heeft, wordt de som van de berekende kosten voor zichzelf en onderliggende kosten opgeslagen in het veld feeAmount.

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

Een voorbeeld van een JSON-uitvoer, met belastingen en kosten voor zowel de onderliggende records als de root, ziet er ongeveer als volgt uit:

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

Sterbeoordeling

U kunt de attributeFilters gebruiken om producten te filteren op basis van beoordelingen, die als kenmerken zijn gemaakt door een productmodeler.

 
Wordt geladen
Salesforce Help | Article