Loading
Seguro
InsContractServiceStd:createUpdateContract

InsContractServiceStd:createUpdateContract

Utilice este servicio para crear o actualizar un contrato para el presupuesto dado.

Nota
Nota La seguridad a nivel de campo debe estar activada para los campos Name, SourceQuote, SourceOpportunity y Pricebook de la entidad Contrato.

Clase: InsContractServiceStd​​

Método: createUpdateContract

Funcionamiento

  1. Este servicio busca el valor de inputKey en el JSON de producto de un presupuesto, que contiene el mapa de productConfigurationDetail, additionalFields , ​QuoteId y AccountId​​.

  2. El ​productConfigurationDetail contiene los datos de partidas de presupuesto de un Presupuesto concreto, que el servicio utiliza para crear planes de grupos de contratos.

  3. ​​quoteId es el Id. del presupuesto para el que el servicio crea el contrato. AccountId​​ es el Id. de Cuenta vinculado al contrato.

  4. Basándose en QuoteId, AccountId y additionalFields, el servicio crea el Contrato y rellena sus campos. Correspondiente a este Contrato, el servicio crea un Contrato de seguro y rellena sus campos utilizando datos de additionalFields.

  5. Si se especifica un contractId, el servicio actualiza el contrato.

  6. Si no se especifica una contractId, el servicio crea una nueva contractId.

Opciones remotas

Opciones

Descripción

contractId

Opcional

Id. del contrato.

pricebook

Opcional

Nombre de la lista de precios.

inputJson

Obligatorio.

JSON de entrada de los planes de contrato y grupo de contratos que se van a crear. Tiene productConfigurationDetail, additionalFields, AccountId y QuoteId.

Comportamiento de servicio

Comprenda cómo afectan las diferentes entradas a los resultados del servicio.

Entrada

Resultado

No contractId y no inputJson El servicio no crea ningún contrato.
No contractId y inputJson El servicio crea un nuevo Contrato, Contrato de seguro y Planes de grupo de contratos.
contractId y no inputJson El servicio no actualiza ningún contrato.
contractId y inputJson El servicio actualiza los planes de contrato, contrato de seguro y grupo de contratos existentes.

JSON de entrada

Este ejemplo muestra un nuevo JSON de entrada de contrato, donde contractJson es la clave de entrada y productConfigurationDetail contiene el JSON de producto:

{
    "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 de salida (cuando el servicio crea un contrato)

Al crear un nuevo contrato, el contractId del nuevo contrato se devuelve en el JSON de salida. Al actualizar un contrato existente, no se devuelve ningún JSON de salida.

{
  "contractId: "0rfRN0000000014YAA",
  "errorCode": "INVOKE-200",
  "error": "OK"
}

JSON de salida (cuando el servicio devuelve un error)

El servicio devuelve una cadena vacía si encuentra excepciones. Además, devuelve una lista de miembros con errores. Cada elemento de lista consta de datos y errores de miembros de entrada.

{
  "contractId: "",
  "errors" : "List of errors, if any",
  "errorCode": "INVOKE-200",
  "error": "OK"
}
 
Cargando
Salesforce Help | Article