Loading
Assicurazioni
InsPolicyService:createUpdatePolicy

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.

Classe: InsPolicyService

Metodo: createUpdatePolicy

Come funziona

  1. Il servizio cerca il inputKey nel JSON di input. Il nodo inputKey contiene 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

  2. Crea un oggetto Policy (asset).

  3. Se esiste una pianificazione di pagamento per la polizza, il servizio restituisce un messaggio di errore.

  4. 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.

  5. Se si salva la pianificazione di pagamento, i record saranno collegati all'ID policy originale della policy.

  6. Se nel JSON di input sono presenti nodi taxesAndfees, taxAmount e/o feeAmount, vengono creati i record imposta e/o tariffa.

  7. Restituisce un ID policy nel JSON di output se al servizio non viene passato un assetId.

    Se al servizio viene passata un'assetId nel JSON di input, viene aggiornato l'asset specificato dall'assetId.

  8. Se calculateCommission=true: il servizio chiama InsurancePolicyService.calculateAndSaveCommission, che prepara l'input per i servizi di InsCommissionService.calculate e InsCommissionService.saveCommissions. Dopo che il servizio di calcolo ha elaborato l'input, il servizio di salvataggio memorizza il valore calcolato in TotalCommissionAmount.

    • Il servizio chiama InsurancePolicyService.calculateAndSaveCommission, che prepara l'input per i servizi di InsCommissionService.calculate e InsCommissionService.saveCommissions.

    • Il tipo di commissione (ad esempio, Commissione o Bonus) viene passato al servizio InsCommissionService.saveCommissions come commissionType.

    • Lo stato della commissione (ad esempio, Derogato o Pagato) viene passato al servizio InsCommissionService.saveCommissions come commissionStatus.

    Dopo che il servizio di calcolo ha elaborato l'input, il servizio di salvataggio memorizza il valore calcolato in TotalCommissionAmount.

Nota
Nota Il 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 record AssetPricingAdjustment__c corrispondente per ogni elemento dell'elenco taxesAndFees.

  • Se il campo taxAmount è specificato in un record JSON, il campo TaxAmount__c viene impostato sul valore del campo taxAmount nel AssetItem creato.

  • Se il campo feeAmount è specificato in un record JSON, il campo FeeAmount__c viene impostato sul valore del campo feeAmount sul AssetItem.

Opzioni remote

Opzione

Descrizione

assetId

Facoltativo.

ID di una policy esistente che il servizio aggiorna in base a informazioni nuove o aggiornate. Utilizzato quando il servizio deve aggiornare una policy esistente.

createContactForParticipants

Facoltativo.

true o false

Per impostazione predefinita, true.

Se false, il servizio non crea record referente.

createInsuredItemsRelationships

true o false

Se questa opzione è impostata su true, è possibile specificare un elenco di instanceKey > Relazioni di parentInstanceKey tra voci assicurate.

Questa opzione supporta le relazioni voce controllante > controllato e controllante > controllato > assicurato nipote.

createTransaction

Facoltativo.

true o false

Per impostazione predefinita, false.

Se true, il servizio crea una transazione utilizzata dai servizi di pianificazione del reddito.

Il servizio compila anche i dati di suddivisione delle transazioni nell'oggetto dettaglio transazione. Visualizza i dati relativi al contributo di ogni asset, partecipante e copertura all'ammontare totale della transazione in termini di premi, imposte e commissioni. Vengono visualizzati solo gli asset, i partecipanti e le coperture che hanno almeno un valore diverso da zero per l'ammontare di premi, imposte e commissioni. L'oggetto dettaglio transazione deve essere aggiunto all'elenco correlato delle transazioni.

coolingOffPeriod

Facoltativo

Numero di giorni in cui è possibile ritardare la prima immissione del piano di pagamento.

Con il periodo di riflessione, la prima data di pianificazione del pagamento della polizza viene calcolata come data effettiva + numero di giorni.

Ad esempio, esiste una frequenza di pagamento mensile in cui la data effettiva è il 5 gennaio e la prima data della pianificazione di pagamento è il 5 gennaio. Se si applica un periodo di riflessione di 14 giorni, la prima voce della pianificazione di pagamento cambia dal 5 gennaio al 19 gennaio. Le date della pianificazione di pagamento mensile rimanenti rimangono invariate.

Nota
Nota Il periodo di riflessione deve essere compreso tra 1 e 28 giorni dalla data iniziale della polizza.

effectiveDate

%“AAAA-MM-GG HH:MM:SS” o %OmniScriptDataElement%

Data di entrata in vigore della policy (o aggiornamento della policy).

Se nella mappa delle opzioni non è presente alcun valore di effectiveDate, il servizio lo cerca nella mappa delle rootAttributes. Se il servizio non trova un effectiveDate, utilizza la data odierna.

Se si utilizza il pacchetto Insurance Industries Extension, il valore di indicazione oraria nell'opzione effectiveDate viene ignorato. Il valore dell'indicazione oraria della data effettiva è invece impostato sulle 00:00 della data effettiva selezionata e il valore della data di scadenza è impostato sulle 23:59 della data di scadenza selezionata. L'indicazione oraria viene impostata utilizzando il fuso orario specificato dall'utente.

generatePolicyNumber

vero o falso

Se true, questa opzione utilizza il UniqueIdGenerator per creare un numero di polizza univoco. Questo numero è memorizzato come Asset.SerialNumber.

includePaymentSchedule

Facoltativo.

True se verrà creata la pianificazione di pagamento per la policy.

Il valore predefinito è false.

includeRevenueSchedule

Facoltativo.

true o false

In caso di true, questa opzione chiama il servizio InsPolicyRevenueScheduleService: createRevenueSchedule per creare una pianificazione del reddito o InsPolicyRevenueScheduleService: modifyRevenueSchedule se la policy viene aggiornata.

In caso di false, il servizio non crea una pianificazione del reddito per questa policy.

initialPaymentRule

Facoltativo.

Percentuale, mesi o giorni.

initialTransactionName

Facoltativo.

Nome della transazione.

L'impostazione predefinita è utilizzare lo stesso valore di initialPaymentTransactionType.

initialPaymentTransactionType

Facoltativo.

Tipo di transazione.

Il valore predefinito è Addebito premio.

initialPaymentValue

Obbligatorio se viene fornito il initialPaymentRule.

Il valore Percentuale o il numero di mesi o giorni.

inputKey

Obbligatorio.

JSON da cui il servizio estrae le informazioni necessarie per creare o aggiornare una policy.

isCreatingPolicyTerms

true o false

Se impostato su true, il servizio restituisce un nodo policyTermIds nel JSON di output.

isFsc

Facoltativo.

True se la Polizza da creare è un oggetto InsurancePolicy.

Il valore predefinito è false.

È possibile specificare unopostDataCustomClassName o postDataDRBundleName.

Se non si specifica una di queste opzioni, il servizio viene impostato automaticamente su postDataCustomClassName.

paymentCalculationMethod

Obbligatorio se includePaymentSchedule è true.

Ignora il valore del Metodo di calcolo premio della polizza.

paymentFrequency

Obbligatorio se includePaymentSchedule è true.

Sostituisce il valore PremiumFrequency della policy.

paymentStartDate

Facoltativo.

Data della prima voce del piano di pagamento.

L'impostazione predefinita è la data di validità della policy.

paymentType

Obbligatorio se includePaymentSchedule è true.

Sostituisce il valore del Tipo di pagamento premio della polizza.

postDataCustomClassName

Facoltativo.

È necessario specificare questa opzione o postDataDRBundleName.

Il valore predefinito è impostato su PostInsurancePolicy.

postDataDRBundleName

Facoltativo.

È necessario specificare questa opzione o postDataCustomClassName.

Se non si specifica questa opzione, l'impostazione predefinita è postDataCustomClassName.

transactionType

%OmniScriptDataElement%

Utilizzare se includeRevenueSchedule è impostato su true.

Se non è impostato alcun valore, l'impostazione predefinita è Policy venduta.

calculateCommission

true o false

Quando è impostato su true, il servizio calcola le commissioni per gli elementi radice e salva l'importo totale in TotalCommissionAmount.

Se impostato su false (impostazione predefinita), il servizio non calcola le commissioni.

Nota
Nota

Se si imposta questa opzione su true, il servizio richiede almeno uno dei valori del codice produttore o di produzione: producerId , productionCodeId o productionCodeName.

commissionType

Facoltativo

Tipo di commissione (ad esempio Bonus o Standard).

commissionStatus

Facoltativo

Stato della commissione (ad esempio, In sospeso, Pagato o Derogato).

producerId

Facoltativo

ID produttore dell'elaborazione, ovvero il produttore utilizzato per recuperare commissionScheduleId e calcolare l'ammontare della commissione.

Assegnato a assegnato a InsurancePolicy.ProducerId.

productionCodeId

Facoltativo

ID codice di produzione.

Assegnato a InsurancePolicy.ProductionCodeId__c.

productionCodeName

Facoltativo

Il nome del codice di produzione passato al servizio InsCommissionService.calculate.

Se non si immettono productionCodeId, il servizio utilizza productionCodeName per cercare il productionCodeId. Se si immettono entrambi i valori ma non corrispondono, productionCodeId ha la precedenza.

memberPlanIntegrationProcedure

Avvia una procedura di integrazione personalizzata in base alla configurazione utente. Quando si utilizza questa opzione, passa tutte le opzioni del servizio alla procedura di integrazione personalizzata e tutti gli ID polizza come input per l'integrazione con l'oggetto, ad esempio l'oggetto polizza assicurativa con il piano membro.

ratingDate

Data di valutazione utilizzata per assegnare il prezzo al JSON di input.

Nota
Nota Non è possibile passare un'ora specifica per ratingField poiché il tipo di campo è Data. Pertanto, l'indicazione oraria della data di valutazione viene impostata automaticamente sulle 00:00.

term

Termine della policy creata dal servizio.

InsPolicyService:createUpdatePolicy supporta solo i termini delle polizze annuali.

useIsPaidFlag

Facoltativo

Se true con includePaymentSchedule impostato anche true, il servizio crea record contributo di componenti polizza per ogni voce del piano di pagamento.

Il valore predefinito è false.

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

accountId

ID account generato per l'asset.

additionalFields

Facoltativo.

Coppie chiave/valore, inclusi eventuali campi policy (asset) che non fanno parte del servizio.

endDate

Facoltativo.

Data di scadenza della polizza.

effectiveDate

Data di entrata in vigore della policy.

Se nella mappa delle opzioni non è presente alcun valore di effectiveDate, il servizio lo cerca nella mappa delle rootAttributes. Se il servizio non trova un effectiveDate, utilizza la data odierna.

insuredItems

Coppie chiave/valore degli articoli assicurati utilizzati dal servizio per creare la polizza.

modificationDate

Data in cui la policy è stata modificata

productConfigurationDetail

Una matrice di record che segue il modello di struttura JSON del prodotto.

term

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

Esempi

Il servizio viene in genere utilizzato nello schema Quote-to-Policy OmniScript.

 
Caricamento
Salesforce Help | Article