Loading
Страхование
InsContractServiceStd:createUpdateContract

InsContractServiceStd:createUpdateContract

Используйте эту службу для создания или обновления контракта для данной сметы.

Примечание
Примечание Безопасность поля должна быть включена для полей Name, SourceQuote, SourceOpportunity и Pricebook объекта контракта.

Класс: InsContractServiceStd​​

Метод: createUpdateContract

Принцип работы

  1. Данная служба ищет значение inputKey в продукте JSON сметы, содержащей карту productConfigurationDetail, additionalFields , ​QuoteId и AccountId​​.

  2. ​productConfigurationDetail содержит данные элементов строки сметы данной сметы, используемые службой для создания планов группы контрактов.

  3. ​​quoteId - это код сметы, для которой служба создает контракт. AccountId​​ — это код организации, связанный с контрактом.

  4. На основе QuoteId, AccountId и additionalFields служба создает контракт и заполняет его поля. В соответствии с данным контрактом служба создает договор страхования и заполняет его поля посредством данных additionalFields.

  5. Если указан contractId, служба обновляет контракт.

  6. Если contractId не указан, служба создает новую contractId.

Удаленные параметры

Параметры

Описание

contractId

Дополнительно

Код контракта.

pricebook

Дополнительно

Имя прайс-листа.

inputJson

Обязательно.

JSON ввода контракта и группы контрактов планируется создать. Имеет productConfigurationDetail, additionalFields, AccountId и QuoteId.

Алгоритм обслуживания

Понимание влияния разных вводных данных на результаты обслуживания.

Ввод

Вывод

Без 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"
}
 
Загрузка
Salesforce Help | Article