Usted está aquí:
InsPolicyService:createUpdatePolicy
Utilice este servicio para crear una nueva póliza de seguros o para actualizar una póliza existente con nueva información.
Este servicio se puede utilizar con Salesforce Financial Services Cloud para la compatibilidad de creación de Programación de pagos opcional.
Cómo funciona
-
El servicio busca el JSON de entrada para el
inputKey. El nodoinputKeycontiene la información que el servicio necesita para crear o actualizar una política. La información que requiere este servicio incluye:-
accountId -
term -
Registros de
productConfigurationDetail -
Registros de
insuredItems(opcional) -
endDate -
effectiveDate
-
-
Crea un objeto Póliza (activo).
-
Si hay una programación de pagos existente para la póliza, el servicio devuelve un mensaje de error.
-
Si hay un pago inicial, se creará una InsurancePolicyTransaction. Además de la creación de la transacción, los datos de desglose de transacciones se rellenan en el objeto de detalles de transacción. Este objeto almacena datos acerca de cuánto contribuye cada activo, participante o cobertura a los importes totales de transacciones en términos de primas, impuestos y comisiones. Solo se muestran activos, participantes y coberturas con al menos un valor superior a cero para primas, impuestos o comisiones. Debe agregar el objeto de detalles de transacción a la Lista relacionada para transacciones.
-
Si guarda la programación de pagos, los registros se vincularán al Id. de póliza original de la póliza.
-
Si hay nodos
taxesAndfees,taxAmounty/ofeeAmounten el JSON de entrada, se crean los registros de impuestos y/o comisiones. -
Devuelve un Id. de política en el JSON de salida si no se supera un
assetIddel servicio.Si se pasa un
assetIdal servicio en el JSON de entrada, actualiza el activo especificado por elassetId. -
Si
calculateCommission=true: elInsurancePolicyService.calculateAndSaveCommissionde llamadas de servicio, que prepara la entrada para los servicios deInsCommissionService.calculateyInsCommissionService.saveCommissions. Después de que el servicio de cálculo procese la entrada, el servicio de guardado almacena el valor calculado enTotalCommissionAmount.-
El servicio llama a
InsurancePolicyService.calculateAndSaveCommission, que prepara la entrada para los servicios deInsCommissionService.calculateyInsCommissionService.saveCommissions. -
El tipo de comisión (por ejemplo, Comisión o Bonificación) se pasa al servicio de
InsCommissionService.saveCommissionscomocommissionType. -
El estado de la comisión (por ejemplo, Exenta o Pagada) se pasa al servicio de
InsCommissionService.saveCommissionscomocommissionStatus.
Después de que el servicio de cálculo procese la entrada, el servicio de guardado almacena el valor calculado en
TotalCommissionAmount. -
endDate y el effectiveDate determinan la duración de la póliza. La duración de la primera versión de política puede ser inferior a 365 días o inferior a 366 días en un año bisiesto. Consulte Consideraciones y limitaciones para pólizas de seguros.Impuestos y tasas
A continuación le mostramos cómo funciona este servicio si se utilizan impuestos y comisiones:
Si el campo
taxesAndFeesse especifica en un registro JSON, persiste un registroAssetPricingAdjustment__ccorrespondiente para cada elemento en la lista detaxesAndFees.Si el campo
taxAmountse especifica en un registro JSON, el campoTaxAmount__cse establece en el valor del campo taxAmount en elAssetItemcreado.Si el campo
feeAmountse especifica en un registro JSON, el campoFeeAmount__cse establece en el valor del campofeeAmounten elAssetItem.
Opciones remotas
JSON de entrada
Este servicio busca el valor del inputKey.
Para este ejemplo, 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"
},
}El JSON dentro del inputKey incluye varios pares clave/valor que el servicio necesita para crear o actualizar una política. También incluye el JSON del producto, con precios para los artículos asegurados y la póliza total.
Clave |
Valor |
|---|---|
|
El Id. de cuenta generado para el activo. |
|
Opcional. Pares de clave/valor incluyendo cualquier campo de política (activo) que no forme parte del servicio. |
|
Opcional. La fecha en la que caduca la política. |
|
La fecha en la que la política entra en vigor. Si no hay ningún valor de |
|
Los pares clave/valor de los elementos asegurados que el servicio utiliza para crear la póliza. |
|
La fecha en que se modificó la política |
|
Una matriz de registros que siguen el modelo de estructura JSON del producto. |
|
El plazo de la política que creará el servicio. |
Los registros de insuredItems para este ejemplo incluyen los elementos asegurados y los valores que el usuario seleccionó para cada uno.
Para este ejemplo, 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 salida
El servicio devuelve el Id. de póliza de la póliza recién creada.
{
"policyId": "02if4000001uCZXAA2",
"error": "OK"
}Si la opción remota de isCreatingPolicyTerms está establecida como true, se incluye un nodo de policyTermIds. Este es un ejemplo de un nodo policyTermIds:
{
"policyId": "02i6g000000h110AAA",
"policyTermIds": [
"a5X6g000001LeUUEA0",
"a5X6g000001LeUVEA0",
"a5X6g000001LeUWEA0",
"a5X6g000001LeUXEA0",
"a5X6g000001LeUYEA0",
"a5X6g000001LeUZEA0",
"a5X6g000001LeUaEAK",
"a5X6g000001LeUbEAK",
"a5X6g000001LeUcEAK",
"a5X6g000001LeUdEAK",
"a5X6g000001LeUeEAK",
"a5X6g000001LeUfEAK"
]
}
