Você está aqui:
InsClaimService:createUpdateClaim
Use esse serviço para criar ou atualizar uma declaração.
Como funciona
O produto Reivindicações do Salesforce oferece suporte ao modelo de objeto Vlocity existente (objetos personalizados no pacote gerenciado) e ao novo modelo de objeto do Salesforce (objetos padrão do Salesforce). O modelo Vlocity oferece suporte ao relacionamento Ativo → InsuranceClaim entre apólices e reivindicações. O modelo do Salesforce oferece suporte ao relacionamento InsurancePolicy → Claim entre apólices e reivindicações.
-
Obtém um JSON pré-transformado chamado pelo
inputKey. Em seguida, o serviço verifica o elementopolicyIdno JSON de entrada para determinar se o serviço cria uma declaração Vlocity ou Salesforce FSC:-
Se
policyIdpertencer a um registro de Ativo, o serviço criará objetos de declaração do Vlocity:InsuranceClaim__c,InsuranceClaimInvolvedInjury__c,InsuranceClaimInvolvedProperty__ceInsuranceClaimPartyRelationship__c. -
Se
policyIdpertencer a um registro deInsurancePolicy, o serviço criará estes objetos de declaração do Salesforce FSC:Claim,ClaimItemeClaimParticipant. -
Se o elemento
policyIdnão estiver disponível no JSON de entrada ou se seu valor estiver em branco, a opção remotaisAssetInsuranceClaimserá marcada. Se seu valor fortrue, o serviço criará objetos de declaração do Vlocity, caso contrário, ele criará objetos de declaração do FSC. SepolicyIdnão tiver um valor eisAssetInsuranceClaimnão estiver definido, o valor padrão deisAssetInsuranceClaimseráfalse.
-
-
Se nenhuma
claimIdfor passada, o serviço criará um objeto de reivindicação.Se uma
claimIdfor passada, o serviço atualizará o objeto de reivindicação. -
Se os
generateClaimNumberouuniqueIdGeneratorObjectSettingou ambas as opções estiverem definidos, o serviço os usará para criar umclaimNumber(campo Nome).Como prática recomendada, atribua um número de reivindicação exclusivo a cada reivindicação. Use opções remotas para cumprir essa recomendação e garanta que qualquer fluxo de trabalho personalizado gere valores exclusivos de claimNumber. Se um valor exclusivo não estiver configurado, o sistema definirá os números de declaração para todas as declarações com o mesmo valor.
-
Retorna
claimId,policyHolderClaimantId(oupolicyholderClaimParticipantIdse for uma reivindicação FSC) e o nóinvolvedItemsno JSON de saída.
Opções remotas
Opção |
Descrição |
|---|---|
|
Obrigatório. Obtém uma lista de estruturas JSON pré-transformadas que contêm informações de que o serviço precisa. Dependendo da
|
|
Opcional. Se a Se o |
|
Opcional. Se |
|
Opcional. Se Se o serviço encontrar várias configurações, ele retornará um erro. Se o serviço encontrar uma configuração, ele usará essa configuração. Se |
|
Opcional. Determina se o serviço cria uma declaração do Vlocity ou uma declaração do Salesforce FSC.
|
JSON de entrada (modelo de objeto de declaração do Salesforce FSC)
Esse modelo é aplicável em um dos dois casos a seguir:
-
O
policyIDem claimJson pertence a um objeto InsuranceClaim. -
O valor da opção de controle remoto
isAssetInsuranceClaiméfalse.
O serviço usa o inputKey para obter um JSON pré-transformado para usar como entrada. Esse serviço também pode pegar a especificação do item seguro do produto diretamente e criar uma parte segurada ou propriedade.
Neste exemplo, inputKey = claimJson.
Aqui está um exemplo do JSON de entrada para uma declaração do Salesforce FSC:
{
"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 de saída
Aqui está um exemplo de um JSON de saída para uma declaração do Salesforce FSC:
{
"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 de entrada (modelo de objeto de declaração do Vlocity)
Esse modelo é aplicável em um dos dois casos a seguir:
-
O
policyIDem claimJson pertence a um objeto Ativo. -
O valor da opção de controle remoto
isAssetInsuranceClaimétrue.
O serviço usa o inputKey para obter um JSON pré-transformado para usar como entrada. Esse serviço também pode pegar a especificação do item seguro do produto diretamente e criar uma parte segurada ou propriedade.
Neste exemplo, inputKey = claimJson.
Entrada |
Descrição |
|---|---|
|
|
|
Os elementos de entrada na estrutura JSON:
|
|
A lista de entradas de propriedade e de lesão. Esse parâmetro de entrada faz parte de claimJSON. Propriedade
Lesão
|
Para claimantPartyRelationshipTypeID e claimantPartyRelationshipTypeName você precisa apenas de um destes dois elementos.
Para claimantPartyName e claimantPartyID você precisa apenas de um destes dois elementos.
Você deve ter um pacote de uma dessas entradas que correspondam.
Se for uma nova combinação, será inserido um registro. Se não for uma nova combinação, ele usará o registro existente para a combinação.
A saída é uma claimantId (não uma partyId).
Este é o formato do JSON de entrada para uma declaração do Vlocity:
{
"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 de saída
Este é o formato do JSON de saída para uma declaração do Vlocity:
{
"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>
}
]
}
}Interface de amostra (modelo de objeto de declaração do Vlocity)
{
"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
}
}
}
