Loading
Insurance
InsPolicyService:createUpdatePolicy

InsPolicyService:createUpdatePolicy

Utilisez ce service pour créer une police d'assurance ou mettre à jour une police existante avec de nouvelles informations.

Ce service peut être utilisé avec Salesforce Financial Services Cloud pour la prise en charge facultative de la création de calendriers de paiement.

Classe: InsPolicyService

Méthode : createUpdatePolicy

Fonctionnement

  1. Le service recherche le inputKey dans le JSON d'entrée. Le nœud inputKey contient les informations dont le service a besoin pour créer ou mettre à jour une stratégie. Les informations requises pour ce service comprennent :

    • accountId

    • term

    • Enregistrements productConfigurationDetail

    • Enregistrements insuredItems (facultatif)

    • endDate

    • effectiveDate

  2. Crée un objet Police (actif).

  3. Si un calendrier de paiement existe pour la stratégie, le service renvoie un message d'erreur.

  4. En cas de paiement initial, une InsurancePolicyTransaction est créée. 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. Vous devez ajouter l'objet de détail de la transaction à la Liste associée de la transaction.

  5. Si vous enregistrez le calendrier de paiement, les enregistrements sont liés à l'ID de police d'origine de la police.

  6. Si des nœuds taxesAndfees, taxAmount et/ou feeAmount sont présents dans le JSON d'entrée, les enregistrements de taxe et/ou de frais sont créés.

  7. Renvoie un ID de stratégie dans le JSON de sortie si le service n'a pas passé un assetId.

    Si le service reçoit un assetId dans le JSON d'entrée, il met à jour l'actif spécifié par le assetId.

  8. Si calculateCommission=true: le InsurancePolicyService.calculateAndSaveCommission des appels de service, 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.

    • Le service appelle InsurancePolicyService.calculateAndSaveCommission, qui prépare l'entrée pour les services de InsCommissionService.calculate et de InsCommissionService.saveCommissions.

    • Le type de commission (par exemple Commission ou Bonus) est transmis au service de InsCommissionService.saveCommissions en tant que commissionType.

    • Le statut de commission (par exemple, Renoncé ou Payé) est transmis au service de InsCommissionService.saveCommissions en tant que commissionStatus.

    Une fois que le service de calcul a traité l'entrée, le service d'enregistrement stocke la valeur calculée en TotalCommissionAmount.

Remarque
Remarque La endDate et la effectiveDate déterminent la durée de la police. La durée de la première version de la police peut être 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 si des taxes et des frais sont utilisés :

  • 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 le 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.

Options distantes

Option

Description

assetId

Facultatif.

L'ID d'une stratégie existante que ce service met à jour en fonction d'informations nouvelles ou mises à jour. Utilisé lorsque le service doit mettre à jour une stratégie existante.

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 utilisée par les services du calendrier de revenu.

Le service remplit également les données de répartition des transactions dans l'objet Détails de la transaction. Il affiche des données sur la contribution de chaque actif, participant et couverture au montant total de la transaction en termes de prime, de taxe et de frais. Seuls les actifs, les participants et les couvertures qui ont au moins une valeur différente de zéro pour les montants des primes, des taxes et des frais sont affichés. L'objet de détail de la transaction doit être ajouté à la liste associée des transactions.

coolingOffPeriod

Facultatif

Le nombre de jours pendant lesquels vous pouvez retarder la première entrée au calendrier de paiement.

Avec la période de réflexion, la date du premier calendrier de paiement de la police est calculée sur la base de la date effective + le nombre de jours.

Par exemple, il existe une fréquence de paiement mensuelle où la date effective est le 5 janvier et la date du premier calendrier de paiement est le 5 janvier. Si nous appliquons une période de réflexion de 14 jours, la première entrée du calendrier de paiement change du 5 au 19 janvier. Les dates restantes du calendrier de paiement mensuel restent inchangées.

Remarque
Remarque La période de réflexion doit être comprise entre 1 et 28 jours à compter de la date de début de la police.

effectiveDate

%« AAAA-MM-JJ HH:MM:SS » ou %OmniScriptDataElement%

La date à laquelle la stratégie (ou la mise à jour de la stratégie) 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.

generatePolicyNumber

true or false

Si true, cette option utilise la UniqueIdGenerator pour créer un numéro de police unique. Ce numéro est stocké sous forme de Asset.SerialNumber.

includePaymentSchedule

Facultatif.

True si le calendrier de paiement sera créé pour la police.

La valeur par défaut est false.

includeRevenueSchedule

Facultatif.

true ou false

Si true, cette option appelle InsPolicyRevenueScheduleService : service createRevenueSchedule pour créer un calendrier de revenu ou InsPolicyRevenueScheduleService : modifyRevenueSchedule si la stratégie est mise à jour.

Si false, le service ne crée pas de calendrier de revenu pour cette stratégie.

initialPaymentRule

Facultatif.

Pourcentage, Mois ou Jours.

initialTransactionName

Facultatif.

Le nom de la transaction.

La valeur par défaut est la même que initialPaymentTransactionType.

initialPaymentTransactionType

Facultatif.

Le type de transaction.

La valeur par défaut est Frais Premium.

initialPaymentValue

Obligatoire si le initialPaymentRule est fourni.

La valeur Pourcentage, ou le nombre de mois ou de jours.

inputKey

Obligatoire.

Un JSON dont ce service extrait les informations nécessaires pour créer ou mettre à jour une stratégie.

isCreatingPolicyTerms

true ou false

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

isFsc

Facultatif.

True si la Police à créer est un objet InsurancePolicy.

La valeur par défaut est false.

Vous pouvez spécifierpostDataCustomClassName ou postDataDRBundleName.

Si vous ne spécifiez pas l'une de ces options, le service est défini par défaut sur postDataCustomClassName.

paymentCalculationMethod

Obligatoire si includePaymentSchedule est true.

Remplace la valeur Méthode de calcul de la prime de la police.

paymentFrequency

Obligatoire si includePaymentSchedule est true.

Remplace la valeur PremiumFrequency de la Police.

paymentStartDate

Facultatif.

La date de la première entrée du calendrier de paiement.

Par défaut, la date d'entrée en vigueur de la police.

paymentType

Obligatoire si includePaymentSchedule est true.

Remplace la valeur Type de paiement Premium de la police.

postDataCustomClassName

Facultatif.

Vous devez spécifier cette option ou postDataDRBundleName.

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

postDataDRBundleName

Facultatif.

Vous devez spécifier cette option ou postDataCustomClassName.

Si vous ne spécifiez pas cette option, la valeur par défaut est postDataCustomClassName.

transactionType

%OmniScriptDataElement%

Utiliser si includeRevenueSchedule est défini sur true.

Si aucune valeur n'est définie, la valeur par défaut est Police vendue.

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, le service nécessite au moins l'une des valeurs de code producteur ou de 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é à 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 va créer.

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

useIsPaidFlag

Facultatif

Si true avec includePaymentSchedule également défini sur true, le service crée des enregistrements de contribution de composants de police pour chaque entrée au calendrier de paiement.

La valeur par défaut est false.

JSON d'entrée

Ce service recherche la valeur du inputKey.

Dans cet exemple, 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"
  },
}

Le JSON de l'inputKey inclut plusieurs paires clé/valeur dont le service a besoin pour créer ou mettre à jour une stratégie. Il inclut également le JSON du produit, avec la tarification des articles assurés et la police totale.

Clé

Valeur

accountId

L'ID de compte généré pour l'actif.

additionalFields

Facultatif.

Paires clé/valeur, y compris tous les champs de stratégie (actif) qui ne font pas partie du service.

endDate

Facultatif.

La date à laquelle la police expire.

effectiveDate

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.

insuredItems

Les paires clé/valeur des éléments assurés que le service utilise pour créer la police.

modificationDate

La date de modification de la politique

productConfigurationDetail

Un groupe d'enregistrements qui suivent le modèle de structure JSON du produit.

term

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

Les enregistrements de insuredItems de cet exemple comprennent les articles assurés et les valeurs que l'utilisateur a sélectionnées pour chacun d'eux.

Dans cet exemple, 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 de sortie

Le service renvoie l'ID de la nouvelle stratégie créée.

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

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

Exemples

Le service est généralement utilisé dans le modèle Devis vers politique OmniScript.

 
Chargement
Salesforce Help | Article