Loading
メールアドレスがデフォルトのログイン方式となります 続きを読む
Insurance
InsCommissionService:calculate

InsCommissionService:calculate

このサービスを使用して、生産者の手数料を計算します。

クラス: InsCommissionService

方法: calculate

説明

このサービスでは、生産者、保険商品、委託可能なイベントに関する詳細を使用して、生産者の手数料を計算します。

操作手順

手数料を計算するには、このサービスで次の手順を実行します。

  1. productionCode、producerId、productId、commissionableEvent、context、およびeffectiveDateの入力を受け入れて、計算に使用する適切なCommissionScheduleを検索します。

  2. 手数料表に基づいて手数料を計算します。

  3. 手数料を評価して、チャージバック (返された手数料金額) かどうかを判断します。

    • 手数料が負の場合、サービスは手数料をチャージバックとして処理します。

    • 手数料がチャージバックではない場合、サービスは計算された手数料金額を最小手数料金額と最大手数料金額と比較します。計算された金額が低すぎるまたは高すぎる場合、計算された金額ではなく最小金額または最大金額が返されます。

  4. 手数料金額、計算に使用された手数料スケジュールの ID、この手数料に適用される最小金額と最大金額を返します。

入力:

入力

説明

productionCode

省略可能。

加工生産者の ID ではなく、生産コード名。

producerId

省略可能。

処理プロデューサー ID。

productId

必須。

手数料が支払われる商品の ID。

commissionableEvent

省略可能。

手数料の計算をトリガーするイベントまたはトランザクション (見積、販売済みポリシー、変更/承認済みなど)。

effectiveDate

省略可能。

手数料支払の発効日。null の場合、サービスは今日の日付を使用します。

context

必須。

手数料が計算されるレコードの項目名と値のペア。次の操作が必要です。

  • 名前空間が存在する場合は、API 参照名に名前空間を含めます。

  • objectId、つまり手数料を計算するレコードの ID を含めます。

参照項目のない形式:

{ objectAPI.fieldAPI : fieldValue }

参照項目を含む形式:

{ objectAPI.relationshipAPI.fieldAPI : fieldValue }

参照項目を使用して入力を書式設定する場合、最大 2 レベルの項目を指定できます。

commissionableAmount

省略可能。

手数料の計算の基礎となる金額。

Input JSON

入力 JSON の書式設定を次に示します。

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

このサンプルでは、支持の手数料を計算します。

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

出力 JSON の形式を次に示します。

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

計算された金額 ($167) が最小値と最大値 ($100 ~ $500) で定義された範囲内にあることを示す出力例を次に示します。

{
   "commissionAmount":167,
   "commissionScheduleId":"ab001od002",
   "minCommissionAmount":100,
   "maxCommissionAmount":500
}
 
読み込み中
Salesforce Help | Article