Loading
Seguro
InsPolicyService:createUpdatePolicy

InsPolicyService:createUpdatePolicy

Utilice este servicio para crear una nueva póliza de seguros o actualizar una póliza existente con nueva información.

Este servicio se puede utilizar con Salesforce Financial Services Cloud para la compatibilidad de creación de Programación de pagos opcional.

Clase: InsPolicyService

Método: createUpdatePolicy

Cómo funciona

  1. El servicio busca el JSON de entrada para el inputKey. El nodo inputKey contiene la información que necesita el servicio para crear o actualizar una política. La información que requiere este servicio incluye:

    • accountId

    • term

    • Registros de productConfigurationDetail

    • Registros de insuredItems (opcional)

    • endDate

    • effectiveDate

  2. Crea un objeto Política (activo).

  3. Si hay una programación de pago existente para la póliza, el servicio devuelve un mensaje de error.

  4. Si hay un pago inicial, se creará una InsurancePolicyTransaction. Además de la creación de la transacción, los datos de desglose de transacciones se rellenan en el objeto de detalles de transacción. Este objeto almacena datos acerca de cuánto contribuye cada activo, participante o cobertura al importe total de transacciones en términos de primas, impuestos y comisiones. Solo se muestran activos, participantes y coberturas con al menos un valor superior a cero para primas, impuestos o comisiones. Debe agregar el objeto de detalles de transacción a la Lista relacionada para transacciones.

  5. Si guarda la programación de pagos, los registros se vincularán al Id. de póliza original de la póliza.

  6. Si los nodos taxesAndfees, taxAmount y/o feeAmount están presentes en el JSON de entrada, se crean los registros de impuestos y/o comisiones.

  7. Devuelve un Id. de política en el JSON de salida si no se supera el servicio un assetId.

    Si se pasa un assetId al servicio en el JSON de entrada, actualiza el activo especificado por el assetId.

  8. SicalculateCommission=true: el servicio llama a InsurancePolicyService.calculateAndSaveCommission, que prepara la entrada para los servicios de InsCommissionService.calculate y InsCommissionService.saveCommissions. Después de que el servicio de cálculo procese la entrada, el servicio de guardado almacena el valor calculado en TotalCommissionAmount.

    • El servicio llama a InsurancePolicyService.calculateAndSaveCommission, que prepara la entrada para los servicios de InsCommissionService.calculate y InsCommissionService.saveCommissions.

    • El tipo de comisión (por ejemplo, Comisión o Bonificación) se pasa al servicio de InsCommissionService.saveCommissions como commissionType.

    • El estado de la comisión (por ejemplo, Exenta o Pagada) se pasa al servicio de InsCommissionService.saveCommissions como commissionStatus.

    Después de que el servicio de cálculo procese la entrada, el servicio de guardado almacena el valor calculado en TotalCommissionAmount.

Nota
Nota El endDate y el effectiveDate determinan la duración de la póliza. La duración de la primera versión de política puede ser inferior a 365 días o inferior a 366 días en un año bisiesto. Consulte Consideraciones y limitaciones para pólizas de seguros.

Impuestos y tasas

Este es el funcionamiento de este servicio si se utilizan impuestos y comisiones:

  • Si se especifica el campo taxesAndFees en un registro JSON, persiste un registro AssetPricingAdjustment__c correspondiente para cada elemento de la lista de taxesAndFees.

  • Si el campo taxAmount se especifica en un registro JSON, el campo TaxAmount__c se establece como el valor del campo taxAmount en el AssetItem creado.

  • Si el campo feeAmount se especifica en un registro JSON, el campo FeeAmount__c se establece como el valor del campo feeAmount en el AssetItem.

Opciones remotas

Opción

Descripción

assetId

Opcional

El Id. de una política existente que este servicio actualiza basándose en información nueva o actualizada. Se utiliza cuando el servicio necesita actualizar una política existente.

createContactForParticipants

Opcional

true o false

Toma como valor predeterminado true.

Si es false, el servicio no crea registros de contacto.

createInsuredItemsRelationships

true o false

Si esta opción está establecida como verdadera, puede especificar una lista de relaciones instanceKey > parentInstanceKey entre elementos asegurados.

Esta opción admite relaciones de elemento asegurado principal > secundario y principal > secundario > nieto.

createTransaction

Opcional

true o false

Toma como valor predeterminado false.

Si es true, el servicio crea una transacción que se utiliza por los servicios de programación de ingresos.

El servicio también rellena datos de desglose de transacciones en el objeto de detalles de transacción. Muestra datos acerca de cuánto contribuye cada activo, participante y cobertura al importe total de transacciones en términos de primas, impuestos y comisiones. Solo se muestran aquellos activos, participantes y coberturas que tienen al menos un valor distinto de cero para primas, impuestos e importes de comisiones. El objeto de detalles de transacción debe agregarse a la lista relacionada de transacciones.

coolingOffPeriod

Opcional

El número de días que puede retrasar la primera entrada de programación de pago.

Con el periodo de inactividad, la primera fecha de programación de pago de la póliza se calcula como la fecha efectiva + el número de días.

Por ejemplo, existe una frecuencia de pago mensual donde la fecha efectiva es el 5 de enero, y la primera fecha de programación de pago es el 5 de enero. Si aplicamos un periodo de enfriamiento de 14 días, la primera entrada de programación de pago cambia del 5 de enero al 19 de enero. Las fechas de programación de pago mensuales restantes permanecen sin cambios.

Nota
Nota El periodo de enfriamiento debe estar en el intervalo de 1 a 28 días desde la fecha de inicio de la póliza.

effectiveDate

%“AAAA-MM-DD HH:MM:SS” o %OmniScriptDataElement%

La fecha en que la política (o actualización de política) entra en vigor.

Si no hay ningún valor de effectiveDate en el mapa de opciones, el servicio lo busca en el mapa de rootAttributes. Si el servicio no encuentra una effectiveDate allí, utiliza la fecha de hoy.

Si está utilizando el paquete Extensión de Insurance Industries, se ignora el valor de marca de tiempo en la opción effectiveDate. En su lugar, el valor de marca de tiempo de fecha efectiva se establece en 12:00 a.m. de la fecha efectiva seleccionada, y el valor de fecha de caducidad se establece en 11:59 p.m. para la fecha de caducidad seleccionada. La marca de tiempo se establece utilizando la zona horaria especificada del usuario.

generatePolicyNumber

verdadero o falso

Si es true, esta opción utiliza el UniqueIdGenerator para crear un número de póliza exclusivo. Este número se almacena como Asset.SerialNumber.

includePaymentSchedule

Opcional

True si se creará la programación de pagos para la póliza.

El valor predeterminado es false.

includeRevenueSchedule

Opcional

true o false

Si es true, esta opción llama al InsPolicyRevenueScheduleService: Servicio createRevenueSchedule para crear una programación de ingresos o InsPolicyRevenueScheduleService: modifiqueRevenueSchedule si se está actualizando la política.

Si es false, el servicio no crea una programación de ingresos para esta política.

initialPaymentRule

Opcional

Porcentaje, Meses o Días.

initialTransactionName

Opcional

El nombre de la transacción.

El valor predeterminado es utilizar el mismo valor que initialPaymentTransactionType.

initialPaymentTransactionType

Opcional

El tipo de transacción.

El valor predeterminado es Cargo de prima.

initialPaymentValue

Obligatorio si se proporciona el initialPaymentRule.

El valor de Porcentaje, o el número de Meses o Días.

inputKey

Obligatorio.

Un JSON del que este servicio extrae la información necesaria para crear o actualizar una política.

isCreatingPolicyTerms

true o false

Cuando se establece en true, el servicio devuelve un nodo policyTermIds en el JSON de salida.

isFsc

Opcional

True si la póliza que se va a crear es un objeto InsurancePolicy.

El valor predeterminado es false.

Puede especificarpostDataCustomClassName o postDataDRBundleName.

Si no especifica una de estas opciones, el servicio toma como valor predeterminado postDataCustomClassName.

paymentCalculationMethod

Obligatorio si includePaymentSchedule es true.

Sustituye el valor del Método de cálculo de primas de la póliza.

paymentFrequency

Obligatorio si includePaymentSchedule es true.

Sustituye el valor PremiumFrequency de la póliza.

paymentStartDate

Opcional

La fecha de la primera entrada de la programación de pagos.

Predeterminado es la fecha efectiva de la póliza.

paymentType

Obligatorio si includePaymentSchedule es true.

Sustituye el valor del Tipo de pago de prima de la póliza.

postDataCustomClassName

Opcional

Debe especificar esta opción o postDataDRBundleName.

El valor predeterminado se establece en PostInsurancePolicy.

postDataDRBundleName

Opcional

Debe especificar esta opción o postDataCustomClassName.

Si no especifica esta opción, el valor predeterminado es postDataCustomClassName.

transactionType

%OmniScriptDataElement%

Utilizar si includeRevenueSchedule está establecido como verdadero.

Si no se establece ningún valor, toma como valor predeterminado Póliza vendida.

calculateCommission

true o false

Cuando se establece en true, el servicio calcula comisiones para los elementos raíz y guarda el importe total en TotalCommissionAmount.

Cuando se establece en false (el valor predeterminado), el servicio no calcula comisiones.

Nota
Nota

Si establece esta opción como verdadera, el servicio requiere al menos uno de los valores de código de producción o productor: producerId , productionCodeId o productionCodeName.

commissionType

Opcional

Tipo de comisión (por ejemplo, Bonificación o Estándar).

commissionStatus

Opcional

Estado de la comisión (por ejemplo, Pendiente, Pagado o Eximido).

producerId

Opcional

El Id. del productor de procesamiento, es decir, el productor utilizado para recuperar el commissionScheduleId y calcular el importe de la comisión.

Asignado a asignado a InsurancePolicy.ProducerId.

productionCodeId

Opcional

El Id. del código de producción.

Asignado a InsurancePolicy.ProductionCodeId__c.

productionCodeName

Opcional

El nombre del código de producción pasó al servicio InsCommissionService.calculate.

Si no introduce productionCodeId, el servicio utiliza productionCodeName para buscar el productionCodeId. Si introduce ambos valores pero no coinciden, productionCodeId tiene prioridad.

memberPlanIntegrationProcedure

Inicia un procedimiento de integración personalizado basado en la configuración del usuario. Cuando utiliza esta opción, pasa todas las opciones del servicio al procedimiento de integración personalizado y todos los Id. de póliza como entrada para integrar con el objeto, por ejemplo el objeto póliza de seguros con el plan de miembro.

ratingDate

La fecha de valoración que se utilizó para asignar el precio al JSON de entrada.

Nota
Nota No puede pasar una hora específica para ratingField ya que el tipo de campo es Fecha. Por lo tanto, la marca de tiempo de fecha de valoración toma como valor predeterminado las 12:00 am.

term

El término de la política que creará el servicio.

InsPolicyService:createUpdatePolicy solo admite términos de póliza anuales.

useIsPaidFlag

Opcional

Si true con includePaymentSchedule también establecido true, el servicio crea registros de contribución de componentes de póliza para cada entrada de programación de pagos.

El valor predeterminado es falso.

JSON de entrada

Este servicio busca el valor del inputKey.

Para este ejemplo, inputKey = newPolicyJSON.

"newPolicyJSON": {
  "accountId": "001f400000OSHq2AAH",
  "term": "Annual",
  "endDate": "2019-05-14T07:00:00.000Z",
  "effectiveDate": "2018-05-15T07:00:00.000Z",
  "productConfigurationDetail": {
    ...
  },
  "insuredItems": {
    ...
  },
  "additionalFields": {
    "SerialNumber": "AUTO-123",
    "Status": "InForce",
    "vlocityins2__Type__c": "AUTO",
    "vlocityins2__PaymentMethodId__c": "a2Rf40000002NrgEAE"
  },
}

El JSON dentro del inputKey incluye varios pares clave/valor que el servicio necesita para crear o actualizar una política. También incluye el JSON del producto, con precios para los artículos asegurados y la póliza total.

Clave

Valor

accountId

El Id. de cuenta generado para el activo.

additionalFields

Opcional

Pares clave/valor incluyendo cualquier campo de política (activo) que no forme parte del servicio.

endDate

Opcional

La fecha en la que caduca la política.

effectiveDate

La fecha en la que la política entra en vigor.

Si no hay ningún valor de effectiveDate en el mapa de opciones, el servicio lo busca en el mapa de rootAttributes. Si el servicio no encuentra una effectiveDate allí, utiliza la fecha de hoy.

insuredItems

Los pares clave/valor de los elementos asegurados que el servicio utiliza para crear la póliza.

modificationDate

La fecha en que se modificó la política

productConfigurationDetail

Una matriz de registros que siguen el modelo de estructura JSON del producto.

term

El término de la política que creará el servicio.

Los registros de insuredItems para este ejemplo incluyen los elementos asegurados y los valores que el usuario seleccionó para cada uno.

Para este ejemplo, inputKey = quotepolicyJSON.

"quotepolicyJson": {
  "productConfigurationDetail": {
    ...
  }
  "insuredItems": {
    "DRIVER": [{
        "GENDER": "Female",
        "FN": "Joan",
        "AGE": 20,
        "LN": "Smith",
        "instanceKey": "Joan Smith",
        "isPrimary": false
        "isParent": false
      },
      {
        "GENDER": "Male",
        "FN": "John",
        "AGE": 30,
        "LN": "Smith",
        "instanceKey": "John Smith",
        "isPrimary": false
        "isParent": false
      },
      {
        "GENDER": "Male",
        "FN": "Robert",
        "AGE": 30,
        "LN": "Henderson",
        "instanceKey": "Robert Henderson",
        "isPrimary": false
        "isParent": false
      },
      {
        "GENDER": "Female",
        "FN": "Kinsey",
        "AGE": 20,
        "LN": "Schell",
        "instanceKey": "Kinsey Schell",
        "isPrimary": false
        "isParent": false
      }
    ],
    "AUTO": [{
        "autoLicNum": "Lexus",
        "autoModel": "LX250",
        "autoYear": 2015,
        "instanceKey": "2015 Lexus LX250",
        "BodyClass": "Sedan/Saloon",
        "VehicleType": "PASSENGER CAR",
        "isPrimary": true
        "isParent": true
      },
      {
        "autoLicNum": "Honda",
        "autoModel": "Odyssey",
        "autoYear": 2006,
        "instanceKey": "2006 Honda Odyssey",
        "BodyClass": "Minivan",
        "VehicleType": "MULTIPURPOSE PASSENGER VEHICLE (MPV)",
        "isPrimary": true
        "isParent": true                                
      }
    ]
  },
  "accountId": "0011I00000QknfjQAB",
  "opportunityId": "0061I00000AV8gBQAT"
},
"quoteId": "0Q01I000000206USAQ",
"error": "OK"

JSON de salida

El servicio devuelve el Id. de política de la política recién creada.

{
    "policyId": "02if4000001uCZXAA2",
    "error": "OK"
}

Si la opción remota de isCreatingPolicyTerms está establecida como true, se incluye un nodo de policyTermIds. Este es un ejemplo de un nodo policyTermIds:

{  
   "policyId": "02i6g000000h110AAA",
   "policyTermIds": [
    "a5X6g000001LeUUEA0",
    "a5X6g000001LeUVEA0",
    "a5X6g000001LeUWEA0",
    "a5X6g000001LeUXEA0",
    "a5X6g000001LeUYEA0",
    "a5X6g000001LeUZEA0",
    "a5X6g000001LeUaEAK",
    "a5X6g000001LeUbEAK",
    "a5X6g000001LeUcEAK",
    "a5X6g000001LeUdEAK",
    "a5X6g000001LeUeEAK",
    "a5X6g000001LeUfEAK"
  ]
}

Ejemplos

El servicio se utiliza habitualmente en el patrón Presupuesto a póliza de OmniScript.

 
Cargando
Salesforce Help | Article