Loading
Insurance
InsPolicyService:createPolicyVersion

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.

Classe: InsPolicyService

Méthode : createPolicyVersion

Fonctionnement

  1. Prend la assetId ou la policyId de la stratégie actuelle, et le JSON indiqué par le inputKey.

  2. Crée un clone de la stratégie d'origine.

  3. 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 useIsPaidFlag est vrai, toutes les entrées futures du calendrier de paiement (à compter de la date effective) sans transaction (pour lesquelles le champ de statut est Valid et le champ de isPaid n'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.

  4. 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
    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.
  5. Si includeRevenueSchedule est défini sur true, il appelle le service du calendrier de revenu pour modifier le calendrier de revenu.

  6. S'il s'agit de la première modification de cette stratégie, le service appose le même assetId sur les originalVersionId__c et les previousVersionId__c. S'il ne s'agit pas de la première modification de cette stratégie, le service reporte la OriginalVersionId__c à la nouvelle version et tamponne la assetId précédente à la PreviousVersionId__c dans la nouvelle stratégie.

  7. Si les nœuds taxesAndFees, taxAmount et/ou feeAmount sont 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.

  8. Si applicable, une InsurancePolicyTransaction sera créée pour l'ajustement de paiement.

  9. Si calculateCommission est true, le service appelle InsurancePolicyService.calculateAndSaveCommission, qui prépare l'entrée pour les services de InsCommissionService.calculate et de InsCommissionService.saveCommissions. Lorsque le service de calcul a traité l'entrée, le service d'enregistrement stocke la valeur calculée dans TotalCommissionAmount, puis cumule la valeur et l'ajoute à la TotalCommissionAmount de la stratégie d'origine.

  10. Si l'indicateur de disableAttributeCategories du service getquotedetail est défini sur true, le service omet le nœud attributeCategory dans la réponse et le service createPolicyVersion ne parvient pas à créer les termes de la stratégie. Pour vous assurer que le service de createPolicyVersion crée des termes de stratégie, définissez l'indicateur disableAttributeCategories sur false dans le service de getQuoteDetail.
Remarque
Remarque Le service prend également en charge les recommandations de polices dont la durée de la version d'origine est inférieure à 365 jours ou inférieure à 366 jours par année bissextile. Consultez Considérations et limitations relatives aux polices d'assurance.

Taxes et frais

Voici comment fonctionne ce service pour les taxes et les frais :

  • Si le champ taxesAndFees est spécifié dans un enregistrement JSON, un enregistrement AssetPricingAdjustment__c correspondant est conservé pour chaque élément de la liste taxesAndFees.

  • Si le champ taxAmount est spécifié dans un enregistrement JSON, le champ TaxAmount__c est défini sur la valeur du champ taxAmount dans l'objet AssetItem créé.

  • Si le champ feeAmount est spécifié dans un enregistrement JSON, le champ FeeAmount__c est défini sur la valeur du champ feeAmount dans le AssetItem créé.

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 champ TotalTaxForTerm__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 champ TotalFeeForTerm__c.

  • Si la AssetItem de la stratégie actuelle a un TaxAmount__c, cette valeur est calculée au prorata sur les dates effectives et de fin, et définie dans le champ ProratedTaxAmount__c.

  • Si la AssetItem de la stratégie actuelle a un FeeAmount__c, cette valeur est calculée au prorata sur les dates effectives et de fin, et définie dans le champ ProratedFeeAmount__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 champ TotalTaxForTerm__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 champ TotalFeeForTerm__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 champ ProratedTaxAmount__c.

  • Si les champs de AssetItem de la police précédente ont une FeeAmount__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 champ ProratedFeeAmount__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

Option

Description

assetId ou policyId

Obligatoire.

L'ID de la politique actuelle.

createContactForParticipants

Facultatif.

true ou false

Par défaut true.

Si false, le service ne crée pas d'enregistrement de contact.

createInsuredItemsRelationships

true ou false

Si cette option est définie sur true, vous pouvez spécifier une liste de relations instanceKey > parentInstanceKey entre les éléments assurés.

Cette option prend en charge les relations parent > enfant et parent > enfant > élément assuré petit-enfant.

createTransaction

Facultatif.

true ou false

Par défaut false.

Si true, le service crée une transaction qui sera utilisée par les services du calendrier de revenu.

effectiveDate

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

La date à laquelle la police entre en vigueur.

Si la carte des options ne contient aucune valeur de effectiveDate, le service la recherche dans la carte des rootAttributes. Si le service n'y trouve pas de effectiveDate, il utilise la date du jour.

Si vous utilisez le package Insurance Industries Extension, la valeur de l'horodatage dans l'option effectiveDate est ignorée. À la place, la valeur de l'horodatage de la date effective est définie sur minuit de la date effective sélectionnée, et la valeur de la date d'expiration est définie sur 23h59 pour la date d'expiration sélectionnée. L'horodatage est défini en utilisant le fuseau horaire spécifié par l'utilisateur.

getDataCustomClassName

Facultatif.

Le nom de la classe personnalisée que ce service utilise pour récupérer les informations de la politique (actif).

Si vous utilisez Salesforce FSC, vous devez spécifier cette option ou postDataDRBundleName.

La valeur par défaut est définie sur GetInsurancePolicy.

getDataDRBundleName

Optional,

Le nom du Data Mapper que ce service utilise pour récupérer les informations de la politique (actif).

Si vous utilisez Salesforce FSC, vous devez spécifier cette option ou getDataCustomClassName.

  • Si vous spécifiez les deux, le service utilise la valeur getDataDRBundleName.

  • Si vous ne spécifiez pas l'un ou l'autre, le service utilise la valeur par défaut pour getDataCustomClassName (GetInsurancePolicy).

includePaymentSchedule

Facultatif.

True si le calendrier de paiement sera mis à jour pour la politique.

La valeur par défaut est false.

includeRevenueSchedule

Facultatif. Utilisé uniquement si createTransaction est défini sur true.

true ou false

Si true, cette option appelle InsPolicyRevenueScheduleService : modifier

inputKey

Obligatoire.

%theJSONyouneed%

isCreatingPolicyTerms

true ou false

Lorsqu'il est défini sur true, le service renvoie un nœud policyTermIds dans le JSON de sortie.

postDataCustomClassName

Facultatif.

Le nom de la classe personnalisée que ce service utilise pour enregistrer la nouvelle version de la stratégie.

Si vous utilisez Salesforce FSC, vous devez spécifier cette option ou postDataDRBundleName.

La valeur par défaut est définie sur PostInsurancePolicy.

postDataDRBundleName

Facultatif.

Le nom du Data Mapper que ce service utilise pour enregistrer la nouvelle version de la stratégie.

Si vous utilisez SalesForce FSC, vous devez spécifier cette option ou postDataCustomClassName.

  • Si vous spécifiez les deux, le service utilise la valeur postDataDRBundleName.

  • Si vous ne spécifiez pas l'un ou l'autre, le service utilise la valeur par défaut pour postDataCustomClassName (PostInsurancePolicy).

transactionType

Facultatif. Utilisé uniquement si createTransaction est défini sur true.

Si aucune valeur n'est fournie pour transactionType, elle est définie par défaut sur Changed/Endorsed.

updateDataCustomClassName

Facultatif.

Met à jour la stratégie actuelle.

Si vous utilisez Salesforce FSC, vous devez spécifier cette option ou updateDataDRBundleName.

La valeur par défaut est définie sur PostInsurancePolicy.

updateDataDRBundleName

Facultatif.

Le nom du Data Mapper que ce service utilise pour mettre à jour la stratégie actuelle.

Si vous utilisez Salesforce FSC, vous devez spécifier cette option ou updateDataCustomClassName.

  • Si vous spécifiez les deux, le service utilise la valeur updateDataDRBundleName.

  • Si vous ne spécifiez pas l'un ou l'autre, le service utilise la valeur par défaut pour updateDataCustomClassName (PostInsurancePolicy).

useLocalTimezone

true ou false

Par défaut true.

Lorsqu'il est défini sur true, ce service utilise le fuseau horaire local sous lequel la version de la stratégie est créée.

Lorsqu'il est défini sur false, ce service utilise le fuseau horaire GMT.

calculateCommission

true ou false

Lorsqu'il est défini sur true, le service calcule les commissions pour les éléments racines et enregistre le montant total dans TotalCommissionAmount.

Lorsqu'il est défini sur false (valeur par défaut), le service ne calcule pas les commissions.

Remarque
Remarque

Si vous définissez cette option sur true, vous devez également saisir au moins l'une des valeurs de code producteur ou production : producerId , productionCodeId ou productionCodeName.

commissionType

Facultatif.

Type de commission (par exemple, Bonus ou Standard).

commissionStatus

Facultatif.

Statut de la commission (par exemple, En attente, Payé ou Renoncé).

producerId

Facultatif.

L'ID de producteur de traitement, c'est-à-dire le producteur utilisé pour récupérer commissionScheduleId et calculer le montant de la commission.

Attribué à InsurancePolicy.ProducerId.

productionCodeId

Facultatif.

L'ID de code de production.

Attribué à InsurancePolicy.ProductionCodeId__c.

productionCodeName

Facultatif.

Le nom de code de production a été transmis au service InsCommissionService.calculate.

Si vous ne saisissez pas de productionCodeId, le service utilise productionCodeName pour référencer le productionCodeId. Si vous saisissez les deux valeurs, mais qu'elles ne correspondent pas, la productionCodeId est prioritaire.

memberPlanIntegrationProcedure

Initie une procédure d'intégration personnalisée basée sur la configuration de l'utilisateur. Lorsque vous utilisez cette option, elle transmet toutes les options du service à la procédure d'intégration personnalisée et tous les ID de police en tant qu'entrée à intégrer à l'objet, par exemple l'objet Police d'assurance avec le régime du membre.

ratingDate

La date d'évaluation utilisée pour calculer le prix du JSON d'entrée.

Remarque
Remarque Vous ne pouvez pas transmettre une heure spécifique pour ratingField, car le type de champ est Date. Par conséquent, l'horodatage de la date d'évaluation est défini par défaut sur minuit.
term

La durée de la politique que le service crée.

InsPolicyService:createPolicyVersion prend en charge uniquement les durées de police annuelles.

useIsPaidFlag

Facultatif

Spécifie si l'indicateur de IsPaid doit être activé ou non.

Si true, le champ isPaid de l'objet Entrée du calendrier de paiement est pris en compte lors du calcul de la prime, de la taxe et des frais.

La valeur par défaut est false.

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"
  ]
}

JSON de sortie

Le service renvoie le nouveau numéro de version de la stratégie dans le JSON de sortie.

{
    "policyId": "02i0b00000uRwhVAAS"
    "error": "ok"
}
 
Chargement
Salesforce Help | Article