Usted está aquí:
InsCommissionService:calculate
Utilice este servicio para calcular la comisión de un productor.
Método: calculate
Descripción
Este servicio utiliza detalles acerca del productor, el producto de seguro y el evento comisionable para calcular una comisión para un productor.
Funcionamiento
Para calcular una comisión, este servicio:
-
Acepta entradas de
productionCode,producerId,productId,commissionableEvent,contextyeffectiveDatepara encontrar lasCommissionScheduleapropiadas para utilizar para el cálculo. -
Calcula la comisión basándose en la programación de comisión.
-
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.
-
-
Devuelve el importe de la comisión, el Id. de la programación de comisiones utilizada para calcularla y los importes mínimos y máximos que se aplican a esta comisión.
Entradas
Entrada |
Descripción |
|---|---|
|
Opcional El nombre del código de producción, no el Id., del productor de procesamiento. |
|
Opcional El Id. del productor de procesamiento. |
|
Obligatorio. El Id. del producto por el que se paga la comisión. |
|
El evento o transacción que desencadena un cálculo de comisión (por ejemplo, Presupuesto, Póliza vendida o Cambiado/Aprobado). |
|
Opcional La fecha efectiva del pago de la comisión. Si es nulo, el servicio utiliza la fecha de hoy. |
|
Obligatorio. Pares de valor y nombre de campo para el registro en el que se calcula la comisión. Debe:
Formato sin campo de búsqueda:
Formato con campo de búsqueda:
Puede especificar hasta dos niveles de campos si da formato a la entrada con un campo de búsqueda. |
|
El 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.
{
"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 calcula una comisión para una aprobación.
{
"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
}A continuación se muestra un resultado de muestra que muestra que el importe calculado (167 $) está dentro del intervalo definido por valores mínimos y máximos (100-500 $).
{
"commissionAmount":167,
"commissionScheduleId":"ab001od002",
"minCommissionAmount":100,
"maxCommissionAmount":500
}