Loading
保险
InsClaimService:createUpdateClaim

InsClaimService:createUpdateClaim

使用此服务创建或更新索赔。

类:InsClaimService

方法:createUpdateClaim

工作原理

Salesforce 索赔产品支持现有 Vlocity 对象模型(受管软件包中的自定义对象)和新 Salesforce 对象模型(标准 Salesforce 对象)。Vlocity 模型支持保单和索赔之间的资产 → 保险索赔关系。Salesforce 模型支持保单和索赔之间的保险单 → 索赔关系。

  1. 获取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。

  2. 如果没有传入claimId,服务会创建索赔对象。

    如果传递了claimId,服务会更新索赔对象。

  3. 如果设置了generateClaimNumber或uniqueIdGeneratorObjectSetting或这两个选项,服务会使用它们来创建claimNumber(名称字段)。

    作为最佳实践,为每个索赔分配一个唯一的索赔编号。使用远程选项满足此建议,并确保任何自定义工作流生成唯一的 claimNumber 值。如果未配置唯一值,系统会将所有索赔的索赔编号设置为相同值。

  4. 返回输出 JSON 中的 claimId、policyHolderClaimantId(或policyholderClaimParticipantId,如果是 FSC 请求)和 involvedItems 节点。

远程选项

选项

说明

inputKey

必需。

获取包含服务所需信息的预转换 JSON 结构的列表。根据policyId,claimJson使用以下任一索赔对象模型:

  • Salesforce FSC 索赔对象模型

  • Vlocity 索赔对象模型

claimId

可选。

如果传递了claimId,服务会更新索赔。

如果claimId未传递,服务会创建索赔。

generateClaimNumber

可选。

如果true,服务会使用该UniqueIdGeneratorService生成唯一密钥,并将Name字段设置为该唯一密钥。

uniqueIdGeneratorObjectSetting

可选。

如果 generateClaimNumber 是 true,并且此参数 = null,服务将查找 Vlocity UniqueId 生成器设置,其中 Object Type = Claim。

如果服务找到多个设置,服务将返回错误。

如果服务找到一个设置,服务会使用该设置。

如果 generateClaimNumber 是 true,并且此参数不 = null,服务会找到 Vlocity UniqueId 生成器设置,其中 Name = <此参数值>,Object Type = Claim。然后,使用该设置生成唯一密钥。

isAssetInsuranceClaim

可选。

确定服务是创建 Vlocity 声明还是 Salesforce FSC 声明。

  • 如果值为 true,服务会创建 Vlocity 请求。

  • 如果值为 false,服务会创建 Salesforce FSC 声明。

输入 JSON(Salesforce FSC 索赔对象模型)

此模型适用于以下两种情况之一:

  • claimJson 中的policyID属于 InsuranceClaim 对象。

  • isAssetInsuranceClaim 远程选项的值为 false。

    备注
    备注

    仅当输入 JSON 中没有 policyId 时,或当它具有空值时,才应用isAssetInsuranceClaim远程选项。此外,当 policyId 没有值并且未设置 isAssetInsuranceClaim 时,isAssetInsuranceClaim 的默认值是 false。

服务使用该inputKey来获取预转换的 JSON 用作输入。此服务也可以直接从产品获取保险项目规格,并创建保险方或财产。

在本例中,inputKey = claimJson。

输入

描述

inputKey = claimJson

claimJSON

JSON 结构中的输入元素:

  • policyholderInsurancePolicyParticipantId:保单持有人的保险参与者的 ID。

  • policyholderClaimParticipantRole:保单持有人索赔参与者的角色列表。在每个值之间插入分号分隔符。

    示例:"Insured;Claimant"

  • lossDate:当索赔配置了时间敏感的属性类(例如滚动和日历年)时必填。如果未提供日期,则不会创建持续时间类型为滚动和日历年的保单条款。

claimPropertyItems 或 claimPartyItems

财产和伤害输入的列表。此输入参数是claimJSON的一部分。

  • insurancePolicyParticipantId:受伤或遭受财产损失的保单参与者的 ID。如果您提供此 ID,服务会使用InsurancePolicyParticipant记录中的相应ContactId和AccountId。如果您提供insurancePolicyParticipantId,您可以省略contactId和accountId。

  • contactId:受伤或遭受财产损失的联系人的 ID。如果索赔人没有保单参与者 ID,请提供contactId。如果您提供此 ID,服务会使用联系人记录中的相应AccountId。如果您提供contactId,您可以省略accountId。

  • accountId:客户的 ID。如果索赔人没有保单参与者 ID,并且您没有提供contactId,请提供accountId。

  • claimParticipantRoles:保单持有人索赔参与者的角色列表。在每个值之间插入分号分隔符。

    示例:"Insured;Claimant"

  • insuredItemId:该输入接受 InsurancePolicyAsset 记录的 ID。

additionalClaimParticipants

其他索赔参与者的列表。此输入参数是claimJSON的一部分。

指定至少一个 ID 字段:insurancePolicyParticipantId、contactId, 或 accountId。

  • insurancePolicyParticipantId:此声明中其他参与者的 ID。如果您提供此 ID,服务会使用InsurancePolicyParticipant记录中的相应ContactId和AccountId。如果您提供insurancePolicyParticipantId,您可以省略contactId和accountId。

  • contactId:作为此索赔的其他参与者的联系人的 ID。如果您提供此 ID 但未提供insurancePolicyParticipantId,服务会使用联系人记录中的相应AccountId。如果您提供contactId,您可以省略accountId。

  • accountId:客户的 ID。

  • claimParticipantRoles:索赔参与者角色的列表。在每个值之间插入分号分隔符。

    示例:"Claimant;Payee;Witness"

以下是 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。

    备注
    备注

    isAssetInsuranceClaim 远程选项仅在输入 JSON 中不存在policyId或为空值时应用。此外,当 policyId 没有值并且未设置 isAssetInsuranceClaim 时,isAssetInsuranceClaim 的默认值是 false。

服务使用该inputKey来获取预转换的 JSON 用作输入。此服务也可以直接从产品获取保险项目规格,并创建保险方或财产。

在本例中,inputKey = claimJson。

输入

描述

inputKey = claimJson.

claimJSON

JSON 结构中的输入元素:

  • policyHolderPartyId:基于相关方对象 (Party__c) ID 的相关方 ID。

  • policyHolderPartyName:相关方名称基于相关方对象(Party__c)的名称。它必须是现有Party__c记录的名称。

  • policyHolderPartyRelationshipTypeId:基于 Vlocity 相关方关系类型对象 (PartyRelationshipType__c) ID 的关系类型 ID。

  • policyHolderPartyRelationshipType:基于 Vlocity 相关方关系类型对象名称的关系类型名称(PartyRelationshipType__c)。它必须是现有记录的名称PartyRelationshipType__c。

claimPropertyItems 或 claimPartyItems

财产和伤害输入的列表。该输入参数是 claimJSON 的一部分。

属性

  • claimantPartyId

  • claimantPartyName

  • claimantPartyRelationshipTypeId

  • claimantPartyRelationshipTypeName

  • insuredItemId

受伤

  • partyId

  • partyName

  • claimPartyRelationshipTypeId

  • claimPartyRelationshipTypeName

对于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
    }
  }
}
 
正在加载
Salesforce Help | Article