Vous êtes ici :
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.
Fonctionnement
-
Le service recherche le
inputKeydans le JSON d'entrée. Le nœudinputKeycontient 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
-
-
Crée un objet Police (actif).
-
Si un calendrier de paiement existe pour la stratégie, le service renvoie un message d'erreur.
-
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.
-
Si vous enregistrez le calendrier de paiement, les enregistrements sont liés à l'ID de police d'origine de la police.
-
Si des nœuds
taxesAndfees,taxAmountet/oufeeAmountsont présents dans le JSON d'entrée, les enregistrements de taxe et/ou de frais sont créés. -
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
assetIddans le JSON d'entrée, il met à jour l'actif spécifié par leassetId. -
Si
calculateCommission=true: leInsurancePolicyService.calculateAndSaveCommissiondes appels de service, 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.-
Le service appelle
InsurancePolicyService.calculateAndSaveCommission, qui prépare l'entrée pour les services deInsCommissionService.calculateet deInsCommissionService.saveCommissions. -
Le type de commission (par exemple Commission ou Bonus) est transmis au service de
InsCommissionService.saveCommissionsen tant quecommissionType. -
Le statut de commission (par exemple, Renoncé ou Payé) est transmis au service de
InsCommissionService.saveCommissionsen tant quecommissionStatus.
Une fois que le service de calcul a traité l'entrée, le service d'enregistrement stocke la valeur calculée en
TotalCommissionAmount. -
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
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 champ taxAmount dans leAssetItemcréé.Si le champ
feeAmountest spécifié dans un enregistrement JSON, le champFeeAmount__cest défini sur la valeur du champfeeAmountdans leAssetItem.
Options distantes
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 |
|---|---|
|
L'ID de compte généré pour l'actif. |
|
Facultatif. Paires clé/valeur, y compris tous les champs de stratégie (actif) qui ne font pas partie du service. |
|
Facultatif. La date à laquelle la police expire. |
|
La date à laquelle la police entre en vigueur. Si la carte des options ne contient aucune valeur de |
|
Les paires clé/valeur des éléments assurés que le service utilise pour créer la police. |
|
La date de modification de la politique |
|
Un groupe d'enregistrements qui suivent le modèle de structure JSON du produit. |
|
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"
]
}