Usted está aquí:
InsPolicyService:createUpdatePolicy
Utilice este servicio para crear una nueva póliza de seguros o 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 necesita el servicio 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 Política (activo).
-
Si hay una programación de pago 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 al importe total 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 los nodos
taxesAndfees,taxAmounty/ofeeAmountestán presentes en 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 el servicio un
assetId.Si se pasa un
assetIdal servicio en el JSON de entrada, actualiza el activo especificado por elassetId. -
Si
calculateCommission=true: el servicio llama aInsurancePolicyService.calculateAndSaveCommission, 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
Este es el funcionamiento de este servicio si se utilizan impuestos y comisiones:
Si se especifica el campo
taxesAndFeesen un registro JSON, persiste un registroAssetPricingAdjustment__ccorrespondiente para cada elemento de la lista detaxesAndFees.Si el campo
taxAmountse especifica en un registro JSON, el campoTaxAmount__cse establece como el valor del campo taxAmount en elAssetItemcreado.Si el campo
feeAmountse especifica en un registro JSON, el campoFeeAmount__cse establece como 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 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 término 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 política de la política 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"
]
}