Loading
Assicurazioni
InsCommissionService:calculate

InsCommissionService:calculate

Utilizzare questo servizio per calcolare la commissione per un produttore.

Classe: InsCommissionService

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:

  1. Accetta input di productionCode, producerId, productId, commissionableEvent, context e effectiveDate per trovare i CommissionSchedule appropriati da utilizzare per il calcolo.

  2. Calcola la commissione in base alla pianificazione della commissione.

  3. 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.

  4. 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

productionCode

Facoltativo.

Il nome del codice di produzione, non l'ID, del produttore della trasformazione.

producerId

Facoltativo.

ID del produttore della trasformazione.

productId

Obbligatorio.

ID del prodotto per cui viene pagata la commissione.

commissionableEvent

Facoltativo.

Evento o transazione che attiva un calcolo della commissione (ad esempio Preventivo, Polizza venduta o Modificata/Confermata).

effectiveDate

Facoltativo.

La data effettiva del pagamento della commissione. Se nullo, il servizio utilizza la data odierna.

context

Obbligatorio.

Coppie nome campo e valore per il record su cui viene calcolata la commissione. È necessario:

  • Includere uno spazio dei nomi nel nome API, se esistente.

  • Includere objectId, ovvero l'ID del record per cui viene calcolata la commissione.

Formato senza campo di ricerca:

{ objectAPI.fieldAPI : fieldValue }

Formato con campo di ricerca:

{ objectAPI.relationshipAPI.fieldAPI : fieldValue }

È possibile specificare fino a due livelli di campi se si formatta l'input con un campo di ricerca.

commissionableAmount

Facoltativo.

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