Вы находитесь здесь:
InsContractServiceStd:createUpdateContract
Используйте эту службу для создания или обновления контракта для данной сметы.
Name, SourceQuote, SourceOpportunity и Pricebook объекта контракта. Класс: InsContractServiceStd
Метод: createUpdateContract
Принцип работы
-
Данная служба ищет значение
inputKeyв продукте JSON сметы, содержащей картуproductConfigurationDetail,additionalFields,QuoteIdиAccountId. -
productConfigurationDetailсодержит данные элементов строки сметы данной сметы, используемые службой для создания планов группы контрактов. -
quoteId- это код сметы, для которой служба создает контракт.AccountId— это код организации, связанный с контрактом. -
На основе
QuoteId,AccountIdи additionalFields служба создает контракт и заполняет его поля. В соответствии с данным контрактом служба создает договор страхования и заполняет его поля посредством данныхadditionalFields. -
Если указан
contractId, служба обновляет контракт. -
Если
contractIdне указан, служба создает новуюcontractId.
Удаленные параметры
Параметры |
Описание |
|---|---|
|
Дополнительно Код контракта. |
|
Дополнительно Имя прайс-листа. |
|
Обязательно. JSON ввода контракта и группы контрактов планируется создать. Имеет |
Алгоритм обслуживания
Понимание влияния разных вводных данных на результаты обслуживания.
Ввод |
Вывод |
|---|---|
Без contractId и без inputJson
|
Служба не создает контракт. |
Нет contractId и inputJson
|
Служба создает новый контракт, страховой контракт и планы группы контрактов. |
contractId и нет inputJson |
Служба не обновляет контракт. |
contractId и inputJson
|
Служба обновляет существующие планы «Контракт», «Страховой контракт» и «Группа контрактов». |
JSON ввода
Данный образец отображает новый JSON ввода контракта, где contractJson является ключом ввода, а productConfigurationDetail содержит продукт JSON:
{
"productConfigurationDetail": {
"records": [
{
"displaySequence": 0,
"currencySymbol": "$",
"currencyCode": "USD",
"Id": "0QLRO0000009kbn4AA",
"productId": "01tRO000000QnqrYAC",
"Product2Id": "01tRO000000QnqrYAC",
"LineNumber": "00000019",
"CreatedDate": "2022-04-14T08:32:35.000+0000",
"QuoteId": "0Q0RO0000000vtw0AA",
"Price": 1,
"UnitPrice": 1,
"vlocityins6__RecordTypeName__c": "Product",
"vlocityins6__Type__c": "Dental",
"TotalPrice": 1,
"LastModifiedDate": "2022-04-14T08:32:35.000+0000",
"vlocityins6__PricingSource__c": "TotalPremium",
"vlocityins6__ProductName__c": "Dental Standard",
"vlocityins6__TotalAmount__c": 1,
"vlocityins6__ProductChildItemSequence__c": 0,
"needReprice": false,
"vlocityins6__NeedReprice__c": false,
"vlocityins6__RelationshipType__c": "Child",
"quoteLineItemId": "0QLRO0000009kbn4AA",
"productName": "Dental Standard",
"ProductCode": "dentalStandard",
"recordType": "Product",
"lineRecordType": "Product",
"Name": "Dental Standard",
"hasAttributes": true,
"coverageCount": 0,
"hasCoverages": false
},
{
"displaySequence": 0,
"currencySymbol": "$",
"currencyCode": "USD",
"Id": "0QLRO0000009kbs4AA",
"productId": "01tRO000000QnWnYAK",
"Product2Id": "01tRO000000QnWnYAK",
"LineNumber": "00000018",
"CreatedDate": "2022-04-14T08:30:59.000+0000",
"QuoteId": "0Q0RO0000000vtw0AA",
"Price": 7425,
"UnitPrice": 7425,
"vlocityins6__RecordTypeName__c": "Product",
"vlocityins6__Type__c": "Dental",
"TotalPrice": 7425,
"LastModifiedDate": "2022-05-31T02:35:56.000+0000",
"vlocityins6__PricingSource__c": "TotalPremium",
"vlocityins6__ProductName__c": "Dental Premium",
"vlocityins6__TotalAmount__c": 7425,
"vlocityins6__ProductChildItemSequence__c": 0,
"needReprice": false,
"vlocityins6__NeedReprice__c": false,
"vlocityins6__RelationshipType__c": "Child",
"quoteLineItemId": "0QLRO0000009kbs4AA",
"productName": "Dental Premium",
"ProductCode": "dentalPremium",
"recordType": "Product",
"lineRecordType": "Product",
"Name": "Dental Premium",
"hasAttributes": true,
"coverageCount": 0,
"hasCoverages": false
}],
"totalSize": 1
},
"additionalFields" : {
"EnrollmentWaitingPeriod": "30",
"Name": "contractAcc-Group Contract",
"ContractTerm": 12,
"EnrollmentCensusId": "0rfRO00000000WRYAY"
},
"AccountId" : "001RO000003fLhQYAU",
"QuoteId" : "0Q0RO0000001DlH0AU"
}Вывод JSON (когда служба создает контракт)
При создании нового контракта contractId нового контракта возвращается в выводном JSON. При обновлении существующего контракта вывод JSON не возвращается.
{
"contractId: "0rfRN0000000014YAA",
"errorCode": "INVOKE-200",
"error": "OK"
}Вывод JSON (когда служба возвращает ошибку)
Служба возвращает пустую строку при возникновении каких-либо исключений. Также возвращается список участников с ошибками. Каждый элемент списка состоит из данных участника ввода и ошибок.
{
"contractId: "",
"errors" : "List of errors, if any",
"errorCode": "INVOKE-200",
"error": "OK"
}