Vous êtes ici :
InsContractServiceStd:createUpdateContract
Utilisez ce service pour créer ou mettre à jour un contrat pour le devis donné.
Name, SourceQuote, SourceOpportunity et Pricebook de l'entité Contrat. Classe: InsContractServiceStd
Méthode : createUpdateContract
Fonctionnement
-
Ce service recherche la valeur
inputKeydans le JSON produit d'un devis, qui contient la carteproductConfigurationDetail,additionalFields,QuoteIdetAccountId. -
Le
productConfigurationDetailcontient 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. -
quoteIdest l'ID du devis pour lequel le service crée le contrat.AccountIdest l'ID de compte lié au contrat. -
Basé sur
QuoteId,AccountIdet 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éesadditionalFields. -
Si un
contractIdest spécifié, le service met à jour le contrat. -
Si aucune
contractIdn'est spécifiée, le service crée unecontractId.
Options distantes
Options |
Description |
|---|---|
|
Facultatif ID du contrat. |
|
Facultatif Nom du catalogue de prix. |
|
Obligatoire. JSON d'entrée du contrat et des plans de groupe de contrats à créer. Il a |
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"
}