您在此处:
每个产品一个评级程序,适用于 repriceProduct
为每个根产品使用单一评级程序的产品格式化InsProductService:repriceProduct userInputs。
对于在产品层次结构中使用多个评级程序或在层次结构的任何级别使用多个规格的大多数产品,您以不同方式格式化输入 JSON。请参阅每个产品的多个评级程序或任何级别的多个规格。
Winter '23 版本 240.22 之前配置的产品在层次结构的指定级别上可以有多个子规格,没有孙规格,在根级别上只有一个评级程序。对于这些产品,使用与您在早期版本中相同的userInputs格式。
为防止错误,一次仅使用一种类型的userInputs格式运行服务。
从 Summer '20 开始,输入 JSON 接受additionalInputs节点。使用此节点将stage设置为其他输入,以便系统在服务运行时正确评估阶段。
不支持资格规则。
对于任何产品,userInputs对象的目标格式可以从产品视图的 API 选项卡中的服务列表获得。对象密钥采用表单"<ProductCode>.<AttributeCode>",其中 ProductCode 是产品代码,或关联承保范围规格、保险项目规格或评级事实的产品代码。
覆盖范围的<productCode>.isSelected也可用于表达式集或计算程序。
此服务仅支持其记录数组中的一个对象。
{
"selectedProduct": {
"records": [{
"rootProductId": "01t1I000002fuBoQAI",
"rootProductCode": "AUTOROOT",
"timestamp": 1533948385704,
"hasInstanceKeys": true,
"childProductsCount": 8,
"instanceKeyChildren": 2,
"pathFromChild": "[0]",
"pathFromRoot": "[0]",
"attributeCategories": {
...
}
"childProducts": {
...
}
"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": [{
"aggregationResults": {},
"calculationResults": [{
"ID": "0",
"comprehensiveTotal": 500,
"rentalTotal": 40,
"medicalTotal": 10,
"roadsideTotal": 10,
"dedWaiverTotal": 10,
"uninsuredMotoristPDTotal": 0,
"uninsuredMotoristBITotal": 100,
"AUTO.instanceKey": "2015 Lexus LX250",
"DRIVER.FN": "Joan",
"DRIVER.LN": "Smith"
},
{
...
}
]
},
{
"aggregationResults": {},
"calculationResults": [{
"ID": "4",
"comprehensiveTotal": 500,
"rentalTotal": 40,
"medicalTotal": 10,
"roadsideTotal": 10,
"dedWaiverTotal": 10,
"uninsuredMotoristPDTotal": 0,
"uninsuredMotoristBITotal": 100,
"AUTO.instanceKey": "2006 Honda Odyssey",
"DRIVER.FN": "Joan",
"DRIVER.LN": "Smith"
},
{
...
}
]
}
],
"CalculatedPriceData": {
"2006 Honda Odyssey": {
"ID": "4",
"comprehensiveTotal": 500,
"rentalTotal": 40,
"medicalTotal": 10,
"roadsideTotal": 10,
"dedWaiverTotal": 10,
"uninsuredMotoristPDTotal": 0,
"uninsuredMotoristBITotal": 100,
"AUTO.instanceKey": "2006 Honda Odyssey",
"DRIVER.FN": "Joan",
"DRIVER.LN": "Smith"
},
"2015 Lexus LX250": {
"ID": "0",
"comprehensiveTotal": 500,
"rentalTotal": 40,
"medicalTotal": 10,
"roadsideTotal": 10,
"dedWaiverTotal": 10,
"uninsuredMotoristPDTotal": 0,
"uninsuredMotoristBITotal": 100,
"AUTO.instanceKey": "2015 Lexus LX250",
"DRIVER.FN": "Joan",
"DRIVER.LN": "Smith"
}
},
"displaySequence": -1
}]
}
}另一种方法是定义 Omnistudio 数据映射器转换,将传递到输入 JSON 的数据映射到服务需要的形式。此数据映射器的输出 JSON 是 repriceProduct 所需的selectedProducts节点,也是产品视图 API 选项卡中定义的 userInputs JSON。要设置服务以使用数据映射器,请将preTransformBundle选项设置为数据映射器的名称。
