Você está aqui:
InsCommissionService:adjust
Use esse serviço para ajustar um valor de Comissão do produtor.
Método: adjust
Descrição
Esse serviço usa um registro de Comissão do produtor e uma Agenda de comissão para ajustar um valor de comissão para um produtor.
Como funciona
Para ajustar uma comissão, este serviço:
-
Aceita a entrada de
commissionIde recupera o registro correspondente da Comissão do produtor.Se uma comissão já tiver sido ajustada, o serviço requer a
commissionIdpara o ajuste mais recente. -
Se o
useOriginalSchedulefor verdadeiro, utilize para o cálculo o calendário da Comissão especificado no registo da Comissão do produtor recuperado.Se a
useOriginalSchedulefor falsa, o serviço usará entradas deproductionCode,producerId,productId,commissionableEvent,contexteeffectiveDatepara determinar qual Agenda de comissão usar. -
Calcula a comissão com base na Agenda de comissão.
-
Avalia a comissão para determinar se é um chargeback (um valor de comissão devolvido).
-
Se o valor comissionável for negativo, o serviço tratará a comissão como um charge-back.
-
Se a comissão não for um charge-back, o serviço comparará o valor da comissão calculada com os valores de comissão mínimo e máximo. Se o valor calculado for muito baixo ou muito alto, o serviço retornará o valor mínimo ou máximo em vez do valor calculado.
-
-
Retorna o valor da comissão, o ID da agenda de comissão usada para calculá-la e os valores mínimo e máximo que se aplicam a essa comissão.
Contribuições
Entrada |
Descrição |
|---|---|
|
Obrigatório. ID da Comissão do produtor a ser ajustada. |
|
Quando definido como Quando definido como |
|
Opcional. O nome do código de produção, não o ID, do produtor de processamento. |
|
O ID do produtor de processamento. |
|
Obrigatório se O ID do produto pelo qual a comissão é paga. |
|
O evento ou transação que aciona um cálculo de comissão (por exemplo, Cotação, Apólice vendida ou Alterado/Aprovado). |
|
Opcional. A data efetiva do ajuste. Se for nulo, o serviço usará a data de hoje. |
|
Obrigatório. Os pares de nome e valor do campo para o registro no qual a comissão é calculada. Você deve:
Formato sem campo de pesquisa:
Formato com campo de pesquisa:
Você poderá especificar até dois níveis de campos se formatar a entrada com um campo de pesquisa. |
|
O valor no qual o cálculo da comissão é baseado. |
JSON de entrada
Veja como formatar o 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
}
}Essa amostra ajusta uma comissão emitida para um endosso usando a mesma agenda de comissão usada 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 saída
Este é o formato do JSON de saída.
{
"commissionAmount": amount,
"commissionScheduleId": ID of the commission schedule used,
"minCommissionAmount": CommissionScheduleAssignment.MinCommissionAmount,
"maxCommissionAmount": CommissionScheduleAssignment.MaxCommissionAmount
}Aqui está uma saída de exemplo que mostra o valor calculado (US$ 167) está dentro do intervalo definido pelos valores mínimo e máximo (US$ 100 a US$ 500).
{
"commissionAmount":167,
"commissionScheduleId":"ab001od002",
"minCommissionAmount":100,
"maxCommissionAmount":500
}
