詳細情報:
InsPolicyService:createUpdatePolicy
このサービスを使用して、新しい保険契約を作成したり、新しい情報で既存の保険契約を更新したりします。
仕組み
-
サービスは入力 JSON で
inputKeyを検索します。inputKeyノードには、サービスがポリシーを作成または更新するために必要な情報が含まれます。このサービスで必要な情報は次のとおりです。-
accountId -
term -
productConfigurationDetailレコード -
insuredItemsレコード (省略可能) -
endDate -
effectiveDate
-
-
保険契約 (納入商品) オブジェクトを作成します。
-
保険契約の既存の支払スケジュールがある場合、サービスはエラーメッセージを返します。
-
最初の支払がある場合、InsurancePolicyTransaction が作成されます。トランザクションの作成に加えて、トランザクション内訳データがトランザクション詳細オブジェクトに入力されます。このオブジェクトには、各納入商品、関係者、または補償が保険料、税金、手数料の観点で取引総額にどの程度寄与しているかに関するデータが保存されます。納入商品、関係者、および保険料、税金、手数料の値が 0 より大きい補償のみが表示されています。トランザクションの詳細オブジェクトを [トランザクションの関連リスト] に追加する必要があります。
-
支払スケジュールを保存する場合、レコードはポリシーの元のポリシー ID にリンクされます。
-
入力 JSON に
taxesAndfees、taxAmount、またはfeeAmountノードがある場合、税金レコードまたは手数料レコード、あるいはその両方が作成されます。 -
サービスが
assetIdに渡されなかった場合、出力 JSON でポリシー ID を返します。サービスが入力 JSON で
assetIdを渡されると、assetIdによって指定されたアセットが更新されます。 -
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フィールドの値に設定されます。
リモートオプション
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 も含まれます。
キー |
値 |
|---|---|
|
アセットの生成済み取引先 ID。 |
|
省略可能。 サービスに含まれていないポリシー (納入商品) 項目を含むキー/値のペア。 |
|
省略可能。 保険契約の有効期限が切れる日付。 |
|
ポリシーが有効になる日付。 オプション マップに |
|
サービスが保険契約の作成に使用する保険項目のキー/値のペア。 |
|
ポリシーが変更された日付 |
|
商品 JSON 構造モデルに従うレコードの配列。 |
|
サービスが作成する保険契約の期間。 |
この例の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"
]
}