Loading
Страхование
InsClaimService:createUpdateClaim

InsClaimService:createUpdateClaim

Используйте эту службу для создания или обновления претензии.

Класс: InsClaimService

Метод: createUpdateClaim

Принцип работы

Продукт Salesforce Claims поддерживает как существующую модель объекта Vlocity (настраиваемые объекты в управляемом пакете), так и новую модель объекта Salesforce (стандартные объекты Salesforce). Модель Vlocity поддерживает взаимосвязь «Актив → InsuranceClaim» между полисами и претензиями. Модель Salesforce поддерживает взаимосвязь InsurancePolicy → Claim между полисами и претензиями.

  1. Получает предварительно трансформированный 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.

  2. Если claimId не передается, служба создает объект претензии.

    При передаче claimId служба обновляет объект претензии.

  3. Если задано generateClaimNumber или uniqueIdGeneratorObjectSetting или оба параметра, служба использует их для создания claimNumber (поле «Имя»).

    Рекомендуем назначить уникальный номер претензии каждой претензии. Используйте удаленные параметры для соответствия этой рекомендации и убедитесь, что любые настраиваемые бизнес-правила создают уникальные значения claimNumber. Если уникальное значение не настроено, система устанавливает номера претензий для всех претензий на одинаковое значение.

  4. Возвращает claimId, policyHolderClaimantId (или policyholderClaimParticipantId, если это утверждение FSC) и узел involvedItems в выводном JSON.

Удаленные параметры

Параметр

Описание

inputKey

Обязательно.

Получает список предварительно трансформированных структур JSON, содержащих нужные сведения. В зависимости от policyId, claimJson использует любую из следующих моделей объекта претензии:

  • Модель объекта претензии Salesforce FSC

  • Модель объекта претензии Vlocity

claimId

Дополнительно.

Если claimId передан, служба обновляет требование.

Если claimId не передан, служба создает требование.

generateClaimNumber

Дополнительно.

При true служба использует UniqueIdGeneratorService для создания уникального ключа и установки поля Name на этот уникальный ключ.

uniqueIdGeneratorObjectSetting

Дополнительно.

Если generateClaimNumber является true, а этот параметр =null, служба находит параметр генератора уникальных кодов Vlocity с Object Type = Claim.

Если служба обнаружит несколько параметров, она выдаст ошибку.

Если служба находит один параметр, служба использует этот параметр.

Если generateClaimNumber является true, а этот параметр не = null, служба находит параметр генератора уникальных кодов Vlocity с Name = < это значение параметра > и Object Type = Claim. Потом он использует этот параметр для создания уникального ключа.

isAssetInsuranceClaim

Дополнительно.

Определяет, создает ли служба требование Vlocity или требование Salesforce FSC.

  • Если значение true, служба создает утверждение Vlocity.

  • Если значение false, служба создает требование Salesforce FSC.

JSON ввода (модель объекта претензии Salesforce FSC)

Эта модель применима в любом из следующих двух случаев:

  • policyID в claimJson принадлежит объекту InsuranceClaim.

  • Значение параметра «Удаленный isAssetInsuranceClaim»: false.

    Примечание
    Примечание

    Параметр «Удаленный isAssetInsuranceClaim» применяется только при отсутствии policyId в JSON ввода или пустом значении. Кроме того, если policyId не содержит значения, а isAssetInsuranceClaim не установлен, значение isAssetInsuranceClaim по умолчанию будет false.

Служба использует inputKey для получения предварительно трансформированного JSON для использования в качестве ввода. Эта служба также может получить спецификацию застрахованного элемента из продукта напрямую и создать застрахованную сторону или свойство.

В данном примере inputKey = claimJson.

Ввод

Описание

inputKey = claimJson

claimJSON

Элементы ввода в структуре JSON:

  • policyholderInsurancePolicyParticipantId: Код участника страховки страхователя.

  • policyholderClaimParticipantRole: Список ролей участника претензии страхователя. Вставьте разделитель между каждым значением.

    Пример: "Insured;Claimant"

  • lossDate: Обязательно, если претензия настроена с классом атрибутов, чувствительным к времени, например, скользящий и календарный год. Если дата не указана, условия полиса с типом продолжительности «Скользящий» и «Календарный год» не создаются.

claimPropertyItems или claimPartyItems

Список вводных данных об имуществе и травмах. Этот параметр ввода является частью claimJSON.

  • insurancePolicyParticipantId: Код участника полиса, который либо пострадал, либо понес имущественный ущерб. Если вы предоставите этот код, служба использует соответствующие ContactId и AccountId из записи InsurancePolicyParticipant. contactId и accountId можно пропустить, если вы предоставите insurancePolicyParticipantId.

  • contactId: Код контакта, который либо пострадал, либо понес имущественный ущерб. Предоставьте contactId, если у заявителя нет кода участника полиса. Если вы предоставите этот код, служба использует соответствующие AccountId из записи контакта. При предоставлении contactId accountId можно не указывать.

  • accountId: Код организации. Предоставьте accountId, если у заявителя нет кода участника полиса и вы не предоставите contactId.

  • claimParticipantRoles: Список ролей участника претензии страхователя. Вставьте разделитель между каждым значением.

    Пример: "Insured;Claimant"

  • insuredItemId: Этот ввод принимает код записи InsurancePolicyAsset.

additionalClaimParticipants

Список дополнительных участников заявки-претензии. Этот параметр ввода является частью claimJSON.

Укажите как минимум одно поле кода: insurancePolicyParticipantId, contactId, или accountId.

  • insurancePolicyParticipantId: Код дополнительного участника данной претензии. Если вы предоставите этот код, служба использует соответствующие ContactId и AccountId из записи InsurancePolicyParticipant. contactId и accountId можно пропустить, если вы предоставите insurancePolicyParticipantId.

  • contactId: Код контакта, являющегося дополнительным участником данной претензии. Если вы предоставляете этот код, но не insurancePolicyParticipantId, служба использует соответствующий AccountId из записи контакта. При предоставлении contactId accountId можно не указывать.

  • accountId: Код организации.

  • claimParticipantRoles: Список ролей участника претензии. Вставьте разделитель между каждым значением.

    Пример: "Claimant;Payee;Witness"

Ниже указан пример ввода 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.

    Примечание
    Примечание

    Параметр «Удаленный isAssetInsuranceClaim» применяется только при отсутствии policyId в JSON ввода или пустом значении. Кроме того, если policyId не содержит значения, а isAssetInsuranceClaim не установлен, значение isAssetInsuranceClaim по умолчанию будет false.

Служба использует inputKey для получения предварительно трансформированного JSON для использования в качестве ввода. Эта служба также может получить спецификацию застрахованного элемента из продукта напрямую и создать застрахованную сторону или свойство.

В данном примере inputKey = claimJson.

Ввод

Описание

inputKey = claimJson.

claimJSON

Элементы ввода в структуре JSON:

  • policyHolderPartyId: Код стороны на основе кода объекта стороны (Party__c).

  • policyHolderPartyName: Имя стороны на основе имени объекта Стороны (Party__c). Это должно быть имя существующей записи Party__c.

  • policyHolderPartyRelationshipTypeId: Код типа взаимосвязи на основе кода объекта «Тип взаимосвязи стороны Vlocity» (PartyRelationshipType__c).

  • policyHolderPartyRelationshipType: Имя типа взаимосвязи на основе имени объекта «Тип взаимосвязи стороны Vlocity» (PartyRelationshipType__c). Это должно быть имя текущей записи PartyRelationshipType__c.

claimPropertyItems или claimPartyItems

Список вводных данных об имуществе и травмах. Этот параметр ввода является частью claimJSON.

Свойство

  • claimantPartyId

  • claimantPartyName

  • claimantPartyRelationshipTypeId

  • claimantPartyRelationshipTypeName

  • insuredItemId

Травма

  • partyId

  • partyName

  • claimPartyRelationshipTypeId

  • claimPartyRelationshipTypeName

Для 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
    }
  }
}
 
Загрузка
Salesforce Help | Article