您在此处:
InsProductService:repriceProduct
使用此服务,以使用附加到该产品的评级程序为该产品定价。此服务通常在用户选择产品并自定义其覆盖范围时调用。
方法:repriceProduct
服务在其输入 JSON 中获取一个产品对象,并返回具有总定价和总保险金额的产品。它还返回来自评级程序的完整结果 JSON。
此服务适用于一个或多个受保方(保单产品涵盖的人员)和一个或多个受保项目(例如,汽车保单上的多辆汽车)。
此服务在修改报价时不运行资格、必需和默认可选承保范围规则。
工作原理
-
该服务搜索选定产品密钥的输入 JSON,然后检索其值。此对象包含一个产品对象。
-
使用产品数据搜索 Salesforce,服务会找到产品并检索评级程序。
-
服务使用产品 JSON 结构对产品进行评级。
-
该服务返回产品对象,其中包含总价和总保额。输出 JSON 包含来自评级过程的解析结果 JSON,作为
CalculatedPriceData的值。如果在产品上设置了公式,服务还会设置价格和totalSumInsured。
远程选项
选项 |
说明 |
|---|---|
|
在设置 例如,汽车保险报价或保单包含多个附加到每个保险汽车的司机。对于每个 auto+driver 实例,保险汽车有单独的 |
|
将此选项设置为在层次结构的给定级别中具有多个子规格、没有孙规格且只有一个根级别评级程序的产品的 对于不符合所有这些条件的产品,省略此选项。 要格式化此类型产品的 |
|
或 %OmniScriptDataElement% 默认为今天的日期。 |
|
如果此选项 = |
|
此服务用于检索保单(资产)信息的 Omnistudio 数据映射器的名称。 如果您正在使用 Salesforce FSC,您必须指定此选项或 |
|
此服务用于检索保单(资产)信息的自定义类的名称。 如果您正在使用 Salesforce FSC,您必须指定此选项或 |
|
服务传入和传出计算过程的逗号分隔键/值对字符串。 这些键/值对包含在 只有计算程序使用的输入键在结果中具有值。 |
|
默认为 在 |
|
如果您计划使用可选承保范围验证规则,设置为 |
|
可选
设置为 如果您使用 Salesforce FSC 并将此选项设置为 |
|
字符串化 ID 列表 与 仅计算与提供的管辖区相关的税费。 |
taxAndFeeEffectiveDate
|
此服务用于计算税费的生效日期。此选项与用于为产品定价的 ⁇ 如果提供了值,服务会使用该值。 如果未提供值,并且产品 JSON 不是策略,服务将默认设置为今天的日期。 如果未提供值,并且产品 JSON 是策略,服务将使用原始策略版本的生效日期。 |
withTaxFeeRounding
|
可选 如果为真,使用半偶数舍入方法将计算的税费金额舍入到小数点后两位。 默认值为 false。 |
输入 JSON
InsProductService: repriceProduct 在其输入 JSON 的 selectedProduct 键中查找产品对象。此对象包含产品属性中映射的评级程序所需的输入,包括其关联的承保范围规格、被保项目规格、被保方规格和评级事实规格。此对象可由其他服务创建,例如 getRatedProducts。它包括根产品、子产品和孙产品。该服务解析产品结构,并将数据传递到表达式集或计算程序中。如果对象中不包含为评级映射的属性,服务将使用产品管理员设置的默认值。
此服务也会在输入 JSON 中查找userInputs密钥,因此可以找到未包含在selectedProduct节点中的任何评级因素。根据产品定义和评级配置,使用适当的userInputs格式。该服务一次仅接受一种类型的userInputs格式。
输出 JSON
服务返回与具有更新定价信息的selectedProduct节点相同的 JSON 结构。有关此对象的内容和结构的详细信息,请参阅产品 JSON 结构模型。
如果使用税费服务,JSON 输出会保留在 JSON 记录中,类似于getRatedProducts写入 JSON 的方式。
对于每个产品,评级程序计算的输出 JSON 会通过 CaculatedPriceData 密钥添加到产品中。如果在产品上设置了定价公式,price的值将设置为其计算值。如果在产品上设置了总保险公式,TotalInsured值将设置为其计算值。
正在CalculatedPriceData的结构包括实例支持。价格度量分组在实例级别下。
输出 JSON 包括根级别的priceDiff节点,用于汇总实例级价格。它还包括根级别的totalPremiumForTermDiff字段。该值是定期原始总保费与新保单版本定期总保费与旧保单版本定期更新保费之和之差。
在此示例中,定价公式在产品上设置,但总保险公式未设置。该服务会将CalculatedPriceData添加到评级程序的结果中。服务根据公式计算价格。未在产品中设置总保额公式,也不会显示在数据中(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": {
...
}- 每个产品一个评级程序,适用于 repriceProduct
为每个根产品使用单一评级程序的产品格式化InsProductService:repriceProduct userInputs。 - 每个产品的多个评级程序或 repriceProduct 的任何级别的多个规格
使用产品层次结构中的多个评级程序或层次结构中任何级别的多个子规格的产品的格式InsProductService:repriceProduct userInputs。
