Você está aqui:
InsPolicyService:createUpdatePolicy
Use esse serviço para criar uma nova apólice de seguro ou atualizar uma apólice existente com novas informações.
Esse serviço pode ser usado com o Salesforce Financial Services Cloud para suporte opcional à criação de Agenda de pagamento.
Como funciona
-
O serviço pesquisa o JSON de entrada para o
inputKey. O nóinputKeycontém as informações de que o serviço precisa para criar ou atualizar uma política. As informações de que esse serviço precisa incluem:-
accountId -
term -
Registros de
productConfigurationDetail -
Registros de
insuredItems(opcional) -
endDate -
effectiveDate
-
-
Cria um objeto Apólice (ativo).
-
Se houver uma agenda de pagamento para a apólice, o serviço retornará uma mensagem de erro.
-
Se houver um pagamento inicial, uma InsurancePolicyTransaction será criada. Além da criação da transação, os dados de detalhamento da transação são preenchidos no objeto de detalhes da transação. Esse objeto armazena dados sobre quanto cada ativo, participante ou cobertura contribui para os valores totais da transação em termos de prêmio, impostos e taxas. Somente ativos, participantes e coberturas com pelo menos um valor maior que zero para prêmio, impostos ou tarifas são exibidos. Você deve adicionar o objeto de detalhes da transação à Lista relacionada para transação.
-
Se você salvar a agenda de pagamento, os registros serão vinculados ao ID da apólice original.
-
Se nós
taxesAndfees,taxAmounte/oufeeAmountestiverem presentes no JSON de entrada, os registros de imposto e/ou taxa serão criados. -
Retorna um ID de apólice no JSON de saída se o serviço não for passado por uma
assetId.Se o serviço for passado por um
assetIdno JSON de entrada, ele atualizará o ativo especificado peloassetId. -
Se
calculateCommission=true: o serviço chamaInsurancePolicyService.calculateAndSaveCommission, que prepara a entrada para os serviços deInsCommissionService.calculateeInsCommissionService.saveCommissions. Depois que o serviço de cálculo processa a entrada, o serviço de salvamento armazena o valor calculado emTotalCommissionAmount.-
O serviço chama
InsurancePolicyService.calculateAndSaveCommission, que prepara a entrada para os serviços deInsCommissionService.calculateeInsCommissionService.saveCommissions. -
O tipo de comissão (por exemplo, Comissão ou Bônus) é passado para o serviço de
InsCommissionService.saveCommissionscomocommissionType. -
O status da comissão (por exemplo, Cancelado ou Pagado) é passado para o serviço de
InsCommissionService.saveCommissionscomocommissionStatus.
Depois que o serviço de cálculo processa a entrada, o serviço de salvamento armazena o valor calculado em
TotalCommissionAmount. -
endDate e effectiveDate determinam a duração da apólice. A duração da primeira versão da política pode ser inferior a 365 dias ou inferior a 366 dias em um ano bissexto. Consulte Considerações e limitações sobre apólices de seguro.Impostos e taxas
É assim que esse serviço funciona se impostos e tarifas forem usados:
Se o campo
taxesAndFeesfor especificado em um registro JSON, um registro deAssetPricingAdjustment__ccorrespondente persistirá para cada item na lista detaxesAndFees.Se o campo
taxAmountfor especificado em um registro JSON, o campoTaxAmount__cserá definido como o valor do campo taxAmount noAssetItemcriado.Se o campo
feeAmountfor especificado em um registro JSON, o campoFeeAmount__cserá definido como o valor do campofeeAmountnoAssetItem.
Opções remotas
JSON de entrada
Esse serviço procura o valor da inputKey.
Neste exemplo, 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"
},
}O JSON dentro do inputKey inclui vários pares de chave/valor de que o serviço precisa para criar ou atualizar uma política. Ele também inclui o JSON do produto, com precificação para os itens segurados e a apólice total.
Chave |
Valor |
|---|---|
|
O ID da conta gerado para o ativo. |
|
Opcional. Pares de chave/valor, incluindo campos de apólice (ativos) que não fazem parte do serviço. |
|
Opcional. A data em que a política expira. |
|
A data em que a política entra em vigor. Se não houver um valor de |
|
Os pares de chave/valor dos itens segurados que o serviço usa para criar a apólice. |
|
A data em que a política foi modificada |
|
Uma matriz de registros que seguem o modelo de estrutura JSON do produto. |
|
O prazo da política que o serviço criará. |
Os registros de insuredItems para este exemplo incluem os itens segurados e os valores selecionados pelo usuário para cada um.
Neste exemplo, 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 saída
O serviço retorna o ID da política recém-criada.
{
"policyId": "02if4000001uCZXAA2",
"error": "OK"
}Se a opção de controle remoto de isCreatingPolicyTerms estiver definida como true, um nó de policyTermIds será incluído. Aqui está um exemplo de nó de policyTermIds:
{
"policyId": "02i6g000000h110AAA",
"policyTermIds": [
"a5X6g000001LeUUEA0",
"a5X6g000001LeUVEA0",
"a5X6g000001LeUWEA0",
"a5X6g000001LeUXEA0",
"a5X6g000001LeUYEA0",
"a5X6g000001LeUZEA0",
"a5X6g000001LeUaEAK",
"a5X6g000001LeUbEAK",
"a5X6g000001LeUcEAK",
"a5X6g000001LeUdEAK",
"a5X6g000001LeUeEAK",
"a5X6g000001LeUfEAK"
]
}
