Du är här:
InsContractServiceStd:createUpdateContract
Använd denna tjänst för att skapa eller uppdatera ett kontrakt för den givna offerten.
Name, SourceQuote, SourceOpportunity och Pricebook i enheten Kontrakt. Klass: InsContractServiceStd
Metod: createUpdateContract
Så här fungerar det
-
Denna tjänst letar efter
inputKeyi produkt-JSON för en offert, som innehållerproductConfigurationDetail,additionalFields,QuoteIdochAccountId. -
productConfigurationDetailinnehåller data för offertradartiklar för en given Offert, som tjänsten använder för att skapa kontraktgruppplaner. -
quoteIdär ID för den Offert som tjänsten skapar kontraktet för.AccountIdär det konto-ID som är kopplat till kontraktet. -
Baserat på
QuoteId,AccountIdoch additionalFields skapar tjänsten kontraktet och fyller i dess fält. I enlighet med detta kontrakt skapar tjänsten ett försäkringskontrakt och fyller i sina fält medadditionalFields. -
Om en
contractIdhar specificerats uppdaterar tjänsten kontraktet. -
Om ingen
contractIdspecificeras skapar tjänsten en nycontractId.
Fjärralternativ
Alternativ |
Beskrivning |
|---|---|
|
Valfri ID för kontraktet. |
|
Valfri Namn på prisboken. |
|
Obligatoriskt. Indata-JSON för de kontrakt- och kontraktgruppplaner som ska skapas. Den har |
Servicebeteende
Förstå hur olika inmatningar påverkar serviceresultaten.
Indata |
Utdata |
|---|---|
Nej contractId och nej inputJson
|
Tjänsten skapar inget kontrakt. |
Inga contractId och inputJson
|
Tjänsten skapar ett nytt kontrakt, försäkringskontrakt och kontraktgruppplaner. |
contractId och nej inputJson |
Tjänsten uppdaterar inget kontrakt. |
contractId och inputJson
|
Tjänsten uppdaterar befintliga planer för kontrakt, försäkringskontrakt och kontraktgrupper. |
Indata-JSON
Detta exempel visar en ny JSON för kontraktinmatning, där contractJson är indatanyckeln och productConfigurationDetail innehåller produktens 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 för utdata (när tjänsten skapar ett kontrakt)
När ett nytt kontrakt skapas returneras contractId för det nya kontraktet i JSON för utdata. Vid uppdatering av ett befintligt kontrakt returneras ingen JSON för utdata.
{
"contractId: "0rfRN0000000014YAA",
"errorCode": "INVOKE-200",
"error": "OK"
}JSON för utdata (när tjänsten returnerar ett fel)
Tjänsten returnerar en tom sträng om den stöter på några undantag. Den returnerar även en lista över medlemmar med fel. Varje listobjekt består av ingående medlemsdata och fel.
{
"contractId: "",
"errors" : "List of errors, if any",
"errorCode": "INVOKE-200",
"error": "OK"
}