Вы находитесь здесь:
InsPolicyService:createUpdatePolicy
Используйте эту службу для создания нового страхового полиса или обновления существующего полиса новыми сведениями.
Эту службу можно использовать с Salesforce Financial Services Cloud для дополнительной поддержки создания графика платежей.
Как это работает
-
Служба ищет вводные данные JSON для
inputKey. УзелinputKeyсодержит сведения, необходимые службе для создания или обновления политики. Информация, необходимая для данной услуги, включает:-
accountId -
term -
productConfigurationDetailзаписи -
Записи
insuredItems(дополнительно) -
endDate -
effectiveDate
-
-
Создает объект «Политика (актив)».
-
При наличии текущего расписания оплаты полиса служба возвращает сообщение об ошибке.
-
При первоначальной оплате будет создана InsurancePolicyTransaction. В дополнение к созданию транзакции, данные разбивки транзакций заполняются в объект сведений о транзакции. Этот объект сохраняет данные о том, сколько каждый актив, участник или покрытие вносит в общую сумму транзакций в виде вознаграждения, налога и платежей. Отображаются только активы, участники и покрытия с как минимум одним значением больше нуля для вознаграждения, налога или платежей. Необходимо добавить объект сведений о транзакции в связанный список для транзакций.
-
При сохранении расписания оплаты записи будут связаны с Исходным кодом полиса.
-
Если узлы
taxesAndfees,taxAmountи/илиfeeAmountприсутствуют в JSON ввода, создаются записи налога и/или платежа. -
Возвращает код политики в выводе JSON, если служба не передана
assetId.Если службе передается
assetIdво вводе JSON, она обновляет актив, указанныйassetId. -
If
calculateCommission=true: служба вызываетInsurancePolicyService.calculateAndSaveCommission, которая подготавливает вводные данные для службInsCommissionService.calculateиInsCommissionService.saveCommissions. После обработки ввода службой вычисления служба сохранения сохраняет вычисленное значение вTotalCommissionAmount.-
Служба вызывает
InsurancePolicyService.calculateAndSaveCommission, которая подготавливает вводные данные для службInsCommissionService.calculateиInsCommissionService.saveCommissions. -
Тип комиссии (например, комиссия или бонус) передается службе
InsCommissionService.saveCommissionsкакcommissionType. -
Статус комиссии (например, «Отменено» или «Оплачено») передается службе
InsCommissionService.saveCommissionsкакcommissionStatus.
После обработки ввода службой вычисления служба сохранения сохраняет вычисленное значение в
TotalCommissionAmount. -
endDate и effectiveDate определяют продолжительность полиса. Продолжительность первой версии политики может составлять менее 365 дней или менее 366 дней в високосном году. См. Рекомендации и ограничения для страховых полисов.Налоги и сборы
Ниже указано, как работает данная служба при использовании налогов и сборов:
Если поле
taxesAndFeesуказано в записи JSON, соответствующая записьAssetPricingAdjustment__cсохраняется для каждого элемента в спискеtaxesAndFees.Если поле
taxAmountуказано в записи JSON, полеTaxAmount__cустанавливается на значение поля taxAmount в созданномAssetItem.Если поле
feeAmountуказано в записи JSON, полеFeeAmount__cустанавливается на значение поляfeeAmountвAssetItem.
Удаленные параметры
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"
},
}JSON в inputKey содержит несколько пар ключ/значение, нужных службе для создания или обновления политики. Она также содержит продукт JSON с ценообразованием для застрахованных элементов и общим полисом.
Клавиша |
Значение |
|---|---|
|
Созданный код организации для актива. |
|
Дополнительно. Пары ключ/значение, включая любые поля политики (актива), не являющиеся частью службы. |
|
Дополнительно. Дата истечения срока действия полиса. |
|
Дата вступления политики в силу. Если значение |
|
Пары ключ/значение застрахованных элементов, используемые службой для создания полиса. |
|
Дата изменения политики |
|
Массив записей, которые следуют модели структуры 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
Служба возвращает код политики недавно созданной политики.
{
"policyId": "02if4000001uCZXAA2",
"error": "OK"
}Если параметр isCreatingPolicyTerms remote установлен на true, добавляется узел policyTermIds. Ниже указан пример узла policyTermIds:
{
"policyId": "02i6g000000h110AAA",
"policyTermIds": [
"a5X6g000001LeUUEA0",
"a5X6g000001LeUVEA0",
"a5X6g000001LeUWEA0",
"a5X6g000001LeUXEA0",
"a5X6g000001LeUYEA0",
"a5X6g000001LeUZEA0",
"a5X6g000001LeUaEAK",
"a5X6g000001LeUbEAK",
"a5X6g000001LeUcEAK",
"a5X6g000001LeUdEAK",
"a5X6g000001LeUeEAK",
"a5X6g000001LeUfEAK"
]
}