Loading
Assicurazioni
InsProductService:getRatedProducts

InsProductService:getRatedProducts

Utilizzare questo servizio per ottenere una serie di uno o più prodotti, i cui prezzi vengono calcolati utilizzando le procedure di valutazione associate a tali prodotti. Questo servizio include anche funzionalità aggiuntive come il calcolo delle imposte e delle spese, i filtri e l'ottimizzazione delle prestazioni.

Classe: InsProductService

Metodo: getRatedProducts

Per utilizzare questo servizio, passargli l'insieme di input necessari alla procedura di valutazione per assegnare un prezzo ai prodotti. Il servizio restituisce una matrice filtrata di prodotti e un JSON del risultato della procedura di valutazione.

Funzionamento

  1. Il servizio esegue una ricerca in Salesforce per recuperare una serie di prodotti attivi che rientrano nelle date di inizio e fine effettive. Per ulteriori informazioni, vedere effectiveDate di seguito.

    Nell'ambito della query, i servizi utilizzano i criteri passati nell'opzione di filtro per ottenere un insieme iniziale di prodotti. I dati estratti da Salesforce includono le regole di idoneità e la procedura di valutazione del prodotto, le specifiche dell'articolo assicurato, le specifiche della parte assicurata, le specifiche della copertura, le specifiche Fatto delle valutazioni e tutti i relativi attributi.

  2. Valuta ogni prodotto dell'insieme iniziale in base alle relative regole di idoneità, riducendo ulteriormente l'insieme di prodotti.

  3. Cerca la chiave userInputs nel JSON di input e recupera il valore della chiave. userInputs è l'insieme di dati di input utilizzati dalla procedura di valutazione per ottenere il prezzo del prodotto. Il servizio valuta questo oggetto in base alle mappature degli input di valutazione del prodotto per creare il JSON di input necessario per la procedura di valutazione.

    I userInputs vengono formattati in modo diverso a seconda della definizione del prodotto e della configurazione di valutazione. Per evitare errori, filtrare i prodotti che utilizzano tutti lo stesso tipo di formato di userInputs.

  4. Valuta ogni prodotto dell'insieme creato nel passaggio 2. Chiama la procedura di valutazione associata al prodotto con il JSON di input del passaggio 3.

  5. Restituisce una matrice di oggetti prodotto con il prezzo totale di ogni prodotto e la somma totale assicurata.

    Ogni oggetto prodotto restituito include anche il JSON di output della procedura di valutazione come valore di CalculatedPriceData. Il servizio imposta anche price e totalSumInsured se le formule sono impostate sul prodotto.

    Tenere presente che:

    • Se viene impostato un singolo attributo con una regola di attributo Imposta valore e una regola di attributo Imposta valore predefinito, getRatedProducts applica solo la regola di attributo Imposta valore predefinito.

    • È consigliabile, quando si impostano le espressioni delle regole degli attributi, non fare riferimento ai valori degli attributi nelle strutture di livello inferiore.

Opzioni remote

Opzioni di valutazione

Opzione

Descrizione

aggByKey

PRODUCT.instanceKey

Quando aggByKey è impostato, il suo valore viene incluso nella aggregationResult della procedura di calcolo, se aggregationResult non è vuoto. (Il aggregationResult viene in genere compilato quando una procedura di calcolo ha fasi di aggregazione configurate).

Ad esempio, una polizza assicurativa auto con più conducenti assicurati per più auto richiede il passaggio di aggByKey alla procedura di calcolo.

alwaysCreateInstance

Impostare questa opzione su true per i prodotti con più specifiche secondarie in un determinato livello della gerarchia, senza specifiche secondarie e una sola procedura di valutazione a livello principale.

Omettere questa opzione per i prodotti che non soddisfano tutti questi criteri.

Per formattare i userInputs per questo tipo di prodotto, vedere Una procedura di valutazione per prodotto per getRatedProducts.

includeInputKeys

Stringa di chiavi di input separate da virgole da includere nell'oggetto prodotto di output, all'interno dell'oggetto CalculatedPriceData.

Solo le chiavi di input utilizzate dalla procedura di calcolo hanno un valore nei risultati.

rateType

Age o Composite

Utilizzare questa opzione per la valutazione di piccoli gruppi.

searchText

PartOfAProductName

Se si utilizza questa opzione, il servizio ottiene solo i prodotti con nomi che contengono il valore specificato.

sortBy

productField1, productField2.

Ordina i prodotti ottenuti dal servizio nell'ordine specificato.

È possibile utilizzare DESC con questa opzione per ordinare i prodotti in ordine decrescente. È possibile specificare il primo elemento da cui discendere. Se non si specifica un punto di partenza, per impostazione predefinita DESC viene impostato sull'ordine alfabetico.

Se non si specifica un valore per questa opzione, il servizio ordina i prodotti restituiti per nome in ordine alfabetico crescente.

Opzioni filtro

Opzione

Descrizione

attributeFilters

Una mappa di attributeCode e valori

Restituisce solo i prodotti che soddisfano i valori degli attributi specificati nel filtro.

effectiveDate

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

Per impostazione predefinita, la data odierna.

Service estrae i prodotti con un'effectiveDate tra EffectiveDate__c e EndDate__c e IsActive.

Il servizio utilizza anche la effectiveDate per selezionare la versione corretta della procedura di calcolo utilizzata per assegnare un punteggio al prodotto.

filters

Product2FieldName:Value

Product2FieldName:%ElementName%

Utilizzare il nome API con i due punti seguiti da un valore o da una variabile. Ad esempio, in un OmniScript, una variabile può essere il nome di un elemento, ad esempio un elenco di selezione di input.

Separare più parametri di filtro con virgole:

ProductCode:Value,ProductCode:%ElementName%

I filtri possono includere qualsiasi campo dell'oggetto Product2.

includeFilterAttrValues

true o false

Per impostazione predefinita, false.

Nel JSON di output, insieme alla matrice di prodotti, viene aggiunto l'oggetto filterAttrValues. Questo oggetto contiene gli attributi del prodotto radice contrassegnati come filtrabili, con il possibile elenco di valori. Questo elenco è utilizzato da alcuni modelli di interfaccia utente per filtrare insiemi di prodotti di grandi dimensioni.

Gli attributi dei prodotti secondari non sono inclusi.

whereClause

Immettere qualsiasi istruzione SOQL Salesforce valida come valore per questa opzione.

Utilizzare questa opzione quando si necessita di questo servizio per esaminare i campi elenco a selezione multipla durante la ricerca dei prodotti.

Ad esempio, l'estratto conto vlocity_ins_marketsegment_c includes ('Small Group') prende i prodotti con Segmenti di mercato 'Piccolo gruppo' e più o meno segmenti di mercato nell'elenco di selezione a selezione multipla.

Importante
Importante

Rimuovere qualsiasi riferimento ai campi nel whereClause dalla chiave di filtro.

Ad esempio, se nel filtro sono presenti vlocity_ins_marketsegment_c:Small Group e un whereClause contenente un riferimento allo stesso campo, questi si scontreranno e saranno in conflitto, generando risultati imprevedibili.

Opzioni di ottimizzazione

Opzione

Descrizione

includeOptionalCovSelectFlag

true o false

Per impostazione predefinita, false.

Impostare questa opzione su true per fare in modo che il servizio valuti le regole di copertura facoltative prima di passare gli input di valutazione alle procedure di calcolo.

Se i prodotti non utilizzano coperture facoltative, utilizzare l'impostazione predefinita di false. Ottenere e aggiungere dati di copertura facoltativi all'input della valutazione richiede un'elaborazione aggiuntiva e può rallentare questo servizio.

includeRawCalculationResult

true o false

Per impostazione predefinita, false.

Include tutti i risultati della procedura di calcolo nella chiave RawPriceData.

isBatchMode

true o false

Quando è impostato su true, il servizio restituisce un JSON prodotto semplificato che non include categorie di attributi, ma include valori e regole selezionati dagli attributi.

Se impostato su false, il servizio restituisce il JSON completo del prodotto.

Questa opzione è utile quando l'interfaccia utente non consuma i risultati del servizio. Ad esempio, se si esegue una procedura di integrazione in modalità batch che contiene questo servizio.

mergeList

true o false

Per impostazione predefinita, false.

Ottimizza le chiamate di valutazione raggruppando le chiamate delle procedure di valutazione per prodotti utilizzando la stessa procedura di valutazione. Esegue una chiamata di valutazione con una matrice di oggetti di input.

Questo è utile quando si estrae un grande elenco di prodotti. Più chiamate di valutazione possono superare i limiti SQL. L'architettura della procedura di valutazione è ottimizzata per gestire una matrice di oggetti di input e ridurre al minimo il numero di query SQL necessarie.

omitChildren

true o false

Impostare questa opzione su true solo se si imposta anche omitRating su true. Questo restituisce i prodotti senza prezzi.

omitRating

true o false

Se true, il servizio restituisce i prodotti senza prezzo.

productClasses

“ProductClassName1,ProductClassName2”

Elenco separato da virgole dei nomi delle classi di prodotto. Limita l'elenco dei prodotti a queste classi di prodotti.

rootPricingOnly

true o false

Per impostazione predefinita, false.

Questa opzione migliora le prestazioni riducendo le dimensioni dell'heap.

Se la procedura di valutazione in uso è definita solo a livello di prodotto principale, è possibile impostare questa opzione su true per migliorare le prestazioni.

Opzioni regole

Opzione

Descrizione

evalOptionalCoverageRelationship

true o falseSe impostato su true, il servizio esegue regole di relazione di copertura facoltative.

omitEligibility

true o false

Per impostazione predefinita, false.

Quando è impostato su true, il servizio non esegue query sui prodotti idonei.

È invece necessario specificare un ID prodotto elenco sotto il products chiave nella mappa di input o nella mappa delle opzioni. Sia un elenco di ID prodotto che una stringa di ID prodotto separati da virgole sono valori accettabili per i products.

ruleAttributeSetValues

true o false

Quando è impostato su false, il servizio non esegue regole di valore insieme di attributi.

Quando è impostato su true, il servizio esegue le regole di valore dell'insieme di attributi.

validateCoverageSelection

true o false

Impostare su true se si dispone di regole di convalida necessarie per l'esecuzione del servizio.

Opzioni delle funzioni aggiuntive

Opzione

Descrizione

calculateTaxesAndFees

Facoltativo

true o false

Quando è impostato su true, calcola le imposte e le spese sul prodotto di destinazione.

includeFullProductJson

true o false

Questa opzione controlla la presenza di ulteriori nodi figlio in risposta all'API in base al JSON di input. Quando è impostato su true, nel JSON di output sono presenti due modifiche:

  • Se il tipo di nipote è Parte assicurata, il nodo JSON controllante contiene due nodi controllati aggiuntivi; parte principale e altre parti. Questi due nuovi nodi vengono compilati in base al fatto che il isPrimary flag sia impostato per il nodo nipote.

  • Se il tipo di nipote è Elemento assicurato, questi due nodi (parte principale e altre parti) non sono presenti nell'API di risposta. I nipoti contenuti nel JSON di input sono collegati al nodo controllante corretto nel JSON di output dell'API.

Per la compatibilità retroattiva, l'impostazione predefinita è false.

jurisdictionIds

Tipo: Elenco stringato di ID

Utilizzato in combinazione con l'opzione calculateTaxesAndFees.

Calcola solo le imposte e le spese associate alle giurisdizioni specificate.

taxAndFeeEffectiveDate

Data di validità utilizzata da questo servizio per calcolare le imposte e le spese. Questa opzione è separata dall'opzione effectiveDate utilizzata per calcolare il prezzo del prodotto.

Se viene fornito un valore, il servizio lo utilizza.

Se non viene fornito un valore e il JSON del prodotto non è una policy, il servizio viene impostato automaticamente sulla data odierna.

withTaxFeeRounding

Facoltativo

Se true, gli importi calcolati delle imposte e delle spese vengono arrotondati alla seconda cifra decimale utilizzando il metodo di arrotondamento alla metà. La withTaxFeeRounding è effettiva solo quando è vera anche l'opzione calculateTaxesAndFees. Se false, l'arrotondamento è disabilitato.

Il valore predefinito è false.

Opzioni dell'interfaccia utente

Opzione

Descrizione

lastRecordId

Specifica l'ultimo ID prodotto inserito dal servizio nell'interfaccia utente.

Utilizzare questa opzione con l'opzione pageSize.

pageSize

Determinare quanti prodotti il servizio restituisce all'interfaccia utente in una sola chiamata.

Input JSON

InsProductService: getRatedProducts cerca una chiave userInputs nel JSON di input. Utilizzare il formato di userInputs appropriato a seconda della definizione del prodotto e della configurazione di valutazione. Il servizio accetta un solo tipo di formato userInputs alla volta.

JSON di output

Il servizio restituisce una matrice di uno o più oggetti prodotto. Vedere il modello di struttura JSON del prodotto per ulteriori informazioni su questo oggetto.

Qualsiasi userInputs mappato dal JSON di input viene aggiunto all'oggetto prodotto come chiave di userValues della singola istanza dell'attributo a cui è stato mappato.

Per ogni prodotto, il JSON di output del calcolo della procedura di valutazione viene aggiunto al prodotto con la chiave CalculatedPriceData. Se la formula prezzi è impostata sul prodotto, il valore di Price verrà impostato sul valore calcolato. Se sul prodotto è impostata la formula totale assicurata, il valore di TotalInsured viene impostato sul valore calcolato.

In questo esempio, la formula prezzi è impostata sul prodotto, ma la formula totale assicurata non lo è. Il CalculatedPriceData viene aggiunto ai risultati della procedura di valutazione, quindi il prezzo viene calcolato in base alla formula. La formula totale assicurata non compare nei dati, né 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": {
        ...
      }
    },
    {
      ...
    }
  }

Chiave filterAttrValues

L'opzione includeFilterAttrValues inserisce la matrice di prodotti in un nodo ratedProducts e aggiunge un risultato filterAttrValues.

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

Ogni attributo filtrabile viene aggiunto all'oggetto con la chiave impostata sul codice attributo. Il valore di ogni attributo filter è un oggetto che contiene quanto segue:

Chiave

Valore

attributeName

Nome dell'attributo.

categoryName

Il nome della categoria.

listOfValues

Elenco dei valori possibili del prodotto nella matrice.

valueDataType

Tipo di dati dell'attributo, ad esempio Testo o Valuta.

Tasse e commissioni

Se le imposte e le spese utilizzano il servizio, le imposte e le spese calcolate vengono visualizzate in un record JSON in tre modi distinti:

  1. Se il record include imposte e spese calcolate, vengono archiviate come elenco nel campo taxesAndFees.

    {
      "taxesAndFees": [{
        "Id": 1,
        "calculatedAmount": 10,
        "Type__c": "Tax"
      }, {
        "Id": 2,
        "calculatedAmount": 15,
        "Type__c": "Fee"
      }]
    }
  2. Se il record ha imposte calcolate su se stesso o sui suoi figli, la somma delle imposte calcolate su se stesso e sui suoi figli viene memorizzata nel campo taxAmount.

    {  "taxAmount”: 25 // 10 from self, 15 from children}
  3. Se il record ha calcolato le spese per se stesso o per i suoi figli, la somma delle spese calcolate per se stesso e per i suoi figli viene memorizzata nel campo feeAmount.

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

Un output JSON di esempio, con le imposte e le spese sui record secondari e la radice, avrà l'aspetto seguente:

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

Valutazione stella

È possibile utilizzare l'input attributeFilters per filtrare i prodotti in base alle valutazioni, create come attributi da un modellatore di prodotti.

 
Caricamento
Salesforce Help | Article