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 y Programación de comisión existentes para ajustar un importe de comisión para un productor.

Funcionamiento

Para ajustar una comisión, este servicio:

  1. Acepta entrada de commissionId y recupera el registro de 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 comisiones 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 comisión.

  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ínimos y máximos que se aplican a esta comisión.

Entradas

Entrada

Descripción

commissionId

Obligatorio.

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

useOriginalSchedule

true o false

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

Cuando se establece como 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., del 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

El 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 valor 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

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.

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

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