Usted está aquí:
InsProductService:repriceProduct
Utilice este servicio para asignar precios a un producto utilizando el procedimiento de valoración adjunto a ese producto. Este servicio se suele llamar cuando un usuario selecciona un producto y personaliza su cobertura.
Método: repriceProduct
El servicio toma un objeto de producto en su JSON de entrada y devuelve el producto con precios totales y suma asegurada total. También devuelve el JSON de resultado completo desde el procedimiento de valoración.
Este servicio funciona para una o más partes aseguradas (personas cubiertas por el producto de póliza) y uno o más elementos asegurados (múltiples automóviles en una póliza de auto, por ejemplo).
Este servicio no ejecuta reglas de cobertura opcionales Apto, Obligatorio y Predeterminado al modificar un presupuesto.
Funcionamiento
-
El servicio busca el JSON de entrada para la clave de producto seleccionada, luego recupera su valor. Este objeto contiene un objeto de producto.
-
Utilizando los datos del producto para buscar en Salesforce, el servicio busca el producto y recupera el procedimiento de valoración.
-
El servicio califica el producto con la estructura JSON del producto.
-
El servicio devuelve los objetos de producto con precio total y suma asegurada total. El JSON de salida incluye el JSON de resultado analizado desde el procedimiento de valoración como el valor de
CalculatedPriceData. El servicio también establece precios ytotalSumInsuredsi las fórmulas están establecidas en el producto.
Opciones remotas
Opción |
Descripción |
|---|---|
|
Cuando se establece la Por ejemplo, un presupuesto o póliza de seguros de auto tiene múltiples conductores adjuntos a cada auto asegurado. El auto asegurado tiene un |
|
Establezca esta opción en Omita esta opción para productos que no cumplen todos estos criterios. Para dar formato a |
|
o bien %OmniScriptDataElement% Toma como valor predeterminado la fecha de hoy. |
|
Si esta opción = |
|
El nombre del Asignador de datos de OmniStudio que este servicio utiliza para recuperar información de pólizas (activos). Si está utilizando Salesforce FSC, debe especificar esta opción o |
|
El nombre de la clase personalizada que este servicio utiliza para recuperar información de pólizas (activos). Si está utilizando Salesforce FSC, debe especificar esta opción o |
|
Cadena de pares clave/valor separados por comas que el servicio pasa dentro y fuera del procedimiento de cálculo. Estos pares de clave/valor se incluyen 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. |
|
Toma como valor predeterminado Incluye todos los resultados del procedimiento de cálculo en la clave de |
|
Establezca |
|
Opcional
Establezca Si utiliza Salesforce FSC y establece esta opción como |
|
Lista restringida de identificadores Se utiliza junto con la opción Calcula solo los impuestos y las tarifas asociados con las jurisdicciones proporcionadas. |
taxAndFeeEffectiveDate
|
La fecha efectiva que este servicio utiliza para calcular impuestos y comisiones. Esta opción está separada de la opción de Si se proporciona un valor, el servicio utiliza ese valor. Si no se proporciona un valor y el JSON del producto no es una política, el servicio toma como valor predeterminado la fecha actual. Si no se proporciona el valor y el JSON del producto es una política, el servicio utiliza la fecha de vigencia de la versión de política original. |
withTaxFeeRounding
|
Opcional Si es verdadero, los importes de impuestos y comisiones calculados se redondean a dos decimales utilizando el método de redondeo medio par. La El valor predeterminado es false. |
JSON de entrada
InsProductService: repriceProduct busca un objeto de producto en la clave de selectedProduct en su JSON de entrada. Este objeto contiene las entradas necesarias para el procedimiento de valoración asignadas en los atributos del producto, incluyendo sus especificaciones de cobertura asociadas, especificaciones de artículos asegurados, especificaciones de partes aseguradas y especificaciones de hechos de valoración. Este objeto puede ser creado por otros servicios como getRatedProducts. Incluye el producto raíz, los productos secundarios y los productos nietos. El servicio analiza la estructura del producto y pasa datos al conjunto de expresiones o procedimiento de cálculo. Si los atributos asignados para la valoración no están incluidos en el objeto, el servicio utiliza valores predeterminados establecidos por el administrador del producto.
Este servicio también busca una clave de userInputs en el JSON de entrada, de modo que puede encontrar cualquier factor de valoración que no esté incluido en el nodo selectedProduct. 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 de userInputs a la vez.
JSON de salida
El servicio devuelve la misma estructura JSON que en el nodo selectedProduct con información de precios actualizada. Consulte Modelo de estructura JSON de producto para obtener detalles acerca del contenido y la estructura de este objeto.
Si se utilizan servicios de impuestos y comisiones, el resultado de JSON se mantiene en el registro JSON, de forma similar a la forma en que getRatedProducts escribe en el JSON.
Para cada producto, el JSON de salida del cálculo del procedimiento de valoración se agrega al producto con la clave de CaculatedPriceData. Si la fórmula de precios está establecida en el producto, el valor de price se establece 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.
La estructura bajo CalculatedPriceData incluye asistencia de instancia. Las mediciones de precios se agrupan bajo nivel de instancia.
El JSON de salida incluye un nodo priceDiff a nivel raíz que resume los precios a nivel de instancia. También incluye el campo totalPremiumForTermDiff en el nivel raíz. Este valor es la diferencia entre la prima total original por plazo y la suma entre la prima total por plazo de la nueva versión de póliza y la prima actualizada por plazo de la versión de póliza antigua.
En este ejemplo, la fórmula de precios se establece en el producto, pero la fórmula asegurada total no. El servicio agrega el CalculatedPriceData a los resultados del procedimiento de valoración. El servicio calcula el precio basándose en la fórmula. La fórmula asegurada total no se establece en el producto y no aparece en los datos (tampoco lo hace TotalInsured).
"totalSize": null,
"records": [{
"displaySequence": -1,
"rootProductId": "01t1I000002fuBoQAI",
"rootProductCode": "AUTOROOT",
"timestamp": 1533948385704,
"hasInstanceKeys": true,
"childProductsCount": 8,
"instanceKeyChildren": 2,
"pathFromChild": "[0]",
"pathFromRoot": "[0]",
"Price": 80,
"productId": "01t1I000002fuBoQAI",
"Term__c": "Semi-Annual",
"PricingFormula__c": "SUM(AutoPremium__autoPremium + rentalTotal + medicalTotal + roadsideTotal + dedWaiverTotal + uninsuredMotoristPDTotal + uninsuredMotoristBITotal)",
"IsConfigurable__c": true,
"RecordTypeName__c": "Product",
"IsRecommended__c": false,
"ProductCode": "AUTOROOT",
"Name": "Auto Root",
"Id": "01t1I000002fuBoQAI",
"RawPriceData": [{
"calculationResults": [{
"DRIVER.LN": null,
"DRIVER.FN": null,
"AUTO.instanceKey": "2015 Lexus LX250",
"uninsuredMotoristBITotal": 100,
"uninsuredMotoristPDTotal": 0,
"dedWaiverTotal": 10,
"roadsideTotal": 10,
"medicalTotal": 10,
"rentalTotal": 40,
"comprehensiveTotal": 500,
"ID": "0"
}],
"aggregationResults": {}
},
{
"calculationResults": [{
"DRIVER.LN": null,
"DRIVER.FN": null,
"AUTO.instanceKey": "2006 Honda Odyssey",
"uninsuredMotoristBITotal": 100,
"uninsuredMotoristPDTotal": 0,
"dedWaiverTotal": 10,
"roadsideTotal": 10,
"medicalTotal": 10,
"rentalTotal": 40,
"comprehensiveTotal": 500,
"ID": "1"
}],
"aggregationResults": {}
}
],
"CalculatedPriceData": {
"2015 Lexus LX250": {
"DRIVER.LN": null,
"DRIVER.FN": null,
"AUTO.instanceKey": "2015 Lexus LX250",
"uninsuredMotoristBITotal": 100,
"uninsuredMotoristPDTotal": 0,
"dedWaiverTotal": 10,
"roadsideTotal": 10,
"medicalTotal": 10,
"rentalTotal": 40,
"comprehensiveTotal": 500,
"ID": "0"
},
"2006 Honda Odyssey": {
"DRIVER.LN": null,
"DRIVER.FN": null,
"AUTO.instanceKey": "2006 Honda Odyssey",
"uninsuredMotoristBITotal": 100,
"uninsuredMotoristPDTotal": 0,
"dedWaiverTotal": 10,
"roadsideTotal": 10,
"medicalTotal": 10,
"rentalTotal": 40,
"comprehensiveTotal": 500,
"ID": "1"
}
},
"priceDiff": 0,
"totalPremiumForTermDiff": 0,
"attributeCategories": {
"totalSize": 1,
"records": [{
"displaySequence": 5,
"id": "a1V1I0000007xJSUAY",
"Name": "Alan Health Attributes",
"Code__c": "AHA",
"productAttributes": {
"totalSize": 1,
"records": [{
"code": "ALANDEDUCTIBLE",
"dataType": "text",
"inputType": "text",
"required": false,
"readonly": false,
"disabled": false,
"filterable": true,
"attributeId": "a1W1I000000Bu1jUAC",
"label": "Deductible",
"displaySequence": 2,
"hasRules": false,
"hidden": false,
"values": [{
"readonly": false,
"disabled": false
}],
"userValues": "test",
"parentProductId": "01t1I000002fuBoQAI",
"parentProductCode": "AUTOROOT",
"pathFromChild": "attributeCategories.records[0].productAttributes.records[0]",
"pathFromRoot": "attributeCategories.records[0].productAttributes.records[0]"
}]
}
}]
},
"childProducts": {
...
}- Un procedimiento de valoración por producto para repriceProduct
Asigne formato aInsProductService:repriceProduct 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 repriceProduct
Asigne formato aInsProductService:repriceProduct 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.
