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

InsCommissionService:adjust

このサービスを使用して、プロデューサー手数料の金額を調整します。

クラス: InsCommissionService

方法: adjust

説明

このサービスでは、既存のプロデューサー手数料レコードと手数料スケジュールを使用して、プロデューサーに対する手数料を調整します。

しくみ

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

  1. commissionIdの入力を受け入れ、対応するプロデューサーコミッションレコードを取得します。

    手数料がすでに調整されている場合、サービスには最新の調整のcommissionIdが必要です。

  2. useOriginalScheduleが true の場合、取得されたプロデューサー手数料レコードで指定された手数料スケジュールが計算に使用されます。

    useOriginalScheduleが false の場合、サービスは productionCode、producerId、productId、commissionableEvent、context、effectiveDate の入力を使用して、使用するコミッションスケジュールを決定します。

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

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

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

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

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

入力:

入力

説明

commissionId

必須。

調整するプロデューサーコミッションの ID。

useOriginalSchedule

true または false

[true] に設定すると、取得されたプロデューサーコミッションレコードで指定されたコミッションスケジュールが計算に使用されます。

[false] に設定すると、サービスは他の入力を使用して、使用するコミッションスケジュールを決定します。

productionCode

省略可能。

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

producerId

省略可能。

処理プロデューサー ID。

productId

useOriginalSchedule が false の場合は必須です。

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

commissionableEvent

省略可能。

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

effectiveDate

省略可能。

調整の発効日。null の場合、サービスは今日の日付を使用します。

context

必須。

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

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

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

参照項目のない形式:

{ objectAPI.fieldAPI : fieldValue }

参照項目を含む形式:

{ objectAPI.relationshipAPI.fieldAPI : fieldValue }

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

commissionableAmount

省略可能。

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

Input JSON

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

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

このサンプルでは、最初に使用された手数料表と同じ手数料表を使用して、支持に対して発行された手数料を調整します。

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

出力 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