Loading
Insurance
InsContractServiceStd:createUpdateContract

InsContractServiceStd:createUpdateContract

Utilisez ce service pour créer ou mettre à jour un contrat pour le devis donné.

Remarque
Remarque La sécurité au niveau du champ doit être activée pour les champs Name, SourceQuote, SourceOpportunity et Pricebook de l'entité Contrat.

Classe: InsContractServiceStd​​

Méthode : createUpdateContract

Fonctionnement

  1. Ce service recherche la valeur inputKey dans le JSON produit d'un devis, qui contient la carte productConfigurationDetail, additionalFields , ​QuoteId et AccountId​​.

  2. Le ​productConfigurationDetail contient les données des éléments de ligne de devis d'un devis donné, que le service utilise pour créer des plans de groupe de contrats.

  3. ​​quoteId est l'ID du devis pour lequel le service crée le contrat. AccountId​​ est l'ID de compte lié au contrat.

  4. Basé sur QuoteId, AccountId et additionalFields, le service crée le Contrat et remplit ses champs. Correspondant à ce Contrat, le service crée un Contrat d'assurance et remplit ses champs à l'aide des données additionalFields.

  5. Si un contractId est spécifié, le service met à jour le contrat.

  6. Si aucune contractId n'est spécifiée, le service crée une contractId.

Options distantes

Options

Description

contractId

Facultatif

ID du contrat.

pricebook

Facultatif

Nom du catalogue de prix.

inputJson

Obligatoire.

JSON d'entrée du contrat et des plans de groupe de contrats à créer. Il a productConfigurationDetail, additionalFields, AccountId et QuoteId.

Comportement de service

Comprenez comment les différentes entrées affectent les sorties de service.

Entrée

Sortie

Non contractId et non inputJson Le service ne crée aucun contrat.
No contractId et inputJson Le service crée un nouveau Contrat, un Contrat d'assurance et des Plans de groupe de contrats.
contractId et non inputJson Le service ne met à jour aucun contrat.
contractId et inputJson Le service met à jour les plans existants Contrat, Contrat d'assurance et Groupe de contrats.

JSON d'entrée

Cet exemple montre un nouveau JSON d'entrée de contrat, où contractJson est la clé d'entrée et productConfigurationDetail contient le JSON du produit :

{
    "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 sortie (lorsque le service crée un contrat)

Lors de la création d'un contrat, la contractId du nouveau contrat est renvoyée dans le JSON de sortie. Lors de la mise à jour d'un contrat existant, aucun JSON de sortie n'est renvoyé.

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

JSON de sortie (lorsque le service renvoie une erreur)

Le service renvoie une chaîne vide s'il rencontre des exceptions. De plus, il renvoie une liste de membres qui contiennent des erreurs. Chaque élément de liste comprend les données et les erreurs des membres d'entrée.

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