Ti trovi qui:
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.
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
-
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.
-
Valuta ogni prodotto dell'insieme iniziale in base alle relative regole di idoneità, riducendo ulteriormente l'insieme di prodotti.
-
Cerca la chiave
userInputsnel 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
userInputsvengono 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 diuserInputs. -
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.
-
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 anchepriceetotalSumInsuredse 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,
getRatedProductsapplica 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
Opzione |
Descrizione |
|---|---|
|
Quando Ad esempio, una polizza assicurativa auto con più conducenti assicurati per più auto richiede il passaggio di |
|
Impostare questa opzione su Omettere questa opzione per i prodotti che non soddisfano tutti questi criteri. Per formattare i |
|
Stringa di chiavi di input separate da virgole da includere nell'oggetto prodotto di output, all'interno dell'oggetto Solo le chiavi di input utilizzate dalla procedura di calcolo hanno un valore nei risultati. |
|
Utilizzare questa opzione per la valutazione di piccoli gruppi. |
|
PartOfAProductName Se si utilizza questa opzione, il servizio ottiene solo i prodotti con nomi che contengono il valore specificato. |
|
productField1, productField2. Ordina i prodotti ottenuti dal servizio nell'ordine specificato. È possibile utilizzare Se non si specifica un valore per questa opzione, il servizio ordina i prodotti restituiti per nome in ordine alfabetico crescente. |
Opzione |
Descrizione |
|---|---|
|
Una mappa di Restituisce solo i prodotti che soddisfano i valori degli attributi specificati nel filtro. |
|
Per impostazione predefinita, la data odierna. Service estrae i prodotti con un' Il servizio utilizza anche la |
|
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:
I filtri possono includere qualsiasi campo dell'oggetto |
|
Per impostazione predefinita, Nel JSON di output, insieme alla matrice di prodotti, viene aggiunto l'oggetto Gli attributi dei prodotti secondari non sono inclusi. |
|
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 Importante
Rimuovere qualsiasi riferimento ai campi nel Ad esempio, se nel filtro sono presenti |
Opzione |
Descrizione |
|---|---|
|
Per impostazione predefinita, Impostare questa opzione su Se i prodotti non utilizzano coperture facoltative, utilizzare l'impostazione predefinita di |
|
Per impostazione predefinita, Include tutti i risultati della procedura di calcolo nella chiave |
|
Quando è impostato su Se impostato su 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. |
|
Per impostazione predefinita, 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. |
|
Impostare questa opzione su true solo se si imposta anche |
|
Se true, il servizio restituisce i prodotti senza prezzo. |
|
“ProductClassName1,ProductClassName2” Elenco separato da virgole dei nomi delle classi di prodotto. Limita l'elenco dei prodotti a queste classi di prodotti. |
|
Per impostazione predefinita, 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 |
Opzione |
Descrizione |
|---|---|
|
|
|
Per impostazione predefinita, Quando è impostato su È invece necessario specificare un ID prodotto elenco sotto il |
|
Quando è impostato su Quando è impostato su |
|
Impostare su |
Opzione |
Descrizione |
|---|---|
|
Specifica l'ultimo ID prodotto inserito dal servizio nell'interfaccia utente. Utilizzare questa opzione con l'opzione |
|
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.
-
Una procedura di valutazione per prodotto per getRatedProducts
Formattare i
userInputsper i prodotti che utilizzano una singola procedura di valutazione per prodotto radice. -
Più procedure di valutazione per prodotto o più specifiche a qualsiasi livello per getRatedProducts
Formattare i
userInputsper i prodotti che utilizzano più procedure di valutazione nella gerarchia dei prodotti o più specifiche controllate in qualsiasi livello della gerarchia.
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 |
|---|---|
|
Nome dell'attributo. |
|
Il nome della categoria. |
|
Elenco dei valori possibili del prodotto nella matrice. |
|
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:
-
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" }] } -
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} -
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.
- Una procedura di valutazione per prodotto per getRatedProducts
Formattare iInsProductService:getRatedProducts userInputsper i prodotti che utilizzano una singola procedura di valutazione per prodotto radice. - Più procedure di valutazione per prodotto o più specifiche a qualsiasi livello per getRatedProducts
Formattare iInsProductService:getRatedProducts userInputsper i prodotti che utilizzano più procedure di valutazione nella gerarchia dei prodotti o più specifiche controllate in qualsiasi livello della gerarchia.
