Loading
Insurance
InsCommissionService:adjust

InsCommissionService:adjust

Utilisez ce service pour ajuster le montant de la Commission du producteur.

Classe: InsCommissionService

Méthode : adjust

Description

Ce service utilise un enregistrement Commission du producteur et un calendrier de commission existants afin d'ajuster le montant de la commission pour un producteur.

Fonctionnement

Pour ajuster une commission, ce service :

  1. Accepte l'entrée commissionId et récupère l'enregistrement Commission du producteur correspondant.

    Si une commission a déjà été ajustée, le service nécessite l'commissionId du dernier ajustement.

  2. Si la useOriginalSchedule est vraie, utilise le calendrier de la commission spécifié dans l'enregistrement Commission du producteur récupéré pour le calcul.

    Si le useOriginalSchedule est faux, le service utilise les entrées productionCode, producerId, productId, commissionableEvent, context et effectiveDate pour déterminer le calendrier du Conseil à utiliser.

  3. Calcule la commission en fonction du barème de la commission.

  4. Évalue la commission pour déterminer s'il s'agit d'une rétrofacturation (un montant de commission retourné).

    • Si le montant à commissionner est négatif, le service traite la commission comme une rétrofacturation.

    • Si la commission n'est pas une rétrofacturation, le service compare le montant de commission calculé aux montants de commission minimum et maximum. Si le montant calculé est trop faible ou trop élevé, le service renvoie le montant minimum ou maximum au lieu du montant calculé.

  5. Renvoie le montant de la commission, l'ID du barème de commission utilisé pour le calculer, ainsi que les montants minimum et maximum qui s'appliquent à cette commission.

Entrées

Entrée

Description

commissionId

Obligatoire.

ID de la Commission du producteur à ajuster.

useOriginalSchedule

true ou false

Lorsqu'il est défini sur true, le service utilise la planification de la commission spécifiée dans l'enregistrement Commission du producteur récupéré pour le calcul.

Lorsqu'il est défini sur false, le service utilise d'autres entrées pour déterminer le calendrier de commission à utiliser.

productionCode

Facultatif.

Le nom de code de production, pas l'ID, du producteur de transformation.

producerId

Facultatif.

L'ID du producteur de la transformation.

productId

Obligatoire si useOriginalSchedule est false.

L'ID du produit pour lequel la commission est payée.

commissionableEvent

Facultatif.

L'événement ou la transaction qui déclenche un calcul de commission (par exemple, Devis, Police vendue ou Modifié/Approuvé).

effectiveDate

Facultatif.

La date effective de l'ajustement. Si nul, le service utilise la date du jour.

context

Obligatoire.

Paires de noms de champ et de valeurs pour l'enregistrement sur lequel la commission est calculée. Vous devez :

  • Insérez un espace de noms dans le nom d'API s'il existe.

  • Incluez objectId, c'est-à-dire l'ID de l'enregistrement pour lequel la commission est calculée.

Format sans champ de référence :

{ objectAPI.fieldAPI : fieldValue }

Format avec champ de référence :

{ objectAPI.relationshipAPI.fieldAPI : fieldValue }

Vous pouvez spécifier jusqu'à deux niveaux de champ si vous mettez en forme l'entrée avec un champ de référence.

commissionableAmount

Facultatif.

Le montant sur lequel le calcul de la commission est basé.

JSON d'entrée

Voici comment mettre en forme le JSON d'entrée.

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

Cet exemple ajuste une commission émise pour un avenant, en utilisant le même barème de commission que celui utilisé initialement.

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

Voici le format du JSON de sortie.

{
   "commissionAmount": amount,
   "commissionScheduleId": ID of the commission schedule used,
   "minCommissionAmount": CommissionScheduleAssignment.MinCommissionAmount,
   "maxCommissionAmount": CommissionScheduleAssignment.MaxCommissionAmount
}

Voici un exemple de sortie qui montre que le montant calculé (167 €) est compris dans la plage définie par les valeurs minimum et maximum (100 € à 500 €).

{
   "commissionAmount":167,
   "commissionScheduleId":"ab001od002",
   "minCommissionAmount":100,
   "maxCommissionAmount":500
}
 
Chargement
Salesforce Help | Article