Du är här:
InsPolicyService:createUpdatePolicy
Använd denna tjänst för att skapa en ny försäkringspolicy eller för att uppdatera en befintlig policy med ny information.
Denna tjänst kan användas med Salesforce Financial Services Cloud för valfritt stöd för att skapa betalningsscheman.
Hur det fungerar
-
Tjänsten söker JSON för indata efter
inputKey.inputKeyinnehåller den information som tjänsten behöver för att skapa eller uppdatera en policy. Informationen som denna tjänst behöver inkluderar:-
accountId -
term -
productConfigurationDetailposter -
insuredItemsposter (valfritt) -
endDate -
effectiveDate
-
-
Skapar ett objekt för Policy (tillgång).
-
Om det finns ett befintligt betalningsschema för policyn returnerar tjänsten ett felmeddelande.
-
Om det finns en inledande betalning skapas en InsurancePolicyTransaction. Utöver skapandet av transaktionen fylls transaktionsfördelningsdata i i transaktionsdetaljobjektet. Detta objekt lagrar data om hur mycket varje tillgång, deltagare eller täckning bidrar till totala transaktionsbelopp i form av premier, skatter och avgifter. Endast tillgångar, deltagare och täckningar med minst ett värde större än noll för premier, skatter eller avgifter visas. Du måste lägga till transaktionsdetaljobjektet i den relaterade listan för transaktioner.
-
Om betalningsplanen sparas länkas posterna till policyns ursprungliga policy-ID.
-
Om
taxesAndfees,taxAmountoch/ellerfeeAmountfinns i indata-JSON skapas skatte- och/eller avgiftsposter. -
Returnerar ett policy-ID i utdata-JSON om tjänsten inte skickas en
assetId.Om tjänsten skickas en
assetIdi indata-JSON uppdaterar den tillgången som specificerats avassetId. -
Om
calculateCommission=true: tjänsten anroparInsurancePolicyService.calculateAndSaveCommission, vilket förbereder indata förInsCommissionService.calculateochInsCommissionService.saveCommissions. Efter att tjänsten Beräkna bearbetar indata lagrar tjänsten Spara det beräknade värdet iTotalCommissionAmount.-
Tjänsten anropar
InsurancePolicyService.calculateAndSaveCommission, som förbereder indata förInsCommissionService.calculateochInsCommissionService.saveCommissions. -
Provisionstypen (till exempel Provision eller Bonus) skickas till
InsCommissionService.saveCommissionssomcommissionType. -
Provisionsstatus (till exempel Avstått eller Betalt) skickas till
InsCommissionService.saveCommissionssomcommissionStatus.
Efter att tjänsten Beräkna bearbetar indata lagrar tjänsten Spara det beräknade värdet i
TotalCommissionAmount. -
endDate och effectiveDate avgör policyns varaktighet. Varaktigheten för den första policyversionen kan vara mindre än 365 dagar, eller mindre än 366 dagar under ett skottår. Se Överväganden och begränsningar för försäkringspolicyer.Skatter och avgifter
Så här fungerar denna tjänst om skatter och avgifter används:
Om fältet
taxesAndFeesanges i en JSON-post kvarstår en motsvarandeAssetPricingAdjustment__cför varje objekt itaxesAndFees.Om fältet
taxAmountär angivet i en JSON-post sätts fältetTaxAmount__ctill värdet för fältet taxAmount i den skapadeAssetItem.Om fältet
feeAmountär angivet i en JSON-post sätts fältetFeeAmount__ctill värdet för fältetfeeAmountiAssetItem.
Fjärralternativ
Indata-JSON
Denna tjänst letar efter inputKey värde.
I detta exempel är 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 inuti inputKey innehåller flera nyckel-/värdepar som tjänsten behöver för att skapa eller uppdatera en policy. Den innehåller även produktens JSON, med prissättning för de försäkrade objekten och den totala policyn.
Nyckel |
Värde |
|---|---|
|
ID för skapat konto för tillgången. |
|
Valfritt. Nyckel-/värdepar inklusive policyfält (tillgångsfält) som inte är en del av tjänsten. |
|
Valfritt. Datum då policyn går ut. |
|
Datum då policyn börjar gälla. Om det inte finns något |
|
Nyckel-/värdepar för de försäkrade objekt som tjänsten använder för att skapa policyn. |
|
Datum då policyn ändrades |
|
En matris av poster som följer JSON-strukturmodellen för produkter. |
|
Löptiden för den policy som tjänsten kommer att skapa. |
insuredItems för detta exempel inkluderar de försäkrade objekten och de värden användaren valt för vart och ett av dem.
I detta exempel är 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 för utdata
Tjänsten returnerar policy-ID för den nyligen skapade policyn.
{
"policyId": "02if4000001uCZXAA2",
"error": "OK"
}Om alternativet isCreatingPolicyTerms är inställt till true inkluderas en policyTermIds. Här är ett exempel på en policyTermIds:
{
"policyId": "02i6g000000h110AAA",
"policyTermIds": [
"a5X6g000001LeUUEA0",
"a5X6g000001LeUVEA0",
"a5X6g000001LeUWEA0",
"a5X6g000001LeUXEA0",
"a5X6g000001LeUYEA0",
"a5X6g000001LeUZEA0",
"a5X6g000001LeUaEAK",
"a5X6g000001LeUbEAK",
"a5X6g000001LeUcEAK",
"a5X6g000001LeUdEAK",
"a5X6g000001LeUeEAK",
"a5X6g000001LeUfEAK"
]
}