Usted está aquí:
InsProductService:getRatedProducts
Utilice este servicio para obtener una matriz de uno o más productos, cuyo precio se utiliza mediante 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 rendimiento.
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 recaen 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 producto para crear el JSON de entrada necesario para el procedimiento de valoración.Usted da un formato diferente a los
userInputsdependiendo de la definición del producto y la configuración de la valoración. Para evitar errores, filtre productos que utilizan todos 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 desde el 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.Tenga en cuenta que:
-
Si se configura un único atributo con una regla de atributo Establecer valor y una regla de atributo Establecer valor predeterminado,
getRatedProductssolo aplica la regla de atributo Establecer valor predeterminado. -
Como práctica recomendada, cuando configure expresiones de regla de atributo, no haga referencia a valores de atributo en estructuras de nivel inferior.
-
Opciones remotas
Opción |
Descripción |
|---|---|
|
Cuando se establece el Por ejemplo, una póliza de seguros de vehículos que tiene múltiples conductores asegurados para múltiples vehículos 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 teclas de entrada separadas por comas para incluir en el objeto de producto de salida, dentro del objeto de 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. El 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. |
|
Introduzca cualquier instrucción SOQL válida de Salesforce como el valor para esta opción. Utilice esto cuando necesite este servicio para mirar campos de lista de selección múltiple cuando busque productos. Por ejemplo, la declaración Importante
Elimine cualquier referencia a los campos del 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 los resultados completos 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 que consume 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 valoración agrupando llamadas de procedimientos de valoración por productos utilizando el mismo procedimiento de valoración. 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 como verdadera solo si también establece |
|
Si es verdadero, el servicio devuelve productos sin precios. |
|
“NombreClaseProducto1,NombreClaseProducto2” 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 rendimiento reduciendo los tamaños de pila. Si el procedimiento de valoración que está utilizando se define únicamente a 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 como 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 se establece 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 tiene impuestos calculados sobre sí mismo o sus secundarios, la suma de los impuestos calculados sobre sí mismo y sus secundarios se almacena en el campo
taxAmount.{ "taxAmount”: 25 // 10 from self, 15 from children} -
Si el registro ha calculado comisiones para sí mismo o sus secundarios, la suma de las comisiones calculadas para 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 comisiones en los registros secundarios así como la raíz, tendrá un aspecto parecido 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 valoraciones, creadas 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.
