Usted está aquí:
InsContractServiceStd:createUpdateContract
Utilice este servicio para crear o actualizar un contrato para el presupuesto dado.
Name, SourceQuote, SourceOpportunity y Pricebook de la entidad Contrato. Clase: InsContractServiceStd
Método: createUpdateContract
Funcionamiento
-
Este servicio busca el valor de
inputKeyen el JSON de producto de un presupuesto, que contiene el mapa deproductConfigurationDetail,additionalFields,QuoteIdyAccountId. -
El
productConfigurationDetailcontiene los datos de partidas de presupuesto de un Presupuesto concreto, que el servicio utiliza para crear planes de grupos de contratos. -
quoteIdes el Id. del presupuesto para el que el servicio crea el contrato.AccountIdes el Id. de Cuenta vinculado al contrato. -
Basándose en
QuoteId,AccountIdy 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 deadditionalFields. -
Si se especifica un
contractId, el servicio actualiza el contrato. -
Si no se especifica una
contractId, el servicio crea una nuevacontractId.
Opciones remotas
Opciones |
Descripción |
|---|---|
|
Opcional Id. del contrato. |
|
Opcional Nombre de la lista de precios. |
|
Obligatorio. JSON de entrada de los planes de contrato y grupo de contratos que se van a crear. Tiene |
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"
}