Ti trovi qui:
InsPolicyService:createUpdatePolicy
Utilizzare questo servizio per creare una nuova polizza assicurativa o per aggiornare una polizza esistente con nuove informazioni.
Questo servizio può essere utilizzato con Salesforce Financial Services Cloud per il supporto facoltativo per la creazione di Pianificazioni di pagamento.
Come funziona
-
Il servizio cerca il
inputKeynel JSON di input. Il nodoinputKeycontiene le informazioni necessarie al servizio per creare o aggiornare una policy. Le informazioni richieste da questo servizio includono:-
accountId -
term -
Record
productConfigurationDetail -
Record
insuredItems(facoltativo) -
endDate -
effectiveDate
-
-
Crea un oggetto Policy (asset).
-
Se esiste una pianificazione di pagamento per la polizza, il servizio restituisce un messaggio di errore.
-
Se è presente un pagamento iniziale, verrà creata una InsurancePolicyTransaction. Oltre alla creazione della transazione, i dati di suddivisione delle transazioni vengono compilati nell'oggetto dettaglio della transazione. Questo oggetto memorizza i dati relativi al contributo di ogni asset, partecipante o copertura all'ammontare totale delle transazioni in termini di premi, imposte e commissioni. Vengono visualizzati solo gli asset, i partecipanti e le coperture con almeno un valore maggiore di zero per premi, imposte o commissioni. È necessario aggiungere l'oggetto dettaglio transazione all'Elenco correlato per la transazione.
-
Se si salva la pianificazione di pagamento, i record saranno collegati all'ID policy originale della policy.
-
Se nel JSON di input sono presenti nodi
taxesAndfees,taxAmounte/ofeeAmount, vengono creati i record imposta e/o tariffa. -
Restituisce un ID policy nel JSON di output se al servizio non viene passato un
assetId.Se al servizio viene passata un'
assetIdnel JSON di input, viene aggiornato l'asset specificato dall'assetId. -
Se
calculateCommission=true: il servizio chiamaInsurancePolicyService.calculateAndSaveCommission, che prepara l'input per i servizi diInsCommissionService.calculateeInsCommissionService.saveCommissions. Dopo che il servizio di calcolo ha elaborato l'input, il servizio di salvataggio memorizza il valore calcolato inTotalCommissionAmount.-
Il servizio chiama
InsurancePolicyService.calculateAndSaveCommission, che prepara l'input per i servizi diInsCommissionService.calculateeInsCommissionService.saveCommissions. -
Il tipo di commissione (ad esempio, Commissione o Bonus) viene passato al servizio
InsCommissionService.saveCommissionscomecommissionType. -
Lo stato della commissione (ad esempio, Derogato o Pagato) viene passato al servizio
InsCommissionService.saveCommissionscomecommissionStatus.
Dopo che il servizio di calcolo ha elaborato l'input, il servizio di salvataggio memorizza il valore calcolato in
TotalCommissionAmount. -
endDate e il effectiveDate determinano la durata della polizza. La durata della prima versione della policy può essere inferiore a 365 giorni o inferiore a 366 giorni in un anno bisestile. Vedere Considerazioni e limitazioni per le polizze assicurative.Tasse e commissioni
Ecco come funziona questo servizio se vengono utilizzate imposte e commissioni:
Se il campo
taxesAndFeesè specificato in un record JSON, viene mantenuto un recordAssetPricingAdjustment__ccorrispondente per ogni elemento dell'elencotaxesAndFees.Se il campo
taxAmountè specificato in un record JSON, il campoTaxAmount__cviene impostato sul valore del campo taxAmount nelAssetItemcreato.Se il campo
feeAmountè specificato in un record JSON, il campoFeeAmount__cviene impostato sul valore del campofeeAmountsulAssetItem.
Opzioni remote
Input JSON
Questo servizio cerca il valore del inputKey.
Per questo esempio, 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"
},
}Il JSON all'interno del inputKey include diverse coppie chiave/valore necessarie al servizio per creare o aggiornare una policy. Include anche il prodotto JSON, con i prezzi per gli articoli assicurati e la polizza totale.
Chiave |
Valore |
|---|---|
|
ID account generato per l'asset. |
|
Facoltativo. Coppie chiave/valore, inclusi eventuali campi policy (asset) che non fanno parte del servizio. |
|
Facoltativo. Data di scadenza della polizza. |
|
Data di entrata in vigore della policy. Se nella mappa delle opzioni non è presente alcun valore di |
|
Coppie chiave/valore degli articoli assicurati utilizzati dal servizio per creare la polizza. |
|
Data in cui la policy è stata modificata |
|
Una matrice di record che segue il modello di struttura JSON del prodotto. |
|
Termine della policy creata dal servizio. |
I record insuredItems di questo esempio includono gli articoli assicurati e i valori selezionati dall'utente per ciascuno di essi.
Per questo esempio, 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 di output
Il servizio restituisce l'ID policy della policy appena creata.
{
"policyId": "02if4000001uCZXAA2",
"error": "OK"
}Se l'opzione isCreatingPolicyTerms remoto è impostata su true, viene incluso un nodo policyTermIds. Di seguito è riportato un esempio di nodo policyTermIds:
{
"policyId": "02i6g000000h110AAA",
"policyTermIds": [
"a5X6g000001LeUUEA0",
"a5X6g000001LeUVEA0",
"a5X6g000001LeUWEA0",
"a5X6g000001LeUXEA0",
"a5X6g000001LeUYEA0",
"a5X6g000001LeUZEA0",
"a5X6g000001LeUaEAK",
"a5X6g000001LeUbEAK",
"a5X6g000001LeUcEAK",
"a5X6g000001LeUdEAK",
"a5X6g000001LeUeEAK",
"a5X6g000001LeUfEAK"
]
}