Du er her:
InsPolicyService:createUpdatePolicy
Bruk denne tjenesten til å opprette en ny forsikringspolise eller oppdatere en eksisterende polis med ny informasjon.
Denne tjenesten kan brukes sammen med Salesforce Financial Services Cloud for valgfri støtte for opprettelse av betalingsplan.
Slik fungerer den
-
Tjenesten søker i inndata-JSON-koden for
inputKey.inputKey-noden inneholder informasjonen tjenesten trenger for å opprette eller oppdatere en policy. Informasjonen denne tjenesten trenger, inkluderer følgende:-
accountId -
term -
productConfigurationDetailposter -
insuredItemsposter (valgfritt) -
endDate -
effectiveDate
-
-
Oppretter et Policy (aktiva)-objekt.
-
Hvis det finnes en eksisterende betalingsplan for policyen, returnerer tjenesten en feilmelding.
-
Hvis det er en første betaling, opprettes det en InsurancePolicyTransaction. I tillegg til å opprette transaksjonen fylles transaksjonsdetaljdata ut i transaksjonsdetaljobjektet. Dette objektet lagrer data om hvor mye hvert aktivum, deltaker eller dekning bidrar til totalt transaksjonsbeløp når det gjelder premiebeløp, avgifter og gebyrer. Bare aktiva, deltagere og dekninger med minst én verdi større enn null for premiebeløp, avgifter eller gebyrer vises. Du må legge til transaksjonsdetaljobjektet i Relatert liste for transaksjon.
-
Hvis du lagrer betalingsplanen, kobles postene til polisens opprinnelige polise-ID.
-
Hvis
taxesAndfees-,taxAmount- og/ellerfeeAmount-noder finnes i inndata-JSON-filen, opprettes avgifts- og/eller godtgjørelsespostene. -
Returnerer en policy-ID i JSON-koden for utdata hvis tjenesten ikke overføres en
assetId.Hvis tjenesten overføres en
assetIdi inndata-JSON-filen, oppdateres aktivumet som er angitt avassetId. -
If
calculateCommission=true: tjenesten ringerInsurancePolicyService.calculateAndSaveCommission, som klargjør inndata forInsCommissionService.calculateogInsCommissionService.saveCommissions. Når beregningstjenesten har behandlet inndataene, lagrer lagringstjenesten den beregnede verdien iTotalCommissionAmount.-
Tjenesten ringer
InsurancePolicyService.calculateAndSaveCommission, som klargjør inndata forInsCommissionService.calculateogInsCommissionService.saveCommissions. -
Kommisjonstypen (for eksempel Kommisjon eller Bonus) overføres til
InsCommissionService.saveCommissionssomcommissionType. -
Kommisjonsstatusen (for eksempel Fjernet eller Betalt) overføres til
InsCommissionService.saveCommissionssomcommissionStatus.
Når beregningstjenesten har behandlet inndataene, lagrer lagringstjenesten den beregnede verdien i
TotalCommissionAmount. -
endDate og effectiveDate bestemmer polisens varighet. Varigheten av den første policyversjonen kan være mindre enn 365 dager eller mindre enn 366 dager i et skuddår. Se Vurderinger og begrensninger for forsikringspoliser.Skatt og gebyrer
Slik fungerer denne tjenesten hvis avgifter og gebyrer brukes:
Hvis
taxesAndFees-feltet er angitt i en JSON-post, beholdes en tilhørendeAssetPricingAdjustment__c-post for hvert element itaxesAndFees-listen.Hvis
taxAmount-feltet angis i en JSON-post, angisTaxAmount__c-feltet til verdien i taxAmount-feltet i den opprettedeAssetItem.Hvis
feeAmount-feltet angis i en JSON-post, angisFeeAmount__c-feltet til verdien ifeeAmount-feltet iAssetItem.
Eksterne alternativer
Inndata-JSON
Denne tjenesten ser etter verdien av inputKey.
I dette eksemplet er 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"
},
}JSON-koden i inputKey inneholder flere nøkkel/verdi-par som tjenesten trenger for å opprette eller oppdatere en policy. Den inkluderer også produkt-JSON-koden med prisene for de forsikrede artiklene og den totale polisen.
Nøkkel |
Verdi |
|---|---|
|
Den genererte konto-IDen for aktivumet. |
|
Valgfritt. Nøkkel/verdi-par, inkludert eventuelle policyfelt (aktivumfelt) som ikke er en del av tjenesten. |
|
Valgfritt. Datoen da policyen utløper. |
|
Datoen da policyen trer i kraft. Hvis det ikke er noen |
|
Nøkkel/verdi-parene for de forsikrede artiklene som tjenesten bruker til å opprette policyen. |
|
Datoen da policyen ble endret |
|
En matrise med poster som følger produktets JSON-strukturmodell. |
|
Betingelsen for policyen som tjenesten skal opprette. |
insuredItems for dette eksemplet inkluderer de forsikrede artiklene og verdiene brukeren valgte for hver av dem.
I dette eksemplet er 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"Utdata-JSON
Tjenesten returnerer policy-ID-en til den nylig opprettede policyen.
{
"policyId": "02if4000001uCZXAA2",
"error": "OK"
}Hvis alternativet for ekstern isCreatingPolicyTerms er satt til true, inkluderes en policyTermIds-node. Her er et eksempel på en policyTermIds-node:
{
"policyId": "02i6g000000h110AAA",
"policyTermIds": [
"a5X6g000001LeUUEA0",
"a5X6g000001LeUVEA0",
"a5X6g000001LeUWEA0",
"a5X6g000001LeUXEA0",
"a5X6g000001LeUYEA0",
"a5X6g000001LeUZEA0",
"a5X6g000001LeUaEAK",
"a5X6g000001LeUbEAK",
"a5X6g000001LeUcEAK",
"a5X6g000001LeUdEAK",
"a5X6g000001LeUeEAK",
"a5X6g000001LeUfEAK"
]
}