Loading
Seguro
InsClaimService:createUpdateClaim

InsClaimService:createUpdateClaim

Utilice este servicio para crear o actualizar una reclamación.

Clase: InsClaimService

Método: createUpdateClaim

Funcionamiento

El producto Reclamaciones de Salesforce admite tanto el modelo de objetos de Vlocity existente (objetos personalizados en paquete gestionado) como el nuevo modelo de objetos de Salesforce (objetos estándar de Salesforce). El modelo Vlocity admite la relación Activo → InsuranceClaim entre pólizas y reclamaciones. El modelo de Salesforce admite la relación InsurancePolicy → Reclamación entre pólizas y reclamaciones.

  1. Obtiene un JSON pretransformado llamado por el inputKey. A continuación, el servicio comprueba el elemento policyId en el JSON de entrada para determinar si el servicio crea una reclamación de Vlocity o Salesforce FSC:

    • Si policyId pertenece a un registro Activo, el servicio crea objetos de reclamación de Vlocity: InsuranceClaim__c, InsuranceClaimInvolvedInjury__c, InsuranceClaimInvolvedProperty__c y InsuranceClaimPartyRelationship__c.

    • Si policyId pertenece a un registro de InsurancePolicy, el servicio crea estos objetos de reclamación de Salesforce FSC: Claim, ClaimItem y ClaimParticipant.

    • Si el elemento policyId no está disponible en el JSON de entrada o su valor está en blanco, se selecciona la opción remota isAssetInsuranceClaim. Si su valor es true, el servicio crea objetos de reclamación de Vlocity, de lo contrario crea objetos de reclamación de FSC. En caso de que policyId no tenga ningún valor y isAssetInsuranceClaim no esté establecido, el valor predeterminado de isAssetInsuranceClaim es false.

  2. Si no se pasa ninguna claimId, el servicio crea un objeto de reclamación.

    Si se pasa un claimId, el servicio actualiza el objeto de reclamación.

  3. Si las opciones generateClaimNumber o uniqueIdGeneratorObjectSetting o ambas están establecidas, el servicio las utiliza para crear un claimNumber (campo Nombre).

    Como mejor práctica, asigne un número de reclamación exclusivo a cada reclamación. Utilice opciones remotas para cumplir esta recomendación y asegúrese de que cualquier flujo de trabajo personalizado genera valores de claimNumber exclusivos. Si no se configura un valor exclusivo, el sistema establece los números de reclamación para todas las reclamaciones en el mismo valor.

  4. Devuelve claimId, policyHolderClaimantId (o policyholderClaimParticipantId si es una reclamación FSC) y el nodo involvedItems en el JSON de salida.

Opciones remotas

Opción

Descripción

inputKey

Obligatorio.

Obtiene una lista de estructuras JSON pretransformadas que contienen información que necesita el servicio. Dependiendo del policyId, el claimJson utiliza cualquiera de los siguientes modelos de objeto de reclamación:

  • Modelo de objeto de reclamación de Salesforce FSC

  • Modelo de objeto de reclamación de Vlocity

claimId

Opcional.

Si se pasa el claimId, el servicio actualiza la reclamación.

Si no se pasa el claimId, el servicio crea una reclamación.

generateClaimNumber

Opcional.

Si es true, el servicio utiliza el UniqueIdGeneratorService para generar una clave exclusiva y establecer el campo Name en esa clave exclusiva.

uniqueIdGeneratorObjectSetting

Opcional.

Si generateClaimNumber es true y este parámetro =null, el servicio encuentra el parámetro Generador de Vlocity UniqueId con Object Type = Claim.

Si el servicio encuentra múltiples parámetros, el servicio devuelve un error.

Si el servicio encuentra una configuración, el servicio utiliza esa configuración.

Si generateClaimNumber es true y este parámetro no = null, el servicio encuentra Configuración de generador UniqueId de Vlocity con Name = < este valor de parámetro > y Object Type = Claim. A continuación utiliza ese parámetro para generar la clave exclusiva.

isAssetInsuranceClaim

Opcional.

Determina si el servicio crea una reclamación de Vlocity o una reclamación de Salesforce FSC.

  • Si el valor es true, el servicio crea una reclamación de Vlocity.

  • Si el valor es false, el servicio crea una reclamación de Salesforce FSC.

JSON de entrada (modelo de objeto de reclamación de Salesforce FSC)

Este modelo es aplicable en cualquiera de los dos casos siguientes:

  • El policyID en claimJson pertenece a un objeto InsuranceClaim.

  • El valor de la opción remota de isAssetInsuranceClaim es false.

    Nota
    Nota

    La opción remota de isAssetInsuranceClaim se aplica solo cuando el policyId no está presente en el JSON de entrada o cuando tiene un valor en blanco. Además, cuando policyId no tiene ningún valor y isAssetInsuranceClaim no está establecido, el valor predeterminado de isAssetInsuranceClaim es false.

El servicio utiliza el inputKey para obtener un JSON pretransformado para utilizar como entrada. Este servicio también puede tomar la especificación del artículo asegurado del producto directamente y crear una parte o propiedad asegurada.

En este ejemplo, inputKey = claimJson.

Ingreso

Descripción

inputKey = claimJson

claimJSON

Los elementos de entrada en la estructura JSON:

  • policyholderInsurancePolicyParticipantId: El Id. del participante del seguro del tomador de póliza.

  • policyholderClaimParticipantRole: Una lista de las funciones del participante de la reclamación del tomador de póliza. Inserte un delimitador de punto y coma entre cada valor.

    Ejemplo: "Insured;Claimant"

  • lossDate: Obligatorio cuando la reclamación está configurada con clase de atributo sensible al tiempo como Año de calendario y renovable. Si no se proporciona ninguna fecha, no se crean las Condiciones de póliza con el tipo de duración Año de calendario y Corriente.

claimPropertyItems o claimPartyItems

La lista de entradas de propiedades y lesiones. Este parámetro de entrada forma parte de claimJSON.

  • insurancePolicyParticipantId: El Id. del participante de la póliza que está herido o ha sufrido una pérdida de propiedad. Si proporciona este Id., el servicio utiliza los ContactId y AccountId apropiados desde el registro InsurancePolicyParticipant. Puede dejar fuera contactId y accountId si proporciona insurancePolicyParticipantId.

  • contactId: El Id. del contacto que está herido o ha sufrido una pérdida de propiedad. Proporcione contactId si el reclamante no tiene un Id. de participante de póliza. Si proporciona este Id., el servicio utiliza el AccountId apropiado desde el registro Contacto. Puede dejar fuera accountId si proporciona contactId.

  • accountId: El Id. de la cuenta. Proporcione accountId si el reclamante no tiene un Id. de participante de póliza y usted no proporciona contactId.

  • claimParticipantRoles: Una lista de las funciones del participante de la reclamación del tomador de póliza. Inserte un delimitador de punto y coma entre cada valor.

    Ejemplo: "Insured;Claimant"

  • insuredItemId: Esta entrada acepta el Id. de un registro InsurancePolicyAsset.

additionalClaimParticipants

La lista de participantes de reclamaciones adicionales. Este parámetro de entrada forma parte de claimJSON.

Especifique al menos uno de los campos de Id.: insurancePolicyParticipantId, contactId, o accountId.

  • insurancePolicyParticipantId: El Id. de un participante adicional en esta reclamación. Si proporciona este Id., el servicio utiliza los ContactId y AccountId apropiados desde el registro InsurancePolicyParticipant. Puede dejar fuera contactId y accountId si proporciona insurancePolicyParticipantId.

  • contactId: El Id. del contacto que es un participante adicional en esta reclamación. Si proporciona este Id. pero no insurancePolicyParticipantId, el servicio utiliza el AccountId apropiado desde el registro Contacto. Puede dejar fuera accountId si proporciona contactId.

  • accountId: El Id. de la cuenta.

  • claimParticipantRoles: Una lista de las funciones del participante de la reclamación. Inserte un delimitador de punto y coma entre cada valor.

    Ejemplo: "Claimant;Payee;Witness"

Este es un ejemplo del JSON de entrada para una reclamación de 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 salida

Este es un ejemplo de un JSON de salida para una reclamación de 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 Reclamación de ciudad)

Este modelo es aplicable en cualquiera de los dos casos siguientes:

  • El policyID en claimJson pertenece a un objeto Activo.

  • El valor de la opción remota de isAssetInsuranceClaim es true.

    Nota
    Nota

    La opción remota de isAssetInsuranceClaim se aplica solo cuando el policyId no está presente en el JSON de entrada o cuando tiene un valor en blanco. Además, cuando policyId no tiene ningún valor y isAssetInsuranceClaim no está establecido, el valor predeterminado de isAssetInsuranceClaim es false.

El servicio utiliza el inputKey para obtener un JSON pretransformado para utilizar como entrada. Este servicio también puede tomar la especificación del artículo asegurado del producto directamente y crear una parte o propiedad asegurada.

En este ejemplo, inputKey = claimJson.

Ingreso

Descripción

inputKey = claimJson.

claimJSON

Los elementos de entrada en la estructura JSON:

  • policyHolderPartyId: Id. de parte basado en el Id. del objeto Parte (Party__c).

  • policyHolderPartyName: Nombre de parte basado en el nombre del objeto Parte (Party__c). Debe ser el nombre de un registro de Party__c existente.

  • policyHolderPartyRelationshipTypeId: Id. de tipo de relación basado en el Id. del objeto Tipo de relación de parte de ciudad (PartyRelationshipType__c).

  • policyHolderPartyRelationshipType: Nombre de tipo de relación basado en el nombre del objeto Tipo de relación de parte de Vlocity (PartyRelationshipType__c). Debe ser el nombre del registro de PartyRelationshipType__c existente.

claimPropertyItems o claimPartyItems

La lista de entradas de propiedades y lesiones. Este parámetro de entrada forma parte de claimJSON.

Propiedad

  • claimantPartyId

  • claimantPartyName

  • claimantPartyRelationshipTypeId

  • claimantPartyRelationshipTypeName

  • insuredItemId

Lesión

  • partyId

  • partyName

  • claimPartyRelationshipTypeId

  • claimPartyRelationshipTypeName

Para claimantPartyRelationshipTypeID y claimantPartyRelationshipTypeName solo necesita uno de estos dos elementos.

Para claimantPartyName y claimantPartyID solo necesita uno de estos dos elementos.

Debe tener un paquete de una de estas entradas que coincidan.

Si es una nueva combinación, inserta un registro. Si no es un nuevo combinado, utiliza el registro existente para el combinado.

El resultado es un claimantId (no un partyId).

Este es el formato del JSON de entrada para una reclamación de 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 salida

Este es el formato del JSON de salida para una reclamación de 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>
      }
    ]
  }
}

Interfaz de muestra (modelo de objeto Reclamación de ciudad)

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