您在此处:
InsPolicyService:createUpdatePolicy
使用此服务创建新保险单或使用新信息更新现有保险单。
工作方式
-
该服务会搜索输入的 JSON,以查找
inputKey。inputKey节点包含服务创建或更新策略所需的信息。此服务需要的信息包括:-
accountId -
term -
productConfigurationDetail记录 -
insuredItems记录(可选) -
endDate -
effectiveDate
-
-
创建保单(资产)对象。
-
如果保单的现有付款计划,服务将返回错误消息。
-
如果有初始付款,将创建 InsurancePolicyTransaction。除了创建事务之外,事务细分数据会填充到事务详细信息对象中。此对象存储有关每个资产、参与者或承保范围在保费、税和费用方面对交易总额的贡献率的数据。仅显示保费、税或费用至少有一个值大于零的资产、参与者和承保范围。您必须将交易详细信息对象添加到交易的相关列表。
-
如果保存付款计划,记录将链接到保单的原始保单 ID。
-
如果输入 JSON 中存在
taxesAndfees、taxAmount和/或feeAmount节点,则会创建税和/或费用记录。 -
如果服务未通过
assetId,则返回输出 JSON 中的策略 ID。如果服务在输入 JSON 中传递
assetId,它会更新assetId指定的资产。 -
如果
calculateCommission=true:服务调用InsurancePolicyService.calculateAndSaveCommission,这将为InsCommissionService.calculate和InsCommissionService.saveCommissions服务准备输入。计算服务处理输入后,保存服务会将计算值存储在TotalCommissionAmount中。-
服务调用
InsurancePolicyService.calculateAndSaveCommission,为InsCommissionService.calculate和InsCommissionService.saveCommissions服务准备输入。 -
佣金类型(例如佣金或奖金)作为
commissionType传递给InsCommissionService.saveCommissions服务。 -
佣金状态(例如,放弃或已付款)会作为
commissionStatus传递给InsCommissionService.saveCommissions服务。
计算服务处理输入后,保存服务会将计算值存储在
TotalCommissionAmount中。 -
税费
如果使用税费,以下是此服务的工作方式:
如果在 JSON 记录上指定了
taxesAndFees字段,则taxesAndFees列表中的每个项目都会保留相应的AssetPricingAdjustment__c记录。如果在 JSON 记录上指定了
taxAmount字段,则TaxAmount__c字段将设置为创建的AssetItem上的 taxAmount 字段的值。如果在 JSON 记录上指定了
feeAmount字段,则FeeAmount__c字段将设置为AssetItem上feeAmount字段的值。
远程选项
输入 JSON
此服务查找inputKey的值。
对于本示例,inputKey = newPolicyJSON。
"newPolicyJSON": {
"accountId": "001f400000OSHq2AAH",
"term": "Annual",
"endDate": "2019-05-14T07:00:00.000Z",
"effectiveDate": "2018-05-15T07:00:00.000Z",
"productConfigurationDetail": {
...
},
"insuredItems": {
...
},
"additionalFields": {
"SerialNumber": "AUTO-123",
"Status": "InForce",
"vlocityins2__Type__c": "AUTO",
"vlocityins2__PaymentMethodId__c": "a2Rf40000002NrgEAE"
},
}inputKey中的 JSON 包括服务创建或更新策略所需的几个键/值对。它还包括产品 JSON,以及保险项目和总保单的定价。
关键字 |
值 |
|---|---|
|
为资产生成的客户 ID。 |
|
可选。 密钥/值对,包括不属于服务的任何保单(资产)字段。 |
|
可选。 保单到期的日期。 |
|
保单生效的日期。 如果在选项映射中没有 |
|
服务用于创建保单的保险项目的密钥/值对。 |
|
修改策略的日期 |
|
遵循产品 JSON 结构模型的记录阵列。 |
|
服务将创建的策略期限。 |
本示例的insuredItems记录包括保险项目和用户为每个项目选择的值。
对于本示例,inputKey = quotepolicyJSON。
"quotepolicyJson": {
"productConfigurationDetail": {
...
}
"insuredItems": {
"DRIVER": [{
"GENDER": "Female",
"FN": "Joan",
"AGE": 20,
"LN": "Smith",
"instanceKey": "Joan Smith",
"isPrimary": false
"isParent": false
},
{
"GENDER": "Male",
"FN": "John",
"AGE": 30,
"LN": "Smith",
"instanceKey": "John Smith",
"isPrimary": false
"isParent": false
},
{
"GENDER": "Male",
"FN": "Robert",
"AGE": 30,
"LN": "Henderson",
"instanceKey": "Robert Henderson",
"isPrimary": false
"isParent": false
},
{
"GENDER": "Female",
"FN": "Kinsey",
"AGE": 20,
"LN": "Schell",
"instanceKey": "Kinsey Schell",
"isPrimary": false
"isParent": false
}
],
"AUTO": [{
"autoLicNum": "Lexus",
"autoModel": "LX250",
"autoYear": 2015,
"instanceKey": "2015 Lexus LX250",
"BodyClass": "Sedan/Saloon",
"VehicleType": "PASSENGER CAR",
"isPrimary": true
"isParent": true
},
{
"autoLicNum": "Honda",
"autoModel": "Odyssey",
"autoYear": 2006,
"instanceKey": "2006 Honda Odyssey",
"BodyClass": "Minivan",
"VehicleType": "MULTIPURPOSE PASSENGER VEHICLE (MPV)",
"isPrimary": true
"isParent": true
}
]
},
"accountId": "0011I00000QknfjQAB",
"opportunityId": "0061I00000AV8gBQAT"
},
"quoteId": "0Q01I000000206USAQ",
"error": "OK"输出 JSON
该服务返回新创建的策略的策略 ID。
{
"policyId": "02if4000001uCZXAA2",
"error": "OK"
}如果isCreatingPolicyTerms远程选项设置为true,则包含policyTermIds节点。以下是policyTermIds节点的示例:
{
"policyId": "02i6g000000h110AAA",
"policyTermIds": [
"a5X6g000001LeUUEA0",
"a5X6g000001LeUVEA0",
"a5X6g000001LeUWEA0",
"a5X6g000001LeUXEA0",
"a5X6g000001LeUYEA0",
"a5X6g000001LeUZEA0",
"a5X6g000001LeUaEAK",
"a5X6g000001LeUbEAK",
"a5X6g000001LeUcEAK",
"a5X6g000001LeUdEAK",
"a5X6g000001LeUeEAK",
"a5X6g000001LeUfEAK"
]
}