Ti trovi qui:
InsCommissionService:calculate
Utilizzare questo servizio per calcolare la commissione per un produttore.
Metodo: calculate
Descrizione
Questo servizio utilizza i dettagli sul produttore, sul prodotto assicurativo e sull'evento commissionabile per calcolare una commissione per un produttore.
Funzionamento
Per calcolare una commissione, questo servizio:
-
Accetta input di
productionCode,producerId,productId,commissionableEvent,contexteeffectiveDateper trovare iCommissionScheduleappropriati da utilizzare per il calcolo. -
Calcola la commissione in base alla pianificazione della commissione.
-
Valuta la commissione per determinare se si tratta di un chargeback (un ammontare della commissione restituito).
-
Se l'importo commissionabile è negativo, il servizio considera la commissione come un chargeback.
-
Se la commissione non è un chargeback, il servizio confronta l'ammontare della commissione calcolato con l'ammontare minimo e massimo della commissione. Se l'ammontare calcolato è troppo basso o troppo alto, il servizio restituisce l'ammontare minimo o massimo anziché l'ammontare calcolato.
-
-
Restituisce l'ammontare della commissione, l'ID della pianificazione della commissione utilizzata per calcolarlo e gli importi minimo e massimo validi per questa commissione.
Input
Input |
Descrizione |
|---|---|
|
Facoltativo. Il nome del codice di produzione, non l'ID, del produttore della trasformazione. |
|
Facoltativo. ID del produttore della trasformazione. |
|
Obbligatorio. ID del prodotto per cui viene pagata la commissione. |
|
Evento o transazione che attiva un calcolo della commissione (ad esempio Preventivo, Polizza venduta o Modificata/Confermata). |
|
Facoltativo. La data effettiva del pagamento della commissione. Se nullo, il servizio utilizza la data odierna. |
|
Obbligatorio. Coppie nome campo e valore per il record su cui viene calcolata la commissione. È necessario:
Formato senza campo di ricerca:
Formato con campo di ricerca:
È possibile specificare fino a due livelli di campi se si formatta l'input con un campo di ricerca. |
|
Ammontare su cui si basa il calcolo della commissione. |
Input JSON
Di seguito viene descritto come formattare il JSON di input.
{
"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
}
}Questo esempio calcola una commissione per una conferma.
{
"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 di output
Di seguito è riportato il formato del JSON di output.
{
"commissionAmount": amount,
"commissionScheduleId": ID of the commission schedule used,
"minCommissionAmount": CommissionScheduleAssignment.MinCommissionAmount,
"maxCommissionAmount": CommissionScheduleAssignment.MaxCommissionAmount
}Di seguito è riportato un esempio di output che mostra che l'ammontare calcolato (167 $) rientra nell'intervallo definito dai valori minimi e massimi (100 $ - 500 $).
{
"commissionAmount":167,
"commissionScheduleId":"ab001od002",
"minCommissionAmount":100,
"maxCommissionAmount":500
}