Вы находитесь здесь:
InsClaimService:createUpdateClaim
Используйте эту службу для создания или обновления претензии.
Принцип работы
Продукт Salesforce Claims поддерживает как существующую модель объекта Vlocity (настраиваемые объекты в управляемом пакете), так и новую модель объекта Salesforce (стандартные объекты Salesforce). Модель Vlocity поддерживает взаимосвязь «Актив → InsuranceClaim» между полисами и претензиями. Модель Salesforce поддерживает взаимосвязь InsurancePolicy → Claim между полисами и претензиями.
-
Получает предварительно трансформированный JSON, вызванный
inputKey. Потом служба проверяет элементpolicyIdв JSON ввода, чтобы определить, создает ли служба утверждение Vlocity или Salesforce FSC:-
Если
policyIdпринадлежит записи актива, служба создает объекты претензии 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. Если уникальное значение не настроено, система устанавливает номера претензий для всех претензий на одинаковое значение.
-
Возвращает
claimId,policyHolderClaimantId(илиpolicyholderClaimParticipantId, если это утверждение FSC) и узелinvolvedItemsв выводном JSON.
Удаленные параметры
Параметр |
Описание |
|---|---|
|
Обязательно. Получает список предварительно трансформированных структур JSON, содержащих нужные сведения. В зависимости от
|
|
Дополнительно. Если Если |
|
Дополнительно. При |
|
Дополнительно. Если Если служба обнаружит несколько параметров, она выдаст ошибку. Если служба находит один параметр, служба использует этот параметр. Если |
|
Дополнительно. Определяет, создает ли служба требование Vlocity или требование Salesforce FSC.
|
JSON ввода (модель объекта претензии Salesforce FSC)
Эта модель применима в любом из следующих двух случаев:
-
policyIDв claimJson принадлежит объекту InsuranceClaim. -
Значение параметра «Удаленный
isAssetInsuranceClaim»:false.
Служба использует inputKey для получения предварительно трансформированного JSON для использования в качестве ввода. Эта служба также может получить спецификацию застрахованного элемента из продукта напрямую и создать застрахованную сторону или свойство.
В данном примере inputKey = claimJson.
Ниже указан пример ввода JSON для утверждения 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
Ниже указан пример выводного JSON для претензии 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 ввода (модель объекта претензии Vlocity)
Эта модель применима в любом из следующих двух случаев:
-
policyIDв claimJson принадлежит объекту «Актив». -
Значение параметра «Удаленный
isAssetInsuranceClaim»:true.
Служба использует inputKey для получения предварительно трансформированного JSON для использования в качестве ввода. Эта служба также может получить спецификацию застрахованного элемента из продукта напрямую и создать застрахованную сторону или свойство.
В данном примере inputKey = claimJson.
Ввод |
Описание |
|---|---|
|
|
|
Элементы ввода в структуре JSON:
|
|
Список вводных данных об имуществе и травмах. Этот параметр ввода является частью claimJSON. Свойство
Травма
|
Для claimantPartyRelationshipTypeID и claimantPartyRelationshipTypeName вам нужен только один из этих двух элементов.
Для claimantPartyName и claimantPartyID вам нужен только один из этих двух элементов.
У вас должен быть пакет одного из этих вводных данных, которые совпадают.
Если это новая комбинация, она вставляет запись. Если это не новая комбинация, она использует существующую запись для комбинации.
Результат - claimantId (не partyId).
Ниже указан формат ввода JSON для утверждения 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
Ниже указан формат вывода JSON для утверждения 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>
}
]
}
}Пример интерфейса (модель объекта претензии 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
}
}
}