Loading
Seguro
InsCommissionService:adjust

InsCommissionService:adjust

Utilice este servicio para ajustar un importe de Comisión de productor.

Clase: InsCommissionService

Método: adjust

Descripción

Este servicio utiliza un registro Comisión de productor existente y Programación de comisión para ajustar un importe de comisión para un productor.

Funcionamiento

Para ajustar una comisión, este servicio:

  1. Acepta la entrada de commissionId y recupera el registro Comisión de productores correspondiente.

    Si una comisión ya se ajustó, el servicio requiere el commissionId para el ajuste más reciente.

  2. Si el useOriginalSchedule es verdadero, utiliza la programación de comisión especificada en el registro Comisión de productor recuperado para el cálculo.

    Si el useOriginalSchedule es falso, el servicio utiliza entradas de productionCode, producerId, productId, commissionableEvent, context y effectiveDate para determinar qué programación de comisión utilizar.

  3. Calcula la comisión basándose en la programación de comisiones.

  4. Evalúa la comisión para determinar si es una devolución de cargo (un importe de comisión devuelto).

    • Si el importe de comisión es negativo, el servicio trata la comisión como una devolución de cargo.

    • Si la comisión no es una devolución de cargo, el servicio compara el importe de comisión calculado con importes de comisión mínimos y máximos. Si el importe calculado es demasiado bajo o demasiado alto, el servicio devuelve el importe mínimo o máximo en vez del importe calculado.

  5. Devuelve el importe de la comisión, el Id. de la programación de comisiones utilizada para calcularla y los importes mínimo y máximo que se aplican a esta comisión.

Entradas

Ingreso

Descripción

commissionId

Obligatorio.

Id. de la Comisión de productores para ajustar.

useOriginalSchedule

true o false

Cuando se establece en true, el servicio utiliza la Programación de comisión especificada en el registro Comisión de productor recuperado para el cálculo.

Cuando se establece en false, el servicio utiliza otras entradas para determinar qué programación de comisión utilizar.

productionCode

Opcional.

El nombre del código de producción, no el Id., para el productor de procesamiento.

producerId

Opcional.

El Id. del productor de procesamiento.

productId

Obligatorio si useOriginalSchedule es false.

El Id. del producto por el que se paga la comisión.

commissionableEvent

Opcional.

Evento o transacción que desencadena un cálculo de comisión (por ejemplo, Presupuesto, Póliza vendida o Cambiado/Aprobado).

effectiveDate

Opcional.

La fecha efectiva del ajuste. Si es nulo, el servicio utiliza la fecha de hoy.

context

Obligatorio.

Pares de valores y nombre de campo para el registro en el que se calcula la comisión. Debe:

  • Incluya un espacio de nombres en el nombre de API si existe.

  • Incluya objectId, es decir, el Id. del registro para el que se calcula la comisión.

Formato sin campo de búsqueda:

{ objectAPI.fieldAPI : fieldValue }

Formato con campo de búsqueda:

{ objectAPI.relationshipAPI.fieldAPI : fieldValue }

Puede especificar hasta dos niveles de campos si da formato a la entrada con un campo de búsqueda.

commissionableAmount

Opcional.

Importe en el que se basa el cálculo de la comisión.

JSON de entrada

A continuación le mostramos cómo dar formato a JSON de entrada.

{
   "commissionId": ProducerCommission.Id,
   "useOriginalSchedule": true,
   "productionCode": ProductionCode.Name,
   "producerId": Producer.Id,
   "product2Id": Product2.Id,
   "commissionableEvent": event type,
   "commissionableAmount": amount of the transaction,
   "context": {
      "objectId": ID of applicable object used,
	  "objectAPI.fieldAPI" : value
   }
}

Esta muestra ajusta una comisión emitida para una aprobación, utilizando la misma programación de comisión que se utilizó originalmente.

{
   "commissionId": apwe045asx,
   "useOriginalSchedule": true,
   "productionCode":AX001,
   "producerId":ay001jh002,
   "product2Id":az011jh022,
   "commissionableEvent":"Endorsement",
   "commissionableAmount":500,
   "context":{
      "Quote.vlocity_ins__TotalPremiumforTerm__c":100,
      "QuoteLineItem.vlocity_ins__GroupClassId__r.vlocity_ins__ClassCode__c":"Managers",
      "QuoteLineItem.vlocity_ins__FeeAmount__c":5,
      "objectId":ax003jh001
   }
}

JSON de salida

Este es el formato del JSON de salida.

{
   "commissionAmount": amount,
   "commissionScheduleId": ID of the commission schedule used,
   "minCommissionAmount": CommissionScheduleAssignment.MinCommissionAmount,
   "maxCommissionAmount": CommissionScheduleAssignment.MaxCommissionAmount
}

Este es el resultado de muestra que muestra que el importe calculado (167 USD) está dentro del intervalo definido por valores mínimos y máximos (100-500 USD).

{
   "commissionAmount":167,
   "commissionScheduleId":"ab001od002",
   "minCommissionAmount":100,
   "maxCommissionAmount":500
}
 
Cargando
Salesforce Help | Article