Loading
システム管理者に対するフィッシング耐性MFA・全従業員ユーザーMFAの適用のお知らせ 続きを読む
Insurance
InsPolicyService:createUpdatePolicy

InsPolicyService:createUpdatePolicy

このサービスを使用して、新しい保険契約を作成したり、新しい情報で既存の保険契約を更新したりします。

このサービスは、Salesforce Financial Services Cloud でオプションの支払スケジュールの作成サポートに使用できます。

クラス: InsPolicyService

方法: createUpdatePolicy

仕組み

  1. サービスは入力 JSON でinputKeyを検索します。inputKey ノードには、サービスがポリシーを作成または更新するために必要な情報が含まれます。このサービスで必要な情報は次のとおりです。

    • accountId

    • term

    • productConfigurationDetailレコード

    • insuredItemsレコード (省略可能)

    • endDate

    • effectiveDate

  2. 保険契約 (納入商品) オブジェクトを作成します。

  3. 保険契約の既存の支払スケジュールがある場合、サービスはエラーメッセージを返します。

  4. 最初の支払がある場合、InsurancePolicyTransaction が作成されます。トランザクションの作成に加えて、トランザクション内訳データがトランザクション詳細オブジェクトに入力されます。このオブジェクトには、各納入商品、関係者、または補償が保険料、税金、手数料の観点で取引総額にどの程度寄与しているかに関するデータが保存されます。納入商品、関係者、および保険料、税金、手数料の値が 0 より大きい補償のみが表示されています。トランザクションの詳細オブジェクトを [トランザクションの関連リスト] に追加する必要があります。

  5. 支払スケジュールを保存する場合、レコードはポリシーの元のポリシー ID にリンクされます。

  6. 入力 JSON にtaxesAndfees、taxAmount、またはfeeAmountノードがある場合、税金レコードまたは手数料レコード、あるいはその両方が作成されます。

  7. サービスがassetIdに渡されなかった場合、出力 JSON でポリシー ID を返します。

    サービスが入力 JSON でassetIdを渡されると、assetIdによって指定されたアセットが更新されます。

  8. calculateCommission=true の場合: サービスは InsurancePolicyService.calculateAndSaveCommission をコールし、InsCommissionService.calculate およびInsCommissionService.saveCommissions サービスの入力を準備します。計算サービスで入力が処理されると、保存サービスで計算値がTotalCommissionAmountに保存されます。

    • サービスは InsurancePolicyService.calculateAndSaveCommission をコールし、InsCommissionService.calculate サービスとInsCommissionService.saveCommissionsサービスの入力を準備します。

    • コミッション タイプ(コミッションやボーナスなど)は、commissionTypeとしてInsCommissionService.saveCommissions サービスに渡されます。

    • 手数料の状況([放棄済み]、[支払済み]など)はcommissionStatusとしてInsCommissionService.saveCommissionsサービスに渡されます。

    計算サービスで入力が処理されると、保存サービスで計算値がTotalCommissionAmountに保存されます。

メモ
メモ endDateとeffectiveDateによってポリシー期間が決まります。最初のポリシーバージョンの期間は 365 日未満、つまりうるう年の 366 日未満にすることができます。「保険契約の考慮事項と制限」を参照してください。

税金と手数料

税金と手数料が使用されている場合、このサービスは次のように機能します。

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

  • JSON レコードで taxAmount フィールドが指定されている場合、TaxAmount__c フィールドは作成されたAssetItemの taxAmount フィールドの値に設定されます。

  • JSON レコードで feeAmount フィールドが指定されている場合、FeeAmount__c フィールドはAssetItemの feeAmount フィールドの値に設定されます。

リモートオプション

オプション

説明

assetId

省略可能。

このサービスが新規または更新された情報に基づいて更新する既存のポリシーの ID。サービスで既存のポリシーを更新する必要がある場合に使用されます。

createContactForParticipants

省略可能。

true または false

デフォルトは true です。

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

createInsuredItemsRelationships

true または false

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

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

createTransaction

省略可能。

true または false

デフォルトは false です。

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

また、取引の詳細オブジェクトに取引内訳データも入力されます。各納入商品、関係者、補償範囲が取引総額にどの程度寄与しているかについて、保険料、税金、手数料の観点でデータが表示されます。保険料、税金、手数料の金額が 0 以外の値を 1 つ以上持つ納入商品、関係者、補償のみが表示されます。取引の詳細オブジェクトを取引の関連リストに追加する必要があります。

coolingOffPeriod

省略可能

最初の支払スケジュールエントリを遅らせることができる日数。

クーリングオフ期間では、保険契約の最初の支払スケジュール日は発効日 + 日数として計算されます。

たとえば、発効日が 1 月 5 日で、最初の支払スケジュール日が 1 月 5 日である月次支払頻度があるとします。 14 日間のクールオフ期間を適用すると、最初の支払スケジュールエントリが 1 月 5 日から 1 月 19 日に変更されます。 残りの月次支払スケジュール日は変更されません。

メモ
メモ クーリングオフ期間は、保険契約の開始日から 1 ~ 28 日間である必要があります。

effectiveDate

%“YYYY-MM-DD HH:MM:SS” or %OmniScriptDataElement%

ポリシー (またはポリシー更新) が有効になる日付。

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

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

generatePolicyNumber

true または false

true の場合、このオプションはUniqueIdGeneratorを使用して一意のポリシー番号を作成します。この番号はAsset.SerialNumberとして保存されます。

includePaymentSchedule

省略可能。

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

デフォルトは false です。

includeRevenueSchedule

省略可能。

true または false

true の場合、このオプションは InsPolicyRevenueScheduleService: createRevenueSchedule サービスをコールして収益スケジュールを作成します。ポリシーが更新されている場合は InsPolicyRevenueScheduleService: modifyRevenueSchedule をコールします。

falseの場合、サービスはこのポリシーの収益スケジュールを作成しません。

initialPaymentRule

省略可能。

Percentage、Months、または Days のいずれか。

initialTransactionName

省略可能。

トランザクション名。

デフォルトでは、 initialPaymentTransactionType と同じ値が使用されます。

initialPaymentTransactionType

省略可能。

トランザクション種別。

デフォルト値は Premium Charge です。

initialPaymentValue

initialPaymentRuleが指定されている場合は必須。

パーセント値、または月数または日数。

inputKey

必須。

このサービスがポリシーを作成または更新するために必要な情報を取得する JSON。

isCreatingPolicyTerms

true または false

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

isFsc

省略可能。

作成する保険契約が InsurancePolicy オブジェクトの場合にTrueします。

デフォルトは false です。

または postDataDRBundleName のいずれかpostDataCustomClassNameを指定できます。

次のいずれかのオプションを指定しない場合、サービスはデフォルトで postDataCustomClassName になります。

paymentCalculationMethod

includePaymentSchedule が true の場合は必須です。

ポリシーの保険料計算方法の値を上書きします。

paymentFrequency

includePaymentSchedule が true の場合は必須です。

Policy の PremiumFrequency 値を上書きします。

paymentStartDate

省略可能。

最初の支払スケジュールエントリの日付。

デフォルトは保険契約の発効日です。

paymentType

includePaymentSchedule が true の場合は必須です。

ポリシーのプレミアム支払種別の値を上書きします。

postDataCustomClassName

省略可能。

このオプションまたはpostDataDRBundleNameを指定する必要があります。

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

postDataDRBundleName

省略可能。

このオプションまたはpostDataCustomClassNameを指定する必要があります。

このオプションを指定しない場合、デフォルトは postDataCustomClassName です。

transactionType

%OmniScriptDataElement%

includeRevenueSchedule が true に設定されている場合に使用します。

値を設定しない場合、デフォルトの [販売済みポリシー] になります。

calculateCommission

true または false

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

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

メモ
メモ

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

commissionType

省略可能

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

commissionStatus

省略可能

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

producerId

省略可能

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

Assigned to assigned to (割り当て先) InsurancePolicy.ProducerId。

productionCodeId

省略可能

本番コード ID。

InsurancePolicy.ProductionCodeId__c に割り当て済み。

productionCodeName

省略可能

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

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

memberPlanIntegrationProcedure

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

ratingDate

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

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

term

サービスが作成する保険契約の期間。

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

useIsPaidFlag

省略可能

true と includePaymentSchedule も true に設定した場合、サービスは支払スケジュールエントリごとにポリシーコンポーネントの貢献レコードを作成します。

デフォルト値は false です。

Input JSON

このサービスは、inputKeyの値を検索します。

この例では、inputKey = newPolicyJSON です。

"newPolicyJSON": {
  "accountId": "001f400000OSHq2AAH",
  "term": "Annual",
  "endDate": "2019-05-14T07:00:00.000Z",
  "effectiveDate": "2018-05-15T07:00:00.000Z",
  "productConfigurationDetail": {
    ...
  },
  "insuredItems": {
    ...
  },
  "additionalFields": {
    "SerialNumber": "AUTO-123",
    "Status": "InForce",
    "vlocityins2__Type__c": "AUTO",
    "vlocityins2__PaymentMethodId__c": "a2Rf40000002NrgEAE"
  },
}

inputKey内の JSON には、サービスがポリシーを作成または更新するために必要なキー/値のペアがいくつか含まれています。また、保険品目の価格設定と保険契約の合計を含む商品 JSON も含まれます。

キー

値

accountId

アセットの生成済み取引先 ID。

additionalFields

省略可能。

サービスに含まれていないポリシー (納入商品) 項目を含むキー/値のペア。

endDate

省略可能。

保険契約の有効期限が切れる日付。

effectiveDate

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

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

insuredItems

サービスが保険契約の作成に使用する保険項目のキー/値のペア。

modificationDate

ポリシーが変更された日付

productConfigurationDetail

商品 JSON 構造モデルに従うレコードの配列。

term

サービスが作成する保険契約の期間。

この例のinsuredItemsレコードには、保険項目と、ユーザーがそれぞれに選択した値が含まれます。

この例では、inputKey = quotepolicyJSON です。

"quotepolicyJson": {
  "productConfigurationDetail": {
    ...
  }
  "insuredItems": {
    "DRIVER": [{
        "GENDER": "Female",
        "FN": "Joan",
        "AGE": 20,
        "LN": "Smith",
        "instanceKey": "Joan Smith",
        "isPrimary": false
        "isParent": false
      },
      {
        "GENDER": "Male",
        "FN": "John",
        "AGE": 30,
        "LN": "Smith",
        "instanceKey": "John Smith",
        "isPrimary": false
        "isParent": false
      },
      {
        "GENDER": "Male",
        "FN": "Robert",
        "AGE": 30,
        "LN": "Henderson",
        "instanceKey": "Robert Henderson",
        "isPrimary": false
        "isParent": false
      },
      {
        "GENDER": "Female",
        "FN": "Kinsey",
        "AGE": 20,
        "LN": "Schell",
        "instanceKey": "Kinsey Schell",
        "isPrimary": false
        "isParent": false
      }
    ],
    "AUTO": [{
        "autoLicNum": "Lexus",
        "autoModel": "LX250",
        "autoYear": 2015,
        "instanceKey": "2015 Lexus LX250",
        "BodyClass": "Sedan/Saloon",
        "VehicleType": "PASSENGER CAR",
        "isPrimary": true
        "isParent": true
      },
      {
        "autoLicNum": "Honda",
        "autoModel": "Odyssey",
        "autoYear": 2006,
        "instanceKey": "2006 Honda Odyssey",
        "BodyClass": "Minivan",
        "VehicleType": "MULTIPURPOSE PASSENGER VEHICLE (MPV)",
        "isPrimary": true
        "isParent": true                                
      }
    ]
  },
  "accountId": "0011I00000QknfjQAB",
  "opportunityId": "0061I00000AV8gBQAT"
},
"quoteId": "0Q01I000000206USAQ",
"error": "OK"

出力 JSON

新しく作成されたポリシーのポリシー ID が返されます。

{
    "policyId": "02if4000001uCZXAA2",
    "error": "OK"
}

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

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

例

通常、このサービスは OmniScript 見積-to-保険契約パターンで使用されます。

 
読み込み中
Salesforce Help | Article