Vous êtes ici :
InsPolicyService:createPolicyVersion
Utilisez ce service pour créer une nouvelle version d'une stratégie existante, tout en conservant l'enregistrement de la stratégie existante en l'état.
Ce service active la gestion des versions de stratégie. Toutes les modifications apportées à une stratégie sont suivies dans différentes versions de cette stratégie. Vous pouvez l'utiliser dans des OmniScripts de stratégie de modification et d'annulation et des Procédures d'intégration. Vous pouvez également utiliser ce service pour rétablir les polices expirées et annulées.
Ce service fonctionne avec Salesforce Financial Services Cloud pour la prise en charge facultative de la création de calendriers de paiement.
Fonctionnement
-
Prend la
assetIdou lapolicyIdde la stratégie actuelle, et le JSON indiqué par leinputKey. -
Crée un clone de la stratégie d'origine.
-
Si un calendrier de paiement existe, le service met à jour le calendrier de paiement et crée une entrée au calendrier de paiement à la date d'entrée en vigueur de l'avenant. Si
useIsPaidFlagest vrai, toutes les entrées futures du calendrier de paiement (à compter de la date effective) sans transaction (pour lesquelles le champ de statut estValidet le champ deisPaidn'est pas coché) sont mises à jour en fonction des nouvelles valeurs de prime, de taxe et de frais. La nouvelle entrée du calendrier de paiement contient les valeurs ajustées de prime, de taxe et de frais en fonction des nouvelles primes, taxes et frais, et des entrées du calendrier de paiement mises à jour. De plus, les enregistrements de contribution des composants de police dans chaque entrée du calendrier de paiement sont mis à jour. -
Le service utilise le Mode de calcul de la prime, le Type de paiement et la Fréquence de la prime de la police précédente, et le Total de la prime pour la durée, le Total des frais pour la durée et la Taxe totale pour la durée de la nouvelle police pour générer le calendrier de paiement modifié. En plus de la création de la transaction, les données de répartition des transactions sont remplies dans l'objet de détail de la transaction. Cet objet stocke des données sur la contribution de chaque actif, participant ou couverture au montant total des transactions en termes de primes, de taxe et de frais. Seuls les actifs, les participants et les couvertures avec au moins une valeur supérieure à zéro pour les primes, les taxes ou les frais sont affichés.
Remarque Mode de calcul de la prime, Type de paiement et Fréquence de la prime ne sont pas copiés de la stratégie précédente et doivent être transmis en tant qu'entrées au service via le JSON. -
Si
includeRevenueScheduleest défini sur true, il appelle le service du calendrier de revenu pour modifier le calendrier de revenu. -
S'il s'agit de la première modification de cette stratégie, le service appose le même
assetIdsur lesoriginalVersionId__cet lespreviousVersionId__c. S'il ne s'agit pas de la première modification de cette stratégie, le service reporte laOriginalVersionId__cà la nouvelle version et tamponne laassetIdprécédente à laPreviousVersionId__cdans la nouvelle stratégie. -
Si les nœuds
taxesAndFees,taxAmountet/oufeeAmountsont inclus dans le JSON d'entrée, les champs de taxe/frais et/ou les enregistrements correspondants sont créés et calculés au prorata dans la nouvelle version de la stratégie. -
Si applicable, une InsurancePolicyTransaction sera créée pour l'ajustement de paiement.
-
Si
calculateCommissionesttrue, le service appelleInsurancePolicyService.calculateAndSaveCommission, qui prépare l'entrée pour les services deInsCommissionService.calculateet deInsCommissionService.saveCommissions. Lorsque le service de calcul a traité l'entrée, le service d'enregistrement stocke la valeur calculée dansTotalCommissionAmount, puis cumule la valeur et l'ajoute à laTotalCommissionAmountde la stratégie d'origine. - Si l'indicateur de
disableAttributeCategoriesdu servicegetquotedetailest défini sur true, le service omet le nœud attributeCategory dans la réponse et le servicecreatePolicyVersionne parvient pas à créer les termes de la stratégie. Pour vous assurer que le service decreatePolicyVersioncrée des termes de stratégie, définissez l'indicateurdisableAttributeCategoriessur false dans le service degetQuoteDetail.
Taxes et frais
Voici comment fonctionne ce service pour les taxes et les frais :
-
Si le champ
taxesAndFeesest spécifié dans un enregistrement JSON, un enregistrementAssetPricingAdjustment__ccorrespondant est conservé pour chaque élément de la listetaxesAndFees. -
Si le champ
taxAmountest spécifié dans un enregistrement JSON, le champTaxAmount__cest défini sur la valeur du champtaxAmountdans l'objetAssetItemcréé. -
Si le champ
feeAmountest spécifié dans un enregistrement JSON, le champFeeAmount__cest défini sur la valeur du champfeeAmountdans leAssetItemcréé.
En ce qui concerne la politique actuelle (nouvellement créée) :
-
Si la stratégie actuelle a une
TotalTaxAmount__c, cette valeur est calculée au prorata sur les dates effectives et de fin, et définie dans le champTotalTaxForTerm__c. -
Si la stratégie actuelle a une
TotalFeeAmount__c, cette valeur est calculée au prorata sur les dates effectives et de fin, et définie dans le champTotalFeeForTerm__c. -
Si la
AssetItemde la stratégie actuelle a unTaxAmount__c, cette valeur est calculée au prorata sur les dates effectives et de fin, et définie dans le champProratedTaxAmount__c. -
Si la
AssetItemde la stratégie actuelle a unFeeAmount__c, cette valeur est calculée au prorata sur les dates effectives et de fin, et définie dans le champProratedFeeAmount__c.
Pour les polices déjà créées, voici comment les taxes et les frais sont transférés :
-
Si la stratégie précédente a une
TotalTaxAmount__c, cette valeur est calculée au prorata sur les nouvelles dates d'entrée en vigueur et de fin, et définie dans le champTotalTaxForTerm__c. -
Si la stratégie précédente a une
TotalFeeAmount__c, cette valeur est calculée au prorata sur les nouvelles dates d'entrée en vigueur et de fin, et définie dans le champTotalFeeForTerm__c. -
Si les champs AssetItem ont une
TaxAmount__c, cette valeur est calculée au prorata sur les nouvelles dates effectives et de fin, et définie dans le champProratedTaxAmount__c. -
Si les champs de
AssetItemde la police précédente ont uneFeeAmount__c, cette valeur est calculée au prorata sur les nouvelles dates d'entrée en vigueur et de fin, et définie dans le champProratedFeeAmount__c.
Enfin, si l'option de createTransaction (voir ci-dessous) est définie sur true, et que la nouvelle version de police est associée à des taxes et des frais, les champs TaxAmount__c et FeeAmount__c de la transaction créée sont définis sur la différence entre la nouvelle police (actuelle) et les TotalTaxForTerm__c et TotalFeeForTerm__c de la police précédente.
Options distantes
JSON d'entrée
Ce service recherche les inputKey spécifiés dans le JSON du produit.
"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"
}Si l'option de télécommande isCreatingPolicyTerms est définie sur true, un nœud policyTermIds est inclus. Voici un exemple de nœud policyTermIds :
{
"policyId": "02i6g000000h110AAA",
"policyTermIds": [
"a5X6g000001LeUUEA0",
"a5X6g000001LeUVEA0",
"a5X6g000001LeUWEA0",
"a5X6g000001LeUXEA0",
"a5X6g000001LeUYEA0",
"a5X6g000001LeUZEA0",
"a5X6g000001LeUaEAK",
"a5X6g000001LeUbEAK",
"a5X6g000001LeUcEAK",
"a5X6g000001LeUdEAK",
"a5X6g000001LeUeEAK",
"a5X6g000001LeUfEAK"
]
}