Vous êtes ici :
InsClaimService:createUpdateClaim
Utilisez ce service pour créer ou mettre à jour une réclamation.
Fonctionnement
Le produit Salesforce Claims prend en charge le modèle d'objet existant Vlocity (objets personnalisés dans un package géré) et le nouveau modèle d'objet Salesforce (objets Salesforce standard). Le modèle Vlocity prend en charge la relation Actif → InsuranceClaim entre les polices et les déclarations. Le modèle Salesforce prend en charge la relation Police d'assurance → Déclaration entre les polices et les déclarations.
-
Récupère un JSON prétransformé appelé par le
inputKey. Le service vérifie ensuite l'élémentpolicyIddans le JSON d'entrée pour déterminer si le service crée une réclamation Vlocity ou Salesforce FSC :-
Si
policyIdappartient à un enregistrement Actif, le service crée des objets de réclamation Vlocity :InsuranceClaim__c,InsuranceClaimInvolvedInjury__c,InsuranceClaimInvolvedProperty__cetInsuranceClaimPartyRelationship__c. -
Si
policyIdappartient à un enregistrementInsurancePolicy, le service crée les objets de réclamation Salesforce FSC suivants :Claim,ClaimItemetClaimParticipant. -
Si l'élément
policyIdn'est pas disponible dans le JSON d'entrée ou si sa valeur est vide, l'option distanteisAssetInsuranceClaimest cochée. Si sa valeur esttrue, le service crée des objets de réclamation Vlocity, sinon il crée des objets de réclamation FSC. SipolicyIdn'a aucune valeur et queisAssetInsuranceClaimn'est pas défini, la valeur par défaut deisAssetInsuranceClaimestfalse.
-
-
Si aucun
claimIdn'est transmis, le service crée un objet réclamation.Si un
claimIdest transmis, le service met à jour l'objet réclamation. -
Si l'
generateClaimNumberou l'uniqueIdGeneratorObjectSetting, ou les deux options, sont définies, le service les utilise pour créer unclaimNumber(champ Nom).La meilleure pratique consiste à attribuer un numéro de réclamation unique à chaque réclamation. Utilisez des options distantes pour respecter cette recommandation et assurez-vous que tous les workflows personnalisés génèrent des valeurs claimNumber uniques. Si aucune valeur unique n'est configurée, le système définit les numéros de toutes les réclamations sur la même valeur.
-
Renvoie
claimId,policyHolderClaimantId(oupolicyholderClaimParticipantIdsi c'est une réclamation FSC) et le nœudinvolvedItemsdans le JSON de sortie.
Options distantes
Option |
Description |
|---|---|
|
Obligatoire. Récupère la liste des structures JSON prétransformées qui contiennent les informations dont le service a besoin. Selon le
|
|
Facultatif. Si le Si le |
|
Facultatif. Si |
|
Facultatif. Si Si le service détecte plusieurs paramètres, il renvoie une erreur. Si le service trouve un paramètre, il utilise ce paramètre. Si |
|
Facultatif. Détermine si le service crée une réclamation Vlocity ou une réclamation Salesforce FSC.
|
JSON d'entrée (modèle d'objet de réclamation Salesforce FSC)
Ce modèle est applicable dans l'un des deux cas suivants :
-
La
policyIDclaimJson appartient à un objet InsuranceClaim. -
La valeur de l'option distante
isAssetInsuranceClaimestfalse.RemarqueL'option de télécommande
isAssetInsuranceClaimest appliquée uniquement lorsquepolicyIdn'est pas présent dans le JSON d'entrée ou lorsqu'il contient une valeur vide. De plus, lorsquepolicyIdn'a aucune valeur et queisAssetInsuranceClaimn'est pas définie, la valeur par défaut deisAssetInsuranceClaimestfalse.
Le service utilise le inputKey pour obtenir un JSON prétransformé à utiliser en entrée. Ce service peut également extraire directement la spécification de l'article assuré du produit et créer une partie ou une propriété assurée.
Dans cet exemple, inputKey = claimJson.
Voici un exemple de JSON d'entrée pour une réclamation 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 sortie
Voici un exemple de JSON de sortie pour une réclamation 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 d'entrée (modèle d'objet Vlocity Claim)
Ce modèle est applicable dans l'un des deux cas suivants :
-
La
policyIDdans claimJson appartient à un objet Actif. -
La valeur de l'option distante
isAssetInsuranceClaimesttrue.RemarqueL'option de télécommande
isAssetInsuranceClaimest appliquée uniquement lorsquepolicyIdn'est pas présent dans le JSON d'entrée ou lorsqu'il contient une valeur vide. De plus, lorsquepolicyIdn'a aucune valeur et queisAssetInsuranceClaimn'est pas définie, la valeur par défaut deisAssetInsuranceClaimestfalse.
Le service utilise le inputKey pour obtenir un JSON prétransformé à utiliser en entrée. Ce service peut également extraire directement la spécification de l'article assuré du produit et créer une partie ou une propriété assurée.
Dans cet exemple, inputKey = claimJson.
Entrée |
Description |
|---|---|
|
|
|
Les éléments d'entrée dans la structure JSON :
|
|
La liste des entrées de biens et de blessures. Ce paramètre d'entrée fait partie de claimJSON. Propriété
Blessure
|
Pour claimantPartyRelationshipTypeID et claimantPartyRelationshipTypeName, vous avez besoin d'un seul de ces deux éléments.
Pour claimantPartyName et claimantPartyID, vous avez besoin d'un seul de ces deux éléments.
Vous devez avoir un package de chacune de ces entrées qui correspondent.
S'il s'agit d'une nouvelle combinaison, elle insère un enregistrement. Si ce n'est pas une nouvelle combinaison, elle utilise l'enregistrement existant pour la combinaison.
La sortie est un claimantId (pas un partyId).
Voici le format du JSON d'entrée pour une réclamation 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 sortie
Voici le format du JSON de sortie pour une réclamation 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>
}
]
}
}Exemple d'interface (modèle d'objet Vlocity Claim)
{
"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
}
}
}