Loading
Seguro
InsPolicyService:createPolicyVersion

InsPolicyService:createPolicyVersion

Utilice este servicio para crear una nueva versión de una política existente, mientras mantiene el registro de política existente tal cual.

Este servicio activa la versión de políticas. Todos los cambios en una política se siguen en diferentes versiones de esa política. Puede utilizarlo en modificar política y cancelar procedimientos de integración y OmniScripts de política. También puede utilizar este servicio para restablecer pólizas caducadas y canceladas.

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

Clase: InsPolicyService

Método: createPolicyVersion

Funcionamiento

  1. Toma la assetId o policyId de la política actual y el JSON indicado por el inputKey.

  2. Crea un duplicado de la política original.

  3. Si hay una programación de pagos existente, el servicio actualiza la programación de pagos y crea una entrada de programación de pagos en la fecha efectiva de aprobación. Si useIsPaidFlag es verdadero, todas las entradas de programación de pagos futuras (desde la fecha de entrada en vigor) sin transacciones (para las que el campo de estado es Valid y el campo isPaid no está seleccionado) se actualizan basándose en valores más recientes de prima, impuestos y comisiones. La nueva entrada de programación de pagos contiene los valores ajustados de prima, impuestos y comisiones en base a nuevas primas, impuestos y comisiones y entradas de programación de pagos actualizadas. Del mismo modo, los registros de contribución de componentes de póliza en cada entrada de programación de pagos se actualizan.

  4. El servicio utiliza el Método de cálculo de primas, el Tipo de pago y la Frecuencia de primas de la póliza anterior, así como las primas totales por plazo, la comisión total por plazo y los impuestos totales por plazo de la nueva póliza para generar la programación de pagos modificada. 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 a los importes totales 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.

    Nota
    Nota Método de cálculo de primas, Tipo de pago y Frecuencia de primas no se copian de políticas anteriores y deben pasarse como entradas al servicio a través del JSON.
  5. Si includeRevenueSchedule está establecido como verdadero, llama al servicio de programación de ingresos para modificar la programación de ingresos.

  6. Si es la primera modificación de esta política, el servicio marca el originalVersionId__c y el previousVersionId__c con el mismo assetId. Si esta no es la primera modificación de esta política, el servicio transfiere la OriginalVersionId__c a la nueva versión y marca la assetId anterior a PreviousVersionId__c en la nueva política.

  7. Si los nodos taxesAndFees, taxAmount y/o feeAmount están incluidos en el JSON de entrada, los campos y/o registros de impuestos/tasas correspondientes se crean y se prorratea en la nueva versión de la política.

  8. Si procede, se creará InsurancePolicyTransaction para el ajuste de pago.

  9. Si calculateCommission es 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, y luego acumula el valor y lo agrega al TotalCommissionAmount de la Política original.

  10. Si el indicador de disableAttributeCategories en el servicio de getquotedetail está establecido como true, el servicio omite el nodo attributeCategory de la respuesta y el servicio de createPolicyVersion no crea términos de política. Para asegurarse de que el servicio de createPolicyVersion crea términos de póliza, establezca el indicador de disableAttributeCategories en el en el servicio de getQuoteDetail como falso.
Nota
Nota El servicio también admite aprobaciones de pólizas donde la duración de la versión de póliza original es 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

A continuación le mostramos cómo funciona este servicio para impuestos y comisiones:

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

  • Si el campo taxAmount se especifica en un registro JSON, el campo TaxAmount__c se establecerá en el valor del campo taxAmount en el objeto AssetItem creado.

  • Si el campo feeAmount se especifica en un registro JSON, el campo FeeAmount__c se establecerá en el valor del campo feeAmount en el AssetItem creado.

En lo que respecta a la política actual (nueva creación):

  • Si la política actual tiene un TotalTaxAmount__c, ese valor se prorratea sobre las fechas de vigencia y finalización y se establece en el campo TotalTaxForTerm__c.

  • Si la política actual tiene un TotalFeeAmount__c, ese valor se prorratea sobre las fechas de vigencia y finalización y se establece en el campo TotalFeeForTerm__c.

  • Si el AssetItem de la política actual tiene un TaxAmount__c, ese valor se prorratea entre las fechas de vigencia y finalización y se establece en el campo ProratedTaxAmount__c.

  • Si el AssetItem de la política actual tiene un FeeAmount__c, ese valor se prorratea entre las fechas de vigencia y finalización y se establece en el campo ProratedFeeAmount__c.

Para pólizas ya creadas, este es el modo en que se pasan los impuestos y las comisiones:

  • Si la política anterior tiene un TotalTaxAmount__c, ese valor se prorratea sobre las nuevas fechas de vigencia y finalización y se establece en el campo TotalTaxForTerm__c.

  • Si la política anterior tiene un TotalFeeAmount__c, ese valor se prorratea sobre las nuevas fechas de vigencia y finalización y se establece en el campo TotalFeeForTerm__c.

  • Si los campos AssetItem tienen un TaxAmount__c, ese valor se prorratea entre las nuevas fechas de entrada en vigor y finalización y se establece en el campo ProratedTaxAmount__c.

  • Si los campos de AssetItem en la política anterior tienen un FeeAmount__c, ese valor se prorratea sobre las nuevas fechas de vigencia y finalización y se establece en el campo ProratedFeeAmount__c.

Finalmente, si la opción createTransaction (consulte a continuación) está establecida como true y la nueva versión de política tiene impuestos y comisiones asociados, los campos TaxAmount__c y FeeAmount__c en la transacción creada se establecen como la diferencia entre la nueva política (actual) y las TotalTaxForTerm__c y TotalFeeForTerm__c de la política anterior.

Opciones remotas

Opción

Descripción

assetId o policyId

Obligatorio.

El Id. de la política actual.

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 en true, 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 utilizarán los servicios de programación de ingresos.

effectiveDate

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

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 buscará 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, el valor de marca de tiempo en la opción effectiveDate se ignora. En su lugar, el valor de marca de tiempo de fecha de vigencia se establece en 12:00 a.m. de la fecha de vigencia 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.

getDataCustomClassName

Opcional.

El nombre de la clase personalizada que este servicio utiliza para recuperar información de pólizas (activos).

Si está utilizando Salesforce FSC, debe especificar esta opción o postDataDRBundleName.

El valor predeterminado se establece en GetInsurancePolicy.

getDataDRBundleName

Opcional,

El nombre del Asignador de datos que este servicio utiliza para recuperar información de pólizas (activos).

Si está utilizando Salesforce FSC, debe especificar esta opción o getDataCustomClassName.

  • Si especifica ambos, el servicio utiliza el valor getDataDRBundleName.

  • Si no especifica ninguna, el servicio utiliza el valor predeterminado para getDataCustomClassName (GetInsurancePolicy).

includePaymentSchedule

Opcional.

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

El valor predeterminado es false.

includeRevenueSchedule

Opcional. Solo se utiliza si createTransaction está establecido como true.

true o false

Si es true, esta opción llama a InsPolicyRevenueScheduleService: modificar

inputKey

Obligatorio.

%theJSONyouneed%

isCreatingPolicyTerms

true o false

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

postDataCustomClassName

Opcional.

El nombre de la clase personalizada que este servicio utiliza para guardar la nueva versión de política.

Si está utilizando Salesforce FSC, debe especificar esta opción o postDataDRBundleName.

El valor predeterminado se establece en PostInsurancePolicy.

postDataDRBundleName

Opcional.

El nombre del Asignador de datos que este servicio utiliza para guardar la nueva versión de política.

Si está utilizando SalesForce FSC, debe especificar esta opción o postDataCustomClassName.

  • Si especifica ambos, el servicio utiliza el valor postDataDRBundleName.

  • Si no especifica ninguna, el servicio utiliza el valor predeterminado para postDataCustomClassName (PostInsurancePolicy).

transactionType

Opcional. Solo se utiliza si createTransaction está establecido como true.

Si no se proporciona ningún valor para transactionType, toma como valor predeterminado Changed/Endorsed.

updateDataCustomClassName

Opcional.

Actualiza la política actual.

Si está utilizando Salesforce FSC, debe especificar esta opción o updateDataDRBundleName.

El valor predeterminado se establece en PostInsurancePolicy.

updateDataDRBundleName

Opcional.

El nombre del Asignador de datos que este servicio utiliza para actualizar la política actual.

Si está utilizando Salesforce FSC, debe especificar esta opción o updateDataCustomClassName.

  • Si especifica ambos, el servicio utiliza el valor updateDataDRBundleName.

  • Si no especifica ninguna, el servicio utiliza el valor predeterminado para updateDataCustomClassName (PostInsurancePolicy).

useLocalTimezone

true o false

Toma como valor predeterminado true.

Cuando se establece en true, este servicio utiliza la zona horaria local en la que se crea la versión de política.

Cuando se establece en false, estos servicios utilizan GMT como zona horaria.

calculateCommission

true o false

Cuando se establece en true, el servicio calcula las 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 en true, también necesita ingresar 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. de productor de procesamiento, es decir, el productor utilizado para recuperar CommissionScheduleId y calcular el importe de la comisión.

Asignado a InsurancePolicy.ProducerId.

productionCodeId

Opcional.

El Id. de 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 ingresa productionCodeId, el servicio utiliza productionCodeName para buscar el productionCodeId. Si ingresa 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 precios 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 12:00 am.
term

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

InsPolicyService:createPolicyVersion solo admite condiciones de póliza anuales.

useIsPaidFlag

Opcional

Especifica si el indicador de IsPaid debe estar activado o no.

Si es verdadero, el campo isPaid en el objeto de entrada de programación de pagos se tiene en cuenta durante el cálculo de primas, impuestos y comisiones.

El valor predeterminado es falso.

JSON de entrada

Este servicio busca los inputKey especificados en el JSON del producto.

"policyJson": {
  "productConfigurationDetail": {
    "insuredItems": {
      "Auto": [{
          "instanceKey": "2015 Lexus LX250",
          "autoLicNum": "Lexus",
          "autoModel": "LX150",
          "autoYear": 2015,
          "BodyClass": "Sedan/Saloon",
          "VehicleType": "PASSENGER CAR",
          "isPrimary": true
                                        "isParent": true
        },
        {
          "instanceKey": "2006 Honda Odyssey",
          "autoLicNum": "Honda",
          "autoModel": "Odyssey",
          "autoYear": 2006,
          "BodyClass": "Minivan",
          "VehicleType": "MULTIPURPOSE PASSENGER VEHICLE (MPV)",
          "isPrimary": true
                                        "isParent": true
        },
        {
          "instanceKey": "2018 530 BMW",
          "autoLicNum": "530",
          "autoModel": "BMW",
          "autoYear": 2018,
          "BodyClass": "Sedan/Saloon",
          "VehicleType": "PASSENGER CAR",
          "isPrimary": true
                                        "isParent": true
        },
        {
          "instanceKey": "2016 Camry Toyota",
          "autoLicNum": "Camry",
          "autoModel": "Toyota",
          "autoYear": 2016,
          "BodyClass": "Sedan/Saloon",
          "VehicleType": "PASSENGER CAR",
          "isPrimary": true
                                        "isParent": true
        }
      ],
      "Driver": [{
          "AGE": 20,
          "instanceKey": "Joan Smith",
          "FN": "Joan",
          "GENDER": "Female",
          "LN": "Smith",
          "isPrimary": false
                                        "isParent": false
        },
        {
          "AGE": 30,
          "instanceKey": "John Smith",
          "FN": "John",
          "GENDER": "Male",
          "LN": "Smith",
          "isPrimary": false
                                        "isParent": false
        },
        {
          "AGE": 30,
          "instanceKey": "Robert Henderson",
          "FN": "Robert",
          "GENDER": "Male",
          "LN": "Henderson",
          "isPrimary": false
                                        "isParent": false    
        },
        {
          "AGE": 20,
          "instanceKey": "Kinsey Schell",
          "FN": "Kinsey",
          "GENDER": "Female",
          "LN": "Schell",
          "isPrimary": false
                                        "isParent": false
        }
      ]
    },
    "accountId": "001f400000RrQSrAAN"
  }

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

JSON de salida

El servicio devuelve el nuevo número de versión de política en el JSON de salida.

{
    "policyId": "02i0b00000uRwhVAAS"
    "error": "ok"
}
 
Cargando
Salesforce Help | Article