Вы находитесь здесь:
InsContractService:createUpdateContract
Используйте эту службу для создания или обновления контракта посредством вывода службы InsQuoteService:getQuoteDetail.
Аналогичная смета, используемая для создания контракта, также используется в обновлении.
Служба обычно используется для добавления продуктов замены к существующему контракту для небольших групп.
Метод: createUpdateContract
Принцип работы
-
Данная служба ищет значение
inputKeyв продукте JSON сметы, которая также содержит картуproductConfigurationDetail. -
Если указан
contractId, контракт обновляется посредством вывода службыgetContractDetailsв качестве ввода. -
Если
contractIdне указан, создается новаяcontractId.
Удаленные параметры
Параметры |
Описание |
|---|---|
|
Код целевого контракта. |
|
Дополнительно. Имя прайс-листа для использования в созданном или обновленном контракте. Если вы не предоставите значение, служба по умолчанию будет |
JSON ввода
При создании нового контракта ввод JSON аналогичен выводу службы InsQuoteService:getQuoteDetail. При обновлении существующего контракта вводной JSON остается неизменным.
Данный образец отображает новый JSON ввода контракта, где contractJson является ключом ввода, а productConfigurationDetail содержит продукт JSON, возвращенный посредством 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
При создании нового контракта contractId нового контракта возвращается в выводе JSON ('{"contractId": "idOfNewContract"}"), как показано ниже. При обновлении существующего контракта вывод JSON не возвращается.
[{
'Name': 'Current Product'
}, {
'Name': 'Replacement Product',
'isReplacementProduct': true
}]