Você está aqui:
InsContractService:createUpdateContract
Use esse serviço para criar ou atualizar um contrato usando a saída do serviço de InsQuoteService:getQuoteDetail.
A mesma cotação usada para criar o contrato também é usada na atualização.
O serviço costuma ser usado para adicionar produtos substitutos a um contrato existente para grupos pequenos.
Método: createUpdateContract
Como funciona
-
Este serviço procura o valor de
inputKeyno JSON do produto de uma cotação, que também contém o mapa deproductConfigurationDetail. -
Se uma
contractIdfor especificada, o contrato será atualizado usando a saída do serviço degetContractDetailscomo entrada. -
Se uma
contractIdnão for especificada, será criada uma novacontractId.
Opções remotas
Opções |
Descrição |
|---|---|
|
ID do contrato de destino. |
|
Opcional. O nome do catálogo de preços a ser usado no contrato criado ou atualizado. Se você não fornecer um valor, o serviço usará como padrão |
JSON de entrada
Ao criar um novo contrato, o JSON de entrada é semelhante ao resultado do serviço de InsQuoteService:getQuoteDetail. Ao atualizar um contrato existente, o JSON de entrada permanece o mesmo.
Esta amostra mostra um novo JSON de entrada de contrato, em que contractJson é a chave de entrada e productConfigurationDetail contém o JSON de produto retornado por meio 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 saída
Ao criar um novo contrato, o contractId do novo contrato é retornado no JSON de saída ('{"contractId": "idOfNewContract"}'), conforme mostrado abaixo. Ao atualizar um contrato existente, nenhum JSON de saída é retornado.
[{
'Name': 'Current Product'
}, {
'Name': 'Replacement Product',
'isReplacementProduct': true
}]
