Loading
Assicurazioni
InsContractServiceStd:createUpdateContract

InsContractServiceStd:createUpdateContract

Utilizzare questo servizio per creare o aggiornare un contratto per il preventivo specificato.

Nota
Nota La protezione a livello di campo deve essere abilitata per i campi Name, SourceQuote, SourceOpportunity e Pricebook dell'entità Contratto.

Classe: InsContractServiceStd​​

Metodo: createUpdateContract

Funzionamento

  1. Questo servizio cerca il valore di inputKey nel JSON del prodotto di un preventivo, che contiene la mappa di productConfigurationDetail, additionalFields, ​QuoteId e AccountId​​.

  2. Il ​productConfigurationDetail contiene i dati delle voci preventivo di un determinato preventivo, che il servizio utilizza per creare piani di gruppi di contratti.

  3. ​​quoteId è l'ID del preventivo per cui il servizio crea il contratto. AccountId​​ è l'ID dell'account collegato al contratto.

  4. In base a QuoteId, AccountId e additionalFields, il servizio crea il Contratto e ne compila i campi. In corrispondenza del presente Contratto, il servizio crea un Contratto di assicurazione e ne compila i campi utilizzando i dati di additionalFields.

  5. Se viene specificato un contractId, il servizio aggiorna il contratto.

  6. Se non viene specificato un contractId, il servizio crea un nuovo contractId.

Opzioni remote

Opzioni

Descrizione

contractId

Facoltativo

ID del contratto.

pricebook

Facoltativo

Nome del listino prezzi.

inputJson

Obbligatorio.

JSON di input del contratto e del gruppo di contratti da creare. Ha productConfigurationDetail, additionalFields, AccountId e QuoteId.

Comportamento del servizio

Di seguito viene descritto in che modo i diversi input influiscono sugli output del servizio.

Input

Output

No contractId e no inputJson Il servizio non crea alcun contratto.
ncontractId. e inputJson Il servizio crea un nuovo contratto, contratto di assicurazione e piani di gruppo di contratti.
contractId e no inputJson Il servizio non aggiorna alcun contratto.
contractId e inputJson Il servizio aggiorna i piani di contratto, contratto di assicurazione e gruppo di contratti esistenti.

Input JSON

Questo esempio mostra un nuovo JSON di input contratto, dove contractJson è la chiave di input e productConfigurationDetail contiene il JSON del prodotto:

{
    "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 di output (quando il servizio crea un contratto)

Quando si crea un nuovo contratto, il contractId del nuovo contratto viene restituito nel JSON di output. Quando si aggiorna un contratto esistente, non viene restituito alcun JSON di output.

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

JSON di output (quando il servizio restituisce un errore)

Il servizio restituisce una stringa vuota se rileva delle eccezioni. Inoltre, restituisce un elenco di membri con errori. Ogni voce dell'elenco è costituita da dati dei membri di input ed errori.

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