Usted está aquí:
InsProductService:repriceProduct
Utilice este servicio para asignar un precio a un producto utilizando el procedimiento de valoración adjunto a ese producto. Este servicio se denomina habitualmente 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 automóvil, por ejemplo).
Este servicio no ejecuta reglas de cobertura opcionales Elegibilidad, 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 el precio total y la 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 el precio y eltotalSumInsuredsi las fórmulas están establecidas en el producto.
Opciones remotas
Opción |
Descripción |
|---|---|
|
Cuando se establece el Por ejemplo, un presupuesto o póliza de seguro 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 políticas (activos). Si está utilizando Salesforce FSC, debe especificar esta opción o |
|
El nombre de la clase personalizada que utiliza este servicio para recuperar información de pólizas (activos). Si está utilizando Salesforce FSC, debe especificar esta opción o |
|
Una cadena de pares clave/valor separados por comas que el servicio pasa dentro y fuera del procedimiento de cálculo. Estos pares 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 los resultados completos del procedimiento de cálculo en la clave de |
|
Establezca en |
|
Opcional
Establezca en Si utiliza Salesforce FSC y establece esta opción como |
|
Lista restringida de identificadores Se utiliza junto con la opción Calcula únicamente los impuestos y las tasas asociados con las jurisdicciones proporcionadas. |
taxAndFeeEffectiveDate
|
La fecha efectiva que utiliza este servicio para calcular impuestos y comisiones. Esta opción es independiente 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 efectiva 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 elementos 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, la salida de JSON se mantiene en el registro JSON, de forma similar a como escribe getRatedProducts 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 se establece en el producto, el valor de TotalInsured se establece en su valor calculado.
La estructura bajo CalculatedPriceData incluye compatibilidad de instancia. Las mediciones de precios se agrupan bajo nivel de instancia.
El JSON de salida incluye un nodo de 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 a plazo y la suma entre la prima total a plazo de la nueva versión de póliza y la prima actualizada a 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 está establecida en el producto y no aparece en los datos (tampoco 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.
