Usted está aquí:
InsProductService:getRatedProducts
Utilice este servicio para obtener una matriz de uno o más productos, con precios utilizando procedimientos de valoración adjuntos a esos productos. Este servicio también incluye funciones adicionales como cálculos de impuestos y comisiones, filtrado y optimización de desempeño.
Para utilizar este servicio, pásele el conjunto de entradas que el procedimiento de valoración necesita para asignar precios a productos. El servicio devuelve una matriz filtrada de productos y un JSON de resultado desde el procedimiento de valoración.
Funcionamiento
-
El servicio busca en Salesforce para recuperar un conjunto de productos activos que entran en las fechas de inicio y finalización efectivas. Consulte effectiveDate a continuación para obtener más información.
Como parte de la consulta, los servicios utilizan los criterios pasados en la opción de filtro para obtener un conjunto inicial de productos. Los datos extraídos de Salesforce incluyen las reglas de aptitud y el procedimiento de valoración del producto, las especificaciones del artículo asegurado, las especificaciones de la parte asegurada, las especificaciones de cobertura, las especificaciones de hechos de valoración y todos sus atributos.
-
Evalúa cada producto en el conjunto inicial basándose en sus reglas de aptitud, reduciendo aún más el conjunto de productos.
-
Busca en el JSON de entrada la clave de
userInputsy recupera el valor de la clave.userInputses el conjunto de datos de entrada que el procedimiento de valoración utiliza para obtener el precio del producto. El servicio evalúa este objeto basándose en las asignaciones de entrada de valoración de productos para crear el JSON de entrada necesario para el procedimiento de valoración.Usted aplica un formato diferente a los
userInputsdependiendo de la definición del producto y la configuración de la valoración. Para evitar errores, filtre los productos que utilizan el mismo tipo de formato deuserInputs. -
Puntúa cada producto en el conjunto creado en el paso 2. Llama al procedimiento de valoración asociado del producto con el JSON de entrada del paso 3.
-
Devuelve una matriz de objetos de productos con el precio total de cada producto y la suma asegurada total.
Cada objeto de producto devuelto también incluye el JSON de salida del procedimiento de valoración como el valor de
CalculatedPriceData. El servicio también establecepriceytotalSumInsuredsi las fórmulas están establecidas en el producto.Recuerde que:
-
Si se configura un único atributo con una regla de atributo Establecer valor y una regla de atributo Establecer valor predeterminado,
getRatedProductsaplica únicamente la regla de atributo Establecer valor predeterminado. -
Como mejor práctica, cuando configura expresiones de reglas de atributos, no haga referencia a valores de atributos en estructuras de nivel inferior.
-
Opciones remotas
Opción |
Descripción |
|---|---|
|
Cuando se establece la Por ejemplo, una póliza de seguros de auto que tiene varios conductores asegurados para varios autos requiere que se pasen los |
|
Establezca esta opción en Omita esta opción para productos que no cumplen todos estos criterios. Para dar formato a |
|
Una cadena de claves de entrada separadas por comas para incluir en el objeto de producto de salida, dentro del objeto Solo las teclas de entrada utilizadas por el procedimiento de cálculo tienen un valor en los resultados. |
|
Utilice esta opción para la valoración de grupos pequeños. |
|
PartOfAProductName Si se utiliza esta opción, el servicio solo obtiene productos con nombres que contienen el valor que proporcionó. |
|
productField1, productField2. Ordena los productos que obtiene el servicio en el orden que especifica. Puede utilizar Si no especifica un valor para esta opción, el servicio ordena los productos devueltos por nombre en orden alfabético ascendente. |
Opción |
Descripción |
|---|---|
|
Un mapa de Devuelve únicamente productos que cumplen los valores de atributo proporcionados en el filtro. |
|
Toma como valor predeterminado la fecha de hoy. Servicio extrae productos con una El servicio también utiliza el |
|
Utilice el nombre de API con un punto seguido de un valor o una variable. Por ejemplo, en un OmniScript, una variable puede ser un nombre de un elemento, como una lista de selección de entrada. Separe múltiples parámetros de filtro con comas:
Los filtros pueden incluir cualquier campo en el objeto |
|
Toma como valor predeterminado En el JSON de salida, junto con la matriz de productos, esto agrega el objeto Los atributos de productos secundarios no están incluidos. |
|
Ingrese cualquier instrucción SOQL válida de Salesforce como el valor para esta opción. Utilice esto cuando necesite este servicio para buscar campos de lista de selección múltiple al buscar productos. Por ejemplo, la declaración Importante
Elimine cualquier referencia a los campos de la Por ejemplo, si tiene |
Opción |
Descripción |
|---|---|
|
Toma como valor predeterminado Establezca esta opción en Si los productos no utilizan coberturas opcionales, utilice la configuración predeterminada de |
|
Toma como valor predeterminado Incluye todos los resultados del procedimiento de cálculo en la clave de |
|
Cuando se establece en Cuando se establece en Esta opción es útil cuando no hay ninguna interfaz de usuario consumiendo los resultados del servicio. Por ejemplo, si está ejecutando un procedimiento de integración en modo por lotes que contiene este servicio. |
|
Toma como valor predeterminado Optimiza las llamadas de puntuaje agrupando llamadas de procedimientos de puntuaje por productos utilizando el mismo procedimiento de puntuaje. Realiza una llamada de valoración con una matriz de objetos de entrada. Esto es útil al extraer una gran lista de productos. Múltiples llamadas de valoración pueden alcanzar límites de SQL. La arquitectura del procedimiento de valoración está optimizada para gestionar una matriz de objetos de entrada y minimizar el número de consultas SQL necesarias. |
|
Establezca esta opción en true solo si también establece |
|
Si es verdadero, el servicio devuelve productos sin precios. |
|
“ProductClassName1,ProductClassName2” Lista separada por comas de nombres de clases de productos. Limita la lista de productos a estas clases de productos. |
|
Toma como valor predeterminado Esta opción mejora el desempeño reduciendo los tamaños de pila. Si el procedimiento de valoración que está utilizando se define únicamente en el nivel de producto raíz, puede establecer esta opción en |
Opción |
Descripción |
|---|---|
|
|
|
Toma como valor predeterminado Cuando se establece en En su lugar, debe proporcionar un Id. de producto de lista bajo la |
|
Cuando se establece en Cuando se establece en |
|
Establezca en |
Opción |
Descripción |
|---|---|
|
Especifica el último Id. de producto que el servicio extrajo en la interfaz de usuario. Utilice esta opción con la opción |
|
Determine cuántos productos devuelve el servicio a la interfaz de usuario en una llamada. |
JSON de entrada
InsProductService: getRatedProducts busca una clave de userInputs en el JSON de entrada. Utilice el formato de userInputs apropiado dependiendo de la definición del producto y la configuración de la valoración. El servicio solo acepta un tipo de formato userInputs a la vez.
-
Un procedimiento de valoración por producto para getRatedProducts
Asigne formato a
userInputspara productos que utilizan un único procedimiento de valoración por producto raíz. -
Asigne formato a
userInputspara productos que utilizan múltiples procedimientos de valoración en la jerarquía de productos o múltiples especificaciones secundarias en cualquier nivel de la jerarquía.
JSON de salida
El servicio devuelve una matriz de uno o más objetos de producto. Consulte el Modelo de estructura JSON de producto para obtener más información acerca de este objeto.
Cualquier userInputs asignado desde el JSON de entrada se agrega al objeto de producto como la clave de userValues de la instancia única del atributo al que se asignó.
Para cada producto, el JSON de salida del cálculo del procedimiento de valoración se agrega al producto con la clave de CalculatedPriceData. Si la fórmula de precios está establecida en el producto, el valor de Price se establecerá en su valor calculado. Si la fórmula asegurada total está establecida en el producto, el valor de TotalInsured se establece en su valor calculado.
En este ejemplo, la fórmula de precios se establece en el producto, pero la fórmula asegurada total no. El CalculatedPriceData se agrega a los resultados del procedimiento de valoración, luego el precio se calcula basándose en la fórmula. La fórmula asegurada total no aparece en los datos, ni tampoco 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 Key
La opción includeFilterAttrValues coloca la matriz de productos en un nodo de ratedProducts y agrega un resultado de filterAttrValues junto.
{
"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": {
...
}
},
{
...
}
}
}
}Cada atributo filtrable se agrega al objeto con la clave establecida en el código de atributo. El valor de cada atributo de filtro es un objeto que contiene lo siguiente:
Clave |
Valor |
|---|---|
|
El nombre del atributo. |
|
El nombre de la categoría. |
|
La lista de posibles valores del producto en la matriz. |
|
El tipo de datos del atributo, como Texto o Divisa. |
Impuestos y tasas
Si los impuestos y las comisiones utilizan el servicio, los impuestos y las comisiones calculados aparecen en un registro JSON de tres formas distintas:
-
Si el registro calculó impuestos y comisiones, se almacenan como una lista en el campo
taxesAndFees.{ "taxesAndFees": [{ "Id": 1, "calculatedAmount": 10, "Type__c": "Tax" }, { "Id": 2, "calculatedAmount": 15, "Type__c": "Fee" }] } -
Si el registro calculó impuestos para sí mismo o sus secundarios, la suma de los impuestos calculados para sí mismo y sus secundarios se almacena en el campo
taxAmount.{ "taxAmount”: 25 // 10 from self, 15 from children} -
Si el registro calculó comisiones sobre sí mismo o sus secundarios, la suma de las comisiones calculadas sobre sí mismo y sus secundarios se almacena en el campo
feeAmount.{ "feeAmount”: 30 // 15 from self, 15 from children}
Un resultado JSON de muestra, con impuestos y tarifas en los registros secundarios así como la raíz, tendrá un aspecto similar a este:
{
"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
}]
}
}
Clasificación por estrellas
Puede utilizar la entrada attributeFilters para filtrar productos basándose en puntuajes, creados como atributos por un modelador de productos.
- Un procedimiento de valoración por producto para getRatedProducts
Asigne formato aInsProductService:getRatedProducts userInputspara productos que utilizan un único procedimiento de valoración por producto raíz. - Múltiples procedimientos de valoración por producto o múltiples especificaciones en cualquier nivel para getRatedProducts
Asigne formato aInsProductService:getRatedProducts userInputspara productos que utilizan múltiples procedimientos de valoración en la jerarquía de productos o múltiples especificaciones secundarias en cualquier nivel de la jerarquía.
