Loading
Assicurazioni
InsCommissionService:adjust

InsCommissionService:adjust

Utilizzare questo servizio per rettificare un importo della Commissione del produttore.

Classe: InsCommissionService

Metodo: adjust

Descrizione

Questo servizio utilizza un record Commissione produttore esistente e Pianificazione commissione per rettificare l'ammontare della commissione per un produttore.

Funzionamento

Per rettificare una commissione, questo servizio:

  1. Accetta l'input del commissionId e recupera il record Commissione produttore corrispondente.

    Se una commissione è già stata rettificata, il servizio richiede la commissionId della rettifica più recente.

  2. Se il useOriginalSchedule è true, utilizza la pianificazione della commissione specificata nel record Commissione produttore recuperato per il calcolo.

    Se il useOriginalSchedule è falso, il servizio utilizza input productionCode, producerId, productId, commissionableEvent, context e effectiveDate per determinare quale pianificazione commissione utilizzare.

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

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

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

commissionId

Obbligatorio.

ID della commissione del produttore da rettificare.

useOriginalSchedule

true o false

Quando è impostato su true, il servizio utilizza la pianificazione della commissione specificata nel record Commissione produttore recuperato per il calcolo.

Quando è impostato su false, il servizio utilizza altri input per determinare quale pianificazione commissione utilizzare.

productionCode

Facoltativo.

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

producerId

Facoltativo.

ID del produttore della trasformazione.

productId

Obbligatorio se useOriginalSchedule è false.

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.

Data di validità della rettifica. 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.

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

Questo esempio rettifica una commissione emessa per una conferma, utilizzando la stessa pianificazione commissione utilizzata in origine.

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