您在此处:
InsClaimService:createUpdateClaim
使用此服务创建或更新索赔。
工作原理
Salesforce 索赔产品支持现有 Vlocity 对象模型(受管软件包中的自定义对象)和新 Salesforce 对象模型(标准 Salesforce 对象)。Vlocity 模型支持保单和索赔之间的资产 → 保险索赔关系。Salesforce 模型支持保单和索赔之间的保险单 → 索赔关系。
-
获取
inputKey调用的预转换 JSON。然后,服务检查输入 JSON 中的policyId元素,以确定服务是创建 Vlocity 还是 Salesforce FSC 声明:-
如果 ⁇
policyId⁇ 属于 ⁇ 资产 ⁇ 记录, ⁇ service ⁇ 会创建 Vlocity 请求对象 -InsuranceClaim__c、InsuranceClaimInvolvedInjury__c、InsuranceClaimInvolvedProperty__c和InsuranceClaimPartyRelationship__c。 -
如果
policyId⁇ 属于某个InsurancePolicy记录,服务会创建这些 Salesforce FSC 索赔对象:Claim、ClaimItem和ClaimParticipant。 -
如果
policyId参数在输入 JSON 中不可用或它的值为空,则选中远程选项 ⁇isAssetInsuranceClaim⁇ 。如果值为true,服务会创建 Vlocity 声明对象,否则会创建 FSC 声明对象。如果policyId没有值并且未设置isAssetInsuranceClaim,isAssetInsuranceClaim的默认值是false。
-
-
如果没有传入
claimId,服务会创建索赔对象。如果传递了
claimId,服务会更新索赔对象。 -
如果设置了
generateClaimNumber或uniqueIdGeneratorObjectSetting或这两个选项,服务会使用它们来创建claimNumber(名称字段)。作为最佳实践,为每个索赔分配一个唯一的索赔编号。使用远程选项满足此建议,并确保任何自定义工作流生成唯一的 claimNumber 值。如果未配置唯一值,系统会将所有索赔的索赔编号设置为相同值。
-
返回输出 JSON 中的
claimId、policyHolderClaimantId(或policyholderClaimParticipantId,如果是 FSC 请求)和involvedItems节点。
远程选项
选项 |
说明 |
|---|---|
|
必需。 获取包含服务所需信息的预转换 JSON 结构的列表。根据
|
|
可选。 如果传递了 如果 |
|
可选。 如果 |
|
可选。 如果 如果服务找到多个设置,服务将返回错误。 如果服务找到一个设置,服务会使用该设置。 如果 |
|
可选。 确定服务是创建 Vlocity 声明还是 Salesforce FSC 声明。
|
输入 JSON(Salesforce FSC 索赔对象模型)
此模型适用于以下两种情况之一:
-
claimJson 中的
policyID属于 InsuranceClaim 对象。 -
isAssetInsuranceClaim远程选项的值为false。
服务使用该inputKey来获取预转换的 JSON 用作输入。此服务也可以直接从产品获取保险项目规格,并创建保险方或财产。
在本例中,inputKey = claimJson。
以下是 Salesforce FSC 声明的输入 JSON 示例:
{
"claimJson": {
"claimAttributes": {
"amountDeductible": "500.00"
},
"claimPropertyItems": {
"autoClaimInvolvedVehicle": [
{
"claimParticipantRoles": "First Party Claimant; Insured",
"insurancePolicyParticipantId": "0ao5w0000000Cl7AAE",
"contactId": null,
"accountId": null,
"insuredItemId": "0YW5w0000000HLKGA2",
"additionalFields": {},
"productCode": "autoClaimInvolvedVehicle",
"avMake": "Jeep",
"avModel": "Wrangler",
"avLicNum": "49J9384",
"avLicState": "CA",
"avYear": "2019",
"avColor": "Red",
"claimInsuredProp": true,
"claimEstimate": null,
"claimPropertyLoc": null,
"claimSeverity": null,
"claimDamage": "Front End Damage",
"claimDamageLoc": null,
"claimDrivable": false
},
{
"claimParticipantRoles": "Third Party Claimant",
"insurancePolicyParticipantId": null,
"contactId": "0ao5w0000000J47AX5",
"accountId": null,
"insuredItemId": null,
"additionalFields": {},
"productCode": "autoClaimInvolvedVehicle",
"avMake": "Audi",
"avModel": "A5",
"avLicNum": "48H03949",
"avLicState": "WA",
"avYear": "2015",
"avColor": "Blue",
"claimInsuredProp": false,
"claimEstimate": null,
"claimPropertyLoc": null,
"claimSeverity": null,
"claimDamage": "Rear End Damage",
"claimDamageLoc": null,
"claimDrivable": false
}
]
},
"claimPartyItems": {
"claimInjuredPerson": [
{
"claimParticipantRoles": "Third Party Claimant",
"contactId": "0ao5w0000000J47AX5",
"accountId": null,
"insurancePolicyParticipantId": null,
"additionalFields": {},
"productCode": "claimParticipantPerson",
"injDescription": "Whiplash"
}
],
"additionalClaimParticipants": [
{
"Id": null,
"insurancePolicyParticipantId": null,
"contactId": null,
"accountId": "0015g00000H480EAAR",
"claimParticipantRoles": "Witness",
"additionalFields": {}
}
]
},
"additionalFields": {},
"policyholderClaimParticipantRole": "Insured",
"policyholderInsurancePolicyParticipantId": "0ao5w0000000Cl7AAE",
"policyId": "0YT5w0000000ieyGAA",
"lossDate": "2021-03-29T16:00:00.000Z",
"productCode": "autoClaimProduct"
}
} 输出 JSON
以下是 Salesforce FSC 声明的输出 JSON 示例:
{
"CreateUpdateClaimRemoteAction": {
"involvedItems": [
{
"insuredItemId": "0YW5w0000000HLKGA2",
"claimItemId": "0dq5w0000008PrNAAU",
"accountId": "0035w000034fL4YAK",
"contactId": "0035w000039cfL2AAI",
"insurancePolicyParticipantId": "0ao5w0000000Cl7AAE",
"claimParticipantRoles": "First Party Claimant; Insured",
"claimParticipantId": "0aS5w00000007r3EAA"
},
{
"insuredItemId": null,
"claimItemId": "0dq5w0000008PrNAAU",
"accountId": null,
"contactId": "0035w000039cfL2AAI",
"insurancePolicyParticipantId": "0ao5w0000000Cl7AAE",
"claimParticipantRoles": "Third Party Claimant",
"claimParticipantId": "0aS5w00000004K59dD"
}
],
"policyholderClaimParticipantId": "0ao5w0000000Cl7AAE",
"claimId": "0Zk5w0000000IOVCA2"
},
"policyTermIds": [
"a6Q5w0000002x6oEAA",
"a6Q5w0000002x6pEAA",
"a6Q5w0000002x6qEAA",
"a6Q5w0000002x6rEAA",
"a6Q5w0000002x6sEAA",
"a6Q5w0000002x6tEAA"
]
}输入 JSON(速度索赔对象模型)
此模型适用于以下两种情况之一:
-
claimJson 中的
policyID属于资产对象。 -
isAssetInsuranceClaim远程选项的值为true。
服务使用该inputKey来获取预转换的 JSON 用作输入。此服务也可以直接从产品获取保险项目规格,并创建保险方或财产。
在本例中,inputKey = claimJson。
输入 |
描述 |
|---|---|
|
|
|
JSON 结构中的输入元素:
|
|
财产和伤害输入的列表。该输入参数是 claimJSON 的一部分。 属性
受伤
|
对于claimantPartyRelationshipTypeID和claimantPartyRelationshipTypeName,您只需要这两个元素中的一个。
对于claimantPartyName和claimantPartyID,您只需要这两个元素中的一个。
您必须有一个匹配的输入软件包。
如果是新组合,它会插入记录。如果不是新组合,它会使用该组合的现有记录。
输出是claimantId(不是partyId)。
以下是 Vlocity 声明的输入 JSON 的格式:
{
"input": {
"claimJson": {
"claimAttributes": {
"amountDeductible": <Decimal>
},
"claimPropertyItems": {
"homeUnit": [
{
"Id": <Id>,
"claimantPartyRelationshipTypeName": <String>,
"claimantPartyRelationshipTypeId": <Id>,
"claimantPartyName": <String>,
"claimantPartyId": <Id>,
"insuredItemId": <Id>,
"additionalFields": {},
"productCode": <String>,
"productName": <String>,
"productId": <Id>
}
],
"claimClaimantPerson": [
"additionalFields": {
"Name": <String>
},
"productCode": <String>,
"persPhone": <String>,
"persLastName": <String>,
"persName": <String>,
"persFirstName": <String>,
"persEmail": <String>,
"claimInjury": <String>,
"claimPartyRelationshipTypeName": <String>,
"claimPartyRelationshipTypeId": <Id>,
"partyName": <String>
"partyId": <Id>
]
},
"additionalFields": {},
"policyHolderPartyRelationshipType": <String>,
"policyHolderPartyRelationshipTypeId": <Id>,
"policyHolderPartyName": <String>,
"policyHolderPartyId": <Id>,
"policyId": <Id>,
"policyNumber": <String>,
"lossDate": <Date>,
"productCode": "deluxeHomeowners",
"productName": "Deluxe Homeowners",
"productId": <Id>
}
}
}输出 JSON
以下是 Vlocity 声明的输出 JSON 的格式:
{
"output": {
"claimId": <String>,
"policyHolderClaimantId": <Id>,
"involvedItems": [
{
"insuredItemId": <Id>,
"claimantPartyAccountName": <String>,
"claimantPartyContactName": <String>,
"claimantPartyId": <Id>,
"claimantId": <Id>,
"involvedItemId": <Id>
},
{
"heldProductRelationshipId": <Id>,
"claimantPartyAccountName": <String>,
"claimantPartyContactName": <String>,
"claimantPartyId": <Id>,
"claimantId": <Id>,
"involvedInjuryId": <Id>
}
]
}
}示例界面(速度索赔对象模型)
{
"input": {
"claimJson": {
"claimPropertyItems": {
"claimVehicle": [
{
"insuredItemId": null,
"claimantPartyId":null,
"claimantPartyName":null,
"claimantPartyRelationshipTypeId":null,
"claimantPartyRelationshipTypeName":null,
"additionalFields": {},
"productCode": "claimVehicle",
"productName": "Damaged Vehicle",
"productId": "01t3i0000001cWAAAY",
"autoBodyType": null,
"autoColor": null,
"autoLicNum": null,
"autoLicState": null,
"autoMake": null,
"autoModel": null,
"autoVIN": null,
"autoYear": null,
"claimDamage": null,
"claimDamageLoc": null,
"claimDrivable": false,
"claimImage": null,
"claimInsuredProp": false,
"claimEstimate": null,
"claimPropertyLoc": null,
"claimSeverity": null
}
]
},
"claimPartyItems": {
"claimWitness": [
{
"heldProductRelationshipId": null,
"partyId": null,
"partyName": null,
"claimPartyRelationshipTypeId":null,
"claimPartyRelationshipTypeName":null,
"additionalFields": {},
"productCode": "claimWitness",
"productName": "Witness",
"productId": "01t3i0000001cWCAAY",
"claimRel": null,
"claimStatement": null,
"claimTestify": false,
"persPhone": null,
"persSalutation": null,
"persAddress": null,
"persBirthdate": null,
"persEmail": null,
"persFirstName": null,
"persLastName": null,
"persMiddleName": null,
"persName": null
}
],
"claimInjuredPerson": [
{
"heldProductRelationshipId": null,
"partyId": null,
"partyName": null,
"claimPartyRelationshipTypeId":null,
"claimPartyRelationshipTypeName":null,
"additionalFields": {},
"productCode": "claimInjuredPerson",
"productName": "Injured Person",
"productId": "01t3i0000001cWEAAY",
"claimCarrier": null,
"claimInjury": null,
"claimPhysician": null,
"claimPolicyNumber": null,
"claimRel": null,
"claimStatement": null,
"claimTreatLoc": null,
"claimInsuredProp": false,
"claimEstimate": null,
"claimSeverity": null,
"persAddress": null,
"persBirthdate": null,
"persEmail": null,
"persFirstName": null,
"persLastName": null,
"persMiddleName": null,
"persName": null,
"persPhone": null,
"persSalutation": null,
"claimantPartyRelationshipTypeId":null
}
],
"claimDriver": [
{
"heldProductRelationshipId": null,
"partyId": null,
"partyName": null,
"claimPartyRelationshipTypeId":null,
"claimPartyRelationshipTypeName":null,
"additionalFields": {},
"productCode": "claimDriver",
"productName": "Driver",
"productId": "01t3i0000001cWBAAY",
"persAddress": null,
"Birthdate": null,
"persEmail": null,
"First Name": null,
"persIDJuris": null,
"perIDNumber": null,
"persIDType": null,
"LastName": null,
"MiddleName": null,
"NAME": null,
"persPhone": null,
"persSalutation": null,
"claimCarrier": null,
"claimInjury": null,
"claimInsured": false,
"claimPhysician": null,
"claimPolicyNumber": null,
"claimRel": null,
"claimStatement": null,
"claimTestify": false,
"claimTreatLoc": null
}
]
},
"additionalFields": {},
"policyHolderPartyId": null,
"policyHolderPartyName": null,
"policyHolderPartyRelationshipTypeId": null,
"policyHolderPartyRelationshipType": null,
"policyId": null,
"policyNumber": null,
"lossDate": null,
"productCode": "claimPerilAutoCollision",
"productName": "Auto Collision",
"productId": null
}
}
}