Loading
Försäkring
InsClaimService:createUpdateClaim

InsClaimService:createUpdateClaim

Använd denna tjänst för att skapa eller uppdatera ett anspråk.

Klass: InsClaimService

Metod: createUpdateClaim

Så här fungerar det

Salesforce Claims-produkten har stöd för både den befintliga objektmodellen Vlocity (egna objekt i hanterade paket) och den nya Salesforce-objektmodellen (standardobjekt i Salesforce). Modellen Vlocity har stöd för relationen Tillgång → InsuranceClaim mellan policyer och anspråk. Salesforce-modellen har stöd för InsurancePolicy → Claim-relationen mellan policyer och anspråk.

  1. Får en förtransformerad JSON som anropas av inputKey. Sedan kontrollerar tjänsten policyId i indata-JSON för att avgöra om tjänsten skapar ett Vlocity- eller Salesforce FSC-anspråk:

    • Om policyId hör till en tillgångspost skapar tjänsten objekt för anspråk på plats - InsuranceClaim__c, InsuranceClaimInvolvedInjury__c, InsuranceClaimInvolvedProperty__c och InsuranceClaimPartyRelationship__c.

    • Om policyId hör till en InsurancePolicy skapar tjänsten dessa Salesforce FSC-anspråksobjekt: Claim, ClaimItem och ClaimParticipant.

    • Om policyId inte är tillgängligt i indata-JSON eller om dess värde är tomt kontrolleras isAssetInsuranceClaim för fjärralternativet. Om dess värde är true skapar tjänsten anspråksobjekt för Vlocity, annars skapar den FSC-anspråksobjekt. Om policyId inte har något värde och isAssetInsuranceClaim inte har angetts är standardvärdet för isAssetInsuranceClaim false.

  2. Om ingen claimId skickas in skapar tjänsten ett anspråksobjekt.

    Om en claimId skickas in uppdaterar tjänsten anspråksobjektet.

  3. Om generateClaimNumber eller uniqueIdGeneratorObjectSetting eller båda alternativen har angetts använder tjänsten dem för att skapa ett claimNumber (fält Namn).

    Vi rekommenderar att du tilldelar ett unikt anspråksnummer till varje anspråk. Använd fjärralternativ för att uppfylla denna rekommendation och se till att alla egna arbetsflöden skapar unika claimNumber-värden. Om ett unikt värde inte har konfigurerats anger systemet anspråksnummer för alla anspråk till samma värde.

  4. Returnerar claimId, policyHolderClaimantId (eller policyholderClaimParticipantId om det är ett FSC-anspråk) och involvedItems i JSON för utdata.

Fjärralternativ

Alternativ

Beskrivning

inputKey

Obligatoriskt.

Hämtar en lista över förtransformerade JSON-strukturer som innehåller information som tjänsten behöver. Beroende på policyId använder claimJson någon av följande objektmodeller för anspråk:

  • Salesforce FSC-objektmodell för anspråk

  • Objektmodell för Vlocity Claim

claimId

Valfritt.

Om claimId skickas in uppdaterar tjänsten anspråket.

Om claimId inte skickas in skapar tjänsten ett anspråk.

generateClaimNumber

Valfritt.

Om true används UniqueIdGeneratorService för att skapa en unik nyckel och för att ställa in fältet Name till den unika nyckeln.

uniqueIdGeneratorObjectSetting

Valfritt.

Om generateClaimNumber är true och denna parameter =null hittar tjänsten inställningen Vlocity UniqueId Generator med Object Type = Claim.

Om tjänsten hittar flera inställningar returnerar tjänsten ett fel.

Om tjänsten hittar en inställning använder tjänsten den inställningen.

Om generateClaimNumber är true och denna parameter inte är = null hittar tjänsten inställningen Vlocity UniqueId Generator med Name = < detta parametervärde > och Object Type = Claim. Den använder sedan denna inställning för att skapa den unika nyckeln.

isAssetInsuranceClaim

Valfritt.

Avgör om tjänsten skapar ett Vlocity-anspråk eller ett Salesforce FSC-anspråk.

  • Om värdet är true skapar tjänsten anspråket Vlocity.

  • Om värdet är false skapar tjänsten ett Salesforce FSC-anspråk.

Indata-JSON (Salesforce FSC Claim Object Model)

Denna modell är tillämplig i något av följande två fall:

  • policyID i claimJson tillhör ett InsuranceClaim-objekt.

  • Värdet för fjärralternativet isAssetInsuranceClaim är false.

    Anteckning
    Anteckning

    Alternativet isAssetInsuranceClaim tillämpas endast om policyId inte finns i indata-JSON, eller om det har ett tomt värde. Om policyId inte har något värde och isAssetInsuranceClaim inte har angetts är standardvärdet för isAssetInsuranceClaim false.

Tjänsten använder inputKey för att få en förtransformerad JSON att använda som indata. Denna tjänst kan även ta specifikationen för det försäkrade objektet från produkten direkt och skapa en försäkrad part eller egenskap.

I detta exempel är inputKey = claimJson.

Indata

Beskrivning

inputKey = claimJson

claimJSON

Indataelementen inom JSON-strukturen:

  • policyholderInsurancePolicyParticipantId: ID för försäkringstagarens försäkringsdeltagare.

  • policyholderClaimParticipantRole: En lista över rollerna för försäkringstagarens anspråksdeltagare. Infoga en semikolonavgränsare mellan varje värde.

    Exempel: "Insured;Claimant"

  • lossDate: Krävs när anspråk har konfigurerats med tidskänslig attributklass som Rullande och Kalenderår. Om inget datum anges skapas inte Policyvillkor med varaktighetstypen Rullande och Kalenderår.

claimPropertyItems eller claimPartyItems

Listan över indata för egendom och skador. Denna indataparameter är en del av claimJSON.

  • insurancePolicyParticipantId: ID för policydeltagaren som antingen är skadad eller har drabbats av en egendomsförlust. Om du anger detta ID använder tjänsten lämpliga ContactId och AccountId från InsurancePolicyParticipant. Du kan utelämna contactId och accountId om du tillhandahåller insurancePolicyParticipantId.

  • contactId: ID för kontakten som antingen är skadad eller har drabbats av en egendomsförlust. Ange contactId om den sökande inte har ett ID för policydeltagare. Om du anger detta ID använder tjänsten rätt AccountId från kontaktposten. Du kan utelämna accountId om du tillhandahåller contactId.

  • accountId: ID för kontot. Ange accountId om den sökande inte har ett ID för policydeltagare och du inte anger contactId.

  • claimParticipantRoles: En lista över rollerna för försäkringstagarens anspråksdeltagare. Infoga en semikolonavgränsare mellan varje värde.

    Exempel: "Insured;Claimant"

  • insuredItemId: Denna indata accepterar ID för en InsurancePolicyAsset-post.

additionalClaimParticipants

Listan över ytterligare anspråksdeltagare. Denna indataparameter är en del av claimJSON.

Specificera minst ett av ID-fälten: insurancePolicyParticipantId, contactId, eller accountId.

  • insurancePolicyParticipantId: ID för en ytterligare deltagare i detta anspråk. Om du anger detta ID använder tjänsten lämpliga ContactId och AccountId från InsurancePolicyParticipant. Du kan utelämna contactId och accountId om du tillhandahåller insurancePolicyParticipantId.

  • contactId: ID för den kontakt som är en ytterligare deltagare i detta anspråk. Om du anger detta ID men inte insurancePolicyParticipantId använder tjänsten rätt AccountId från kontaktposten. Du kan utelämna accountId om du tillhandahåller contactId.

  • accountId: ID för kontot.

  • claimParticipantRoles: En lista över anspråksdeltagarens roller. Infoga en semikolonavgränsare mellan varje värde.

    Exempel: "Claimant;Payee;Witness"

Här är ett exempel på indata-JSON för ett Salesforce FSC-anspråk:

{ 
 "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 för utdata

Här är ett exempel på en JSON för utdata för ett Salesforce FSC-anspråk:

{  
 "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"  
  ]
 }

Indata-JSON (objektmodell för Vlocity Claim)

Denna modell är tillämplig i något av följande två fall:

  • policyID i claimJson tillhör ett tillgångsobjekt.

  • Värdet för fjärralternativet isAssetInsuranceClaim är true.

    Anteckning
    Anteckning

    Alternativet isAssetInsuranceClaim tillämpas endast om policyId inte finns i indata-JSON eller om det har ett tomt värde. Om policyId inte har något värde och isAssetInsuranceClaim inte har angetts är standardvärdet för isAssetInsuranceClaim false.

Tjänsten använder inputKey för att få en förtransformerad JSON att använda som indata. Denna tjänst kan även ta specifikationen för det försäkrade objektet från produkten direkt och skapa en försäkrad part eller egenskap.

I detta exempel är inputKey = claimJson.

Indata

Beskrivning

inputKey = claimJson.

claimJSON

Indataelementen inom JSON-strukturen:

  • policyHolderPartyId: Part-ID baserat på objektet ID för part (Party__c).

  • policyHolderPartyName: Partnamn baserat på namnet på partobjektet (Party__c). Det måste vara namnet på en befintlig Party__c.

  • policyHolderPartyRelationshipTypeId: ID för relationstyp baserat på ID för objektet Partrelationstyp för Vlocity (PartyRelationshipType__c).

  • policyHolderPartyRelationshipType: Namn på relationstyp baserat på namnet på objektet Relationstyp för Vlocity-part (PartyRelationshipType__c). Det måste vara namnet på den befintliga PartyRelationshipType__c.

claimPropertyItems eller claimPartyItems

Listan över indata för egendom och skador. Denna indataparameter är en del av claimJSON.

Egenskap

  • claimantPartyId

  • claimantPartyName

  • claimantPartyRelationshipTypeId

  • claimantPartyRelationshipTypeName

  • insuredItemId

Skada

  • partyId

  • partyName

  • claimPartyRelationshipTypeId

  • claimPartyRelationshipTypeName

För claimantPartyRelationshipTypeID och claimantPartyRelationshipTypeName behöver du endast ett av dessa två element.

För claimantPartyName och claimantPartyID behöver du endast ett av dessa två element.

Du måste ha ett paket med en av dessa indata som matchar.

Om det är en ny kombination infogar den en post. Om det inte är en ny kombination använder den den befintliga posten för kombinationen.

Utmatningen är en claimantId (inte en partyId).

Här är formatet för indata-JSON för ett Vlocity-anspråk:

{
  "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 för utdata

Här är formatet för JSON för utdata för ett Vlocity-anspråk:

{  
   "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>
      }
    ]
  }
}

Exempel på gränssnitt (objektmodell för hastighetsanspråk)

{
  "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
    }
  }
}
 
Laddar
Salesforce Help | Article