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

InsPolicyService:createPolicyVersion

このサービスを使用して、既存の保険契約レコードをそのまま維持しながら、既存の保険契約の新しいバージョンを作成します。

このサービスにより、ポリシーのバージョン管理が可能になります。ポリシーへの変更はすべて、そのポリシーの異なるバージョンで追跡されます。これは、ポリシーの変更とポリシーのキャンセルの OmniScript および Integration Procedure で使用できます。このサービスを使用して、期限切れまたはキャンセルされた保険契約を復元することもできます。

このサービスは、Salesforce Financial Services Cloud と連携して、省略可能な支払スケジュールの作成をサポートします。

クラス: InsPolicyService

方法: createPolicyVersion

操作手順

  1. 現在のポリシーのassetIdまたはpolicyId、およびinputKeyで示される JSON を取得します。

  2. 元のポリシーのコピーを作成します。

  3. 既存の支払スケジュールがある場合、サービスは支払スケジュールを更新し、承認の発効日に支払スケジュールエントリを作成します。useIsPaidFlag が true の場合、トランザクションのない ([状況] 項目が [Valid] で [isPaid] 項目がオフになっている) 今後のすべての支払スケジュールエントリは、保険料、税金、手数料の新しい値に基づいて更新されます。新しい支払スケジュールエントリには、新しい保険料、税金、手数料と更新された支払スケジュールエントリに基づいて調整された保険料、税金、手数料の値が含まれます。また、各支払スケジュールエントリの保険契約コンポーネントの貢献レコードも更新されます。

  4. このサービスでは、以前の保険契約の保険料計算方法、支払種別、保険料頻度と、新しい保険契約の [期間の保険料合計]、[期間の手数料合計]、[期間の税額合計] を使用して、変更された支払スケジュールが生成されます。トランザクションの作成に加えて、トランザクション内訳データがトランザクション詳細オブジェクトに入力されます。このオブジェクトには、各納入商品、関係者、または補償が保険料、税金、手数料の観点で取引総額にどの程度寄与しているかに関するデータが保存されます。納入商品、関係者、および保険料、税金、手数料の値が 0 より大きい補償のみが表示されています。

    メモ
    メモ [Premium Calculation Method (プレミアム計算方法)]、[Payment Type (支払種別)]、[Premium Frequency (プレミアム頻度)] は以前のポリシーからコピーされず、JSON を介してサービスへの入力として渡す必要があります。
  5. includeRevenueSchedule を true に設定すると、収益スケジュールサービスをコールして収益スケジュールを変更します。

  6. このポリシーの最初の変更の場合、サービスはoriginalVersionId__cとpreviousVersionId__cに同じassetIdスタンプを付けます。これがこのポリシーの最初の変更でない場合、サービスはOriginalVersionId__cを新しいバージョンに継承し、以前のassetIdを新しいポリシーのPreviousVersionId__cにスタンプします。

  7. taxesAndFees、taxAmount、feeAmount ノードが入力 JSON に含まれている場合、対応する税金/手数料項目またはレコードが新しいバージョンのポリシーで作成および按分されます。

  8. 該当する場合は、支払調整用の InsurancePolicyTransaction が作成されます。

  9. calculateCommission が true の場合、サービスは InsurancePolicyService.calculateAndSaveCommission をコールし、InsCommissionService.calculate およびInsCommissionService.saveCommissions サービスの入力を準備します。計算サービスで入力が処理されると、保存サービスで計算された値がTotalCommissionAmountに保存されます。その後、値を積み上げ集計して元のポリシーのTotalCommissionAmountに追加します。

  10. getquotedetail サービスの disableAttributeCategories フラグが true に設定されている場合、サービスは応答から attributeCategory ノードを省略し、createPolicyVersion サービスはポリシー規約の作成に失敗します。createPolicyVersion サービスでポリシー条件が作成されるように、getQuoteDetail サービスの の disableAttributeCategories フラグを false に設定します。
メモ
メモ このサービスでは、元の保険契約バージョンの期間が 365 日未満 (うるう年の 366 日未満) の保険契約の承認もサポートされます。「保険契約の考慮事項と制限」を参照してください。

税金と手数料

このサービスの税金と手数料の仕組みを次に示します。

  • JSON レコードで taxesAndFees フィールドが指定されている場合、対応するAssetPricingAdjustment__cレコードがtaxesAndFeesリストの各項目に対して保持されます。

  • JSON レコードで taxAmount 項目が指定されている場合、TaxAmount__c 項目は作成された AssetItem オブジェクトの taxAmount 項目の値に設定されます。

  • JSON レコードで feeAmount 項目が指定されている場合、FeeAmount__c 項目は作成されたAssetItemの feeAmount 項目の値に設定されます。

現在のポリシー (新規作成ポリシー) に関する限り、次のようになります。

  • 現在のポリシーにTotalTaxAmount__cがある場合、その値は発効日と終了日で按分され、[TotalTaxForTerm__c] フィールドに設定されます。

  • 現在のポリシーにTotalFeeAmount__cがある場合、その値は発効日と終了日で按分され、[TotalFeeForTerm__c] フィールドに設定されます。

  • 現在のポリシーのAssetItemにTaxAmount__cがある場合、その値は発効日と終了日で按分され、[ProratedTaxAmount__c] フィールドに設定されます。

  • 現在のポリシーのAssetItemにFeeAmount__cがある場合、その値は発効日と終了日で按分され、[ProratedFeeAmount__c] フィールドに設定されます。

すでに作成されている保険契約の場合、税金と手数料は次のように渡されます。

  • 前のポリシーにTotalTaxAmount__cがある場合、その値は新しい発効日と終了日に按分され、[TotalTaxForTerm__c] フィールドに設定されます。

  • 前のポリシーにTotalFeeAmount__cがある場合、その値は新しい発効日と終了日に按分され、[TotalFeeForTerm__c] フィールドに設定されます。

  • AssetItem フィールドにTaxAmount__cがある場合、その値は新しい発効日と終了日に按分され、ProratedTaxAmount__c フィールドに設定されます。

  • 以前のポリシーの AssetItem フィールドにFeeAmount__cがある場合、その値は新しい発効日と終了日に按分され、ProratedFeeAmount__c フィールドに設定されます。

最後に、[createTransaction] オプション (下記を参照) が true に設定されていて、新しいポリシーバージョンに税金と手数料が関連付けられている場合、作成されたトランザクションの [TaxAmount__c] 項目と [FeeAmount__c] 項目は、新しい (現在の) ポリシーと前のポリシーのTotalTaxForTerm__cおよびTotalFeeForTerm__cの差に設定されます。

リモートオプション

オプション

説明

assetId または policyId

必須。

現在のポリシーの ID。

createContactForParticipants

省略可能。

true または false

デフォルトは true です。

falseの場合、サービスは取引先責任者レコードを作成しません。

createInsuredItemsRelationships

true または false

このオプションを true に設定すると、保険項目間の [instanceKey] > [parentInstanceKey] リレーションのリストを指定できます。

このオプションでは、親 > 子および親 > 子 > 孫の被保険者項目リレーションがサポートされます。

createTransaction

省略可能。

true または false

デフォルトは false です。

trueの場合、サービスは収益スケジュールサービスで使用されるトランザクションを作成します。

effectiveDate

“YYYY-MM-DD HH:MM:SS” または %OmniScriptDataElement%

ポリシーが有効になる日付。

オプション マップに effectiveDate 値がない場合、サービスはrootAttributes マップでその値を検索します。サービスでeffectiveDateが見つからない場合は、今日の日付が使用されます。

Insurance Industries Extension パッケージを使用している場合、[effectiveDate] オプションのタイムスタンプ値は無視されます。代わりに、発効日のタイムスタンプ値は選択した発効日の午前 12 時に設定され、有効期限の値は選択した失効日の午後 11 時 59 分に設定されます。タイムスタンプは、ユーザーの指定されたタイムゾーンを使用して設定されます。

getDataCustomClassName

省略可能。

このサービスがポリシー (納入商品) 情報を取得するために使用するカスタムクラスの名前。

Salesforce FSC を使用している場合は、このオプションまたはpostDataDRBundleNameを指定する必要があります。

デフォルト値は GetInsurancePolicy に設定されます。

getDataDRBundleName

省略可能、

このサービスでポリシー (アセット) 情報を取得するために使用するデータマッパーの名前。

Salesforce FSC を使用している場合は、このオプションまたはgetDataCustomClassNameを指定する必要があります。

  • 両方を指定すると、サービスは getDataDRBundleName 値を使用します。

  • どちらも指定しない場合、サービスは getDataCustomClassName (GetInsurancePolicy) のデフォルト値を使用します。

includePaymentSchedule

省略可能。

ポリシーの支払スケジュールを更新するかどうかをTrueします。

デフォルトは false です。

includeRevenueSchedule

省略可能。createTransaction が true に設定されている場合にのみ使用されます。

true または false

true の場合、このオプションは InsPolicyRevenueScheduleService: modify をコールします。

inputKey

必須。

%theJSONyouneed%

isCreatingPolicyTerms

true または false

true に設定すると、サービスは出力 JSON でpolicyTermIdsノードを返します。

postDataCustomClassName

省略可能。

このサービスが新しいポリシーバージョンを保存するために使用するカスタムクラスの名前。

Salesforce FSC を使用している場合は、このオプションまたはpostDataDRBundleNameを指定する必要があります。

デフォルト値は PostInsurancePolicy に設定されます。

postDataDRBundleName

省略可能。

このサービスで新しいポリシーバージョンを保存するために使用するデータマッパーの名前。

SalesForce FSC を使用している場合は、このオプションまたはpostDataCustomClassNameを指定する必要があります。

  • 両方を指定すると、サービスは postDataDRBundleName 値を使用します。

  • どちらも指定しない場合、サービスは postDataCustomClassName (PostInsurancePolicy) のデフォルト値を使用します。

transactionType

省略可能。createTransaction が true に設定されている場合にのみ使用されます。

transactionType に値が指定されていない場合は、デフォルトで Changed/Endorsed になります。

updateDataCustomClassName

省略可能。

現在のポリシーを更新します。

Salesforce FSC を使用している場合は、このオプションまたはupdateDataDRBundleNameを指定する必要があります。

デフォルト値は PostInsurancePolicy に設定されます。

updateDataDRBundleName

省略可能。

このサービスで現在のポリシーを更新するために使用するデータマッパーの名前。

Salesforce FSC を使用している場合は、このオプションまたはupdateDataCustomClassNameを指定する必要があります。

  • 両方を指定すると、サービスは updateDataDRBundleName 値を使用します。

  • どちらも指定しない場合、サービスは updateDataCustomClassName (PostInsurancePolicy) のデフォルト値を使用します。

useLocalTimezone

true または false

デフォルトは true です。

[true] に設定すると、このサービスはポリシーバージョンが作成されたローカルタイムゾーンを使用します。

[false] に設定すると、このサービスではタイムゾーンとして GMT が使用されます。

calculateCommission

true または false

[true] に設定すると、ルート項目の手数料が計算され、合計金額がTotalCommissionAmountに保存されます。

[false] (デフォルト) に設定すると、サービスは手数料を計算しません。

メモ
メモ

このオプションを true に設定する場合は、少なくとも 1 つのプロデューサーコード値または本番コード値 (producerId 、 productionCodeId 、または productionCodeName) を入力する必要があります。

commissionType

省略可能。

手数料の種別 (ボーナス、標準など)。

commissionStatus

省略可能。

手数料の状況 (待機中、支払済み、放棄済みなど)。

producerId

省略可能。

処理プロデューサー ID。つまり、commissionScheduleId を取得して手数料金額を計算するために使用されるプロデューサーです。

InsurancePolicy.ProducerIdに割り当て済み。

productionCodeId

省略可能。

本番コード ID。

InsurancePolicy.ProductionCodeId__cに割り当て済み。

productionCodeName

省略可能。

InsCommissionService.calculate サービスに渡される本番コード名。

productionCodeIdを入力しない場合、サービスは productionCodeName を使用してproductionCodeIdを検索します。両方の値を入力しても一致しない場合は、 productionCodeId が優先されます。

memberPlanIntegrationProcedure

ユーザー設定に基づいてカスタムインテグレーション手順を開始します。このオプションを使用すると、サービスのすべてのオプションがカスタムインテグレーション手順に渡され、すべての保険契約 ID がオブジェクト (メンバープランの保険契約オブジェクトなど) と統合するための入力として渡されます。

ratingDate

入力 JSON の価格設定に使用された評価日。

メモ
メモ データ型が日付であるため、 ratingField に特定の時間を渡すことはできません。そのため、評価のタイムスタンプはデフォルトで午前 12 時になります。
term

サービスが作成するポリシーの期間。

InsPolicyService:createPolicyVersion では、年間保険契約期間のみがサポートされます。

useIsPaidFlag

省略可能

IsPaid フラグをイネーブルにする必要があるかどうかを指定します。

true の場合、保険料、税金、手数料の計算時に支払スケジュールエントリオブジェクトのisPaid項目が考慮されます。

デフォルト値は false です。

Input JSON

このサービスは、商品 JSON 内に指定されたinputKeyを検索します。

"policyJson": {
  "productConfigurationDetail": {
    "insuredItems": {
      "Auto": [{
          "instanceKey": "2015 Lexus LX250",
          "autoLicNum": "Lexus",
          "autoModel": "LX150",
          "autoYear": 2015,
          "BodyClass": "Sedan/Saloon",
          "VehicleType": "PASSENGER CAR",
          "isPrimary": true
                                        "isParent": true
        },
        {
          "instanceKey": "2006 Honda Odyssey",
          "autoLicNum": "Honda",
          "autoModel": "Odyssey",
          "autoYear": 2006,
          "BodyClass": "Minivan",
          "VehicleType": "MULTIPURPOSE PASSENGER VEHICLE (MPV)",
          "isPrimary": true
                                        "isParent": true
        },
        {
          "instanceKey": "2018 530 BMW",
          "autoLicNum": "530",
          "autoModel": "BMW",
          "autoYear": 2018,
          "BodyClass": "Sedan/Saloon",
          "VehicleType": "PASSENGER CAR",
          "isPrimary": true
                                        "isParent": true
        },
        {
          "instanceKey": "2016 Camry Toyota",
          "autoLicNum": "Camry",
          "autoModel": "Toyota",
          "autoYear": 2016,
          "BodyClass": "Sedan/Saloon",
          "VehicleType": "PASSENGER CAR",
          "isPrimary": true
                                        "isParent": true
        }
      ],
      "Driver": [{
          "AGE": 20,
          "instanceKey": "Joan Smith",
          "FN": "Joan",
          "GENDER": "Female",
          "LN": "Smith",
          "isPrimary": false
                                        "isParent": false
        },
        {
          "AGE": 30,
          "instanceKey": "John Smith",
          "FN": "John",
          "GENDER": "Male",
          "LN": "Smith",
          "isPrimary": false
                                        "isParent": false
        },
        {
          "AGE": 30,
          "instanceKey": "Robert Henderson",
          "FN": "Robert",
          "GENDER": "Male",
          "LN": "Henderson",
          "isPrimary": false
                                        "isParent": false    
        },
        {
          "AGE": 20,
          "instanceKey": "Kinsey Schell",
          "FN": "Kinsey",
          "GENDER": "Female",
          "LN": "Schell",
          "isPrimary": false
                                        "isParent": false
        }
      ]
    },
    "accountId": "001f400000RrQSrAAN"
  }

[リモートをisCreatingPolicyTerms] オプションが [true] に設定されている場合、policyTermIds ノードが含まれます。policyTermIdsノードの例を次に示します。

{  
   "policyId": "02i6g000000h110AAA",
   "policyTermIds": [
    "a5X6g000001LeUUEA0",
    "a5X6g000001LeUVEA0",
    "a5X6g000001LeUWEA0",
    "a5X6g000001LeUXEA0",
    "a5X6g000001LeUYEA0",
    "a5X6g000001LeUZEA0",
    "a5X6g000001LeUaEAK",
    "a5X6g000001LeUbEAK",
    "a5X6g000001LeUcEAK",
    "a5X6g000001LeUdEAK",
    "a5X6g000001LeUeEAK",
    "a5X6g000001LeUfEAK"
  ]
}

出力 JSON

サービスは、出力 JSON で新しいポリシーバージョン番号を返します。

{
    "policyId": "02i0b00000uRwhVAAS"
    "error": "ok"
}
 
読み込み中
Salesforce Help | Article