Usted está aquí:
InsContractService:createUpdateContract
Utilice este servicio para crear o actualizar un contrato utilizando el resultado del servicio de InsQuoteService:getQuoteDetail.
El mismo presupuesto utilizado para crear el contrato también se utiliza en la actualización.
El servicio se utiliza habitualmente para agregar productos de sustitución a un contrato existente, para grupos pequeños.
Método: createUpdateContract
Funcionamiento
-
Este servicio busca el valor de
inputKeyen el JSON de producto de un presupuesto, que también contiene el mapa deproductConfigurationDetail. -
Si se especifica un
contractId, el contrato se actualiza utilizando el resultado del servicio degetContractDetailscomo su entrada. -
Si no se especifica un
contractId, se crea un nuevocontractId.
Opciones remotas
Opciones |
Descripción |
|---|---|
|
Id. de contrato de destino. |
|
Opcional. El nombre de la lista de precios a utilizar en el contrato creado o actualizado. Si no proporciona un valor, el servicio toma como valor predeterminado |
JSON de entrada
Al crear un nuevo contrato, el JSON de entrada es similar al resultado del servicio de InsQuoteService:getQuoteDetail. Al actualizar un contrato existente, el JSON de entrada permanece igual.
Este ejemplo muestra un nuevo JSON de entrada de contrato, donde contractJson es la clave de entrada y productConfigurationDetail contiene el JSON de producto devuelto a través de InsQuoteService:getQuoteDetail:
{
"productConfigurationDetail": {
"records": [...]
"totalSize": 1
},
"insuredItems": {
"Driver": [{
"instanceKey": "Joan Smith",
"isPrimary": false,
"isParent": false,
"LN": "Smith",
"AGE": 20,
"FN": "Joan",
"GENDER": "Female",
"FirstName": "Joan",
"LastName": "Smith"
},
{
...
}
],
"Auto": [{
"instanceKey": "2015 Lexus LX250",
"autoAntiTheft": true,
"est_annual_mileage": "1-10000",
"autoLicNum": "Lexus",
"autoModel": "LX250",
"autoYear": 2015,
"BodyClass": "Sedan/Saloon",
"VehicleType": "PASSENGER CAR",
"isPrimary": true
"isParent": false,
},
{
...
}
]
},
"quoteDetail": {
"attributes": {
"type": "Quote",
"url": "/services/data/v43.0/sobjects/Quote/0Q01I000000qeWLSAY"
},
"ins_daily4__EffectiveDate__c": "2018-07-27",
"ins_daily4__TotalSumInsured__c": 0,
"AccountId": "0011I00000QknfjQAB",
"ins_daily4__RootItemTotal__c": 0,
"Id": "0Q01I000000qeWLSAY"
},
"error": "OK"
}JSON de salida
Al crear un nuevo contrato, el contractId del nuevo contrato se devuelve en el JSON de salida ('{"contractId": "idOfNewContract"}'), como se muestra a continuación. Al actualizar un contrato existente, no se devuelve ningún JSON de salida.
[{
'Name': 'Current Product'
}, {
'Name': 'Replacement Product',
'isReplacementProduct': true
}]