...
This web service inserts or updates a single engagement based on a detailed engagement structure (PwsEngagementDetail). The service returns the identity (PwsEngagementRef) of the engagement that has been inserted or updated. The caller can optionally request that the full engagement detail (PwsEngagementDetail) be included in the response. Please note, upon creation of a new engagement, certain attributes may be derived from engagement type defaults. Additionally, if a non-billable engagement is created, the specified culture and currency will be ignored. Rather, the currency is derived from the engagement's company's currency, and the culture is derived from the currency's default culture.
Request Format
Panel | ||
---|---|---|
| ||
|
Request Elements
Element | Data Type | Required? | Default | Description | Sample Data |
---|---|---|---|---|---|
Int32 | No | Click here for more information | 1 | ||
String (50) | Yes | Click here for more information | AUcfZP60RNdWSqGygrg5fw== | ||
Engagement | Yes | Engagement detail element containing identity of engagement and data to be saved about the engagement | |||
FullDetailFlag | Boolean | No | false | If set to 'true', the full detailed engagement element will be included in the response | true |
StealLockFlag | Boolean | No | false | If set to 'true', any locks on the engagement will be stolen if it is currently locked, otherwise, if it is set to 'false' and a lock is in place the service will fail | true |
UseEtEngagementProjectDefaultsFlag | Boolean | No | false | If set to 'true', and the engagement type is updated, the engagement type defaults for the engagement and the underlying projects (except project workspace defaults) will override existing settings (and any settings explicitly specified here for engagement attributes with defaults at the engagement type level) | true |
UseEtProjectWorkspaceDefaultsFlag | Boolean | No | false | If set to 'true', and engagement type is being changed, the engagement type defaults for the project workspace settings for underlying projects will override existing settings | true |
EngagementTimestamp | String | No | This is a Base64 encoded timestamp utilized for engagement locking. To protect against overwriting other changes, you may optionally echo back the timestamp returned by a call to PwsSaveEngagement(or a prior call to PwsSaveEngagement). This will cause the request to fail if any change has been made between invocations of PwsGetEngagement and PwsSaveEngagement. | ||
SuppressCliCreationOnInsertFlag | Boolean | No | false | If set to 'true', a contract line item will not be created upon creation of a new engagement | true |
Request Usage Example(s)
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:pws="http://projectorpsa.com/PwsProjectorServices/" xmlns:req="http://projectorpsa.com/DataContracts/Requests/" xmlns:sch="http://projectorpsa.com/DataContracts/Shared/Scheduling/" xmlns:com="http://projectorpsa.com/DataContracts/Shared/Common/"> <soapenv:Header/> <soapenv:Body> <pws:PwsSaveEngagement> <pws:serviceRequest> <req:RequestId>1</req:RequestId> <req:SessionTicket>AUcfZP60RNdWSqGygrg5fw==</req:SessionTicket> <sch:Engagement> <com:ClientIdentity> <com:ClientNumber>C000124</com:ClientNumber> </com:ClientIdentity> <com:EngagementName>Web Services Inc. - New</com:EngagementName> <com:Address> <com:AddressLine1>123 Main Street</com:AddressLine1> <com:AddressLine2>100</com:AddressLine2> <com:Attention>Billing</com:Attention> <com:City>Boston</com:City> <com:CompanyName>Web Services Inc.</com:CompanyName> <com:Country>USA</com:Country> <com:StateOrProvince>MA</com:StateOrProvince> <com:ZipOrPostalCode>02114</com:ZipOrPostalCode> </com:Address> <com:BillingCultureIdentity> <com:CultureName>en-US</com:CultureName> </com:BillingCultureIdentity> <com:BillingCycleIdentity> <com:BillingCycleName>Monthly</com:BillingCycleName> </com:BillingCycleIdentity> <com:BillingInstructions>Please bill on the 15th of every month.</com:BillingInstructions> <com:ClientMessage>We appreciate your business!</com:ClientMessage> <com:ClientMessagePlain>We appreciate your business!</com:ClientMessagePlain> <com:CostAlertsBasisType>E</com:CostAlertsBasisType> <com:CostBudgetMetric>C</com:CostBudgetMetric> <com:CostCenterIdentity> <com:CostCenterName>Executive Team (USA)</com:CostCenterName> <com:CostCenterNumber>Executive Team (USA)</com:CostCenterNumber> </com:CostCenterIdentity> <com:CurrencyIdentity> <com:CurrencyCode>USD</com:CurrencyCode> </com:CurrencyIdentity> <com:EngagementStageIdentity> <com:EngagementStageName>Open</com:EngagementStageName> <com:EngagementStageShortName>Open</com:EngagementStageShortName> </com:EngagementStageIdentity> <com:EngagementTypeIdentity> <com:EngagementTypeName>Billable - Time and Materials</com:EngagementTypeName> <com:EngagementTypeShortName>TandM</com:EngagementTypeShortName> </com:EngagementTypeIdentity> <com:InheritAddressFlag>false</com:InheritAddressFlag> <com:InheritBillingCycleFlag>false</com:InheritBillingCycleFlag> <com:InheritBillingInstructionsFlag>false</com:InheritBillingInstructionsFlag> <com:InheritClientMessageFlag>false</com:InheritClientMessageFlag> <com:InheritInvoiceContentFlag>false</com:InheritInvoiceContentFlag> <com:InheritInvoiceScopeFlag>false</com:InheritInvoiceScopeFlag> <com:InheritInvoiceTemplateFlag>false</com:InheritInvoiceTemplateFlag> <com:InheritPaymentTermFlag>false</com:InheritPaymentTermFlag> <com:InheritPurchaseOrderNumberFlag>false</com:InheritPurchaseOrderNumberFlag> <com:InheritTimeBillingTypeFlag>false</com:InheritTimeBillingTypeFlag> <com:InvoiceContent>B</com:InvoiceContent> <com:InvoiceScope>E</com:InvoiceScope> <com:InvoiceTemplateIdentity> <com:InvoiceTemplateName>A200</com:InvoiceTemplateName> </com:InvoiceTemplateIdentity> <com:ManagerIdentity> <com:UserReferenceSystemId>E123</com:UserReferenceSystemId> </com:ManagerIdentity> <com:PaymentTermIdentity> <com:PaymentTermName>Net 15</com:PaymentTermName> </com:PaymentTermIdentity> <com:PurchaseOrderNumber>WS-001</com:PurchaseOrderNumber> <com:TimeAlertsBasisType>A</com:TimeAlertsBasisType> <com:TimeBillingType>H</com:TimeBillingType> <com:TimeBudgetMetric>B</com:TimeBudgetMetric> <com:UserDefinedFields> <com:PwsUserDefinedFieldDetail> <com:UdfName>EN-Text List</com:UdfName> <com:DataType>L</com:DataType> <com:TextValue>EN-1A</com:TextValue> </com:PwsUserDefinedFieldDetail> </com:UserDefinedFields> <com:InheritInvoiceEmailSettingsFlag>false</com:InheritInvoiceEmailSettingsFlag> <com:InvoiceEmailSettings> <com:EmailFromUserIdentity> <com:UserReferenceSystemId>Partner - 01</com:UserReferenceSystemId> </com:EmailFromUserIdentity> <com:EmailInvoiceTemplateIdentity> <com:InvoiceTemplateName>E003</com:InvoiceTemplateName> </com:EmailInvoiceTemplateIdentity> <com:InvoiceEmailEnabledFlag>true</com:InvoiceEmailEnabledFlag> <com:InvoiceEmailType>P</com:InvoiceEmailType> <com:Recipients> <com:PwsInvoiceEmailRecipient> <com:RecipientType>T</com:RecipientType> <com:UserIdentity> <com:UserReferenceSystemId>E123</com:UserReferenceSystemId> </com:UserIdentity> </com:PwsInvoiceEmailRecipient> </com:Recipients> </com:InvoiceEmailSettings> <com:InheritRenderReceiptsFlag>false</com:InheritRenderReceiptsFlag> <com:RenderReceiptsFlag>true</com:RenderReceiptsFlag> <com:InheritAutoApplyAvailableBalanceFlag>true</com:InheritAutoApplyAvailableBalanceFlag> <com:InheritTaxTypesFlag>false</com:InheritTaxTypesFlag> <com:TaxType1Identity> <com:TaxTypeCode>VAT</com:TaxTypeCode> </com:TaxType1Identity> </sch:Engagement> <sch:FullDetailFlag>true</sch:FullDetailFlag> <sch:StealLockFlag>true</sch:StealLockFlag> <sch:UseEtEngagementProjectDefaultsFlag>true</sch:UseEtEngagementProjectDefaultsFlag> <sch:UseEtProjectWorkspaceDefaultsFlag>true</sch:UseEtProjectWorkspaceDefaultsFlag> <sch:SuppressCliCreationOnInsertFlag>true</sch:SuppressCliCreationOnInsertFlag> </pws:serviceRequest> </pws:PwsSaveEngagement> </soapenv:Body> </soapenv:Envelope> |
Response Format
Panel | ||
---|---|---|
| ||
|
Response Elements
Element | Data Type | Description | Sample Data |
---|---|---|---|
Messages | The web service response status and message. Click here for more information | ||
Int32 | Click here for more information | 1 | |
Status | Click here for more information | Ok | |
DateTime | Click here for more information | 2018-01-18T17:08:48.5836504Z | |
Engagement | The complete set of information about the engagement | ||
EngagementIdentity | The unique keys used to identify the engagement | ||
EngagementTimestamp | String | This is a Base64 encoded timestamp utilized for engagement locking. To protect against overwriting other changes, you may optionally echo back the timestamp returned by a call to PwsSaveEngagement(or a prior call to PwsSaveEngagement). This will cause the request to fail if any change has been made between invocations of PwsGetEngagement and PwsSaveEngagement. | AAAAAA98Yvs= |
LockStolenFromUserIdentity | If a lock is stolen in the process of updating an engagement, this identifies the user from which the lock was stolen from |
Response Usage Example(s)
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <s:Body> <PwsSaveEngagementResponse xmlns="http://projectorpsa.com/PwsProjectorServices/"> <PwsSaveEngagementResult xmlns:a="http://projectorpsa.com/DataContracts/Shared/Scheduling/" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> <Messages xmlns="http://projectorpsa.com/CommonServices/" xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/"/> <ResponseId xmlns="http://projectorpsa.com/CommonServices/">1</ResponseId> <Status xmlns="http://projectorpsa.com/CommonServices/">Ok</Status> <ServerTimestampUtc xmlns="http://projectorpsa.com/CommonServices/">2018-01-18T17:08:48.5836504Z</ServerTimestampUtc> <a:Engagement xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/"> <b:EngagementDetail> <b:EngagementCode>P001322</b:EngagementCode> <b:EngagementId i:nil="true"/> <b:EngagementUid>1152921504607326388</b:EngagementUid> <b:ClientIdentity> <b:ClientId i:nil="true"/> <b:ClientNumber>C000124</b:ClientNumber> <b:ClientUid>1152921504606998465</b:ClientUid> </b:ClientIdentity> <b:EngagementName>Web Services Inc. - New</b:EngagementName> <b:Address> <b:AddressLine1>123 Main Street</b:AddressLine1> <b:AddressLine2>100</b:AddressLine2> <b:Attention>Billing</b:Attention> <b:City>Boston</b:City> <b:CompanyName>Web Services Inc.</b:CompanyName> <b:Country>USA</b:Country> <b:StateOrProvince>MA</b:StateOrProvince> <b:ZipOrPostalCode>02114</b:ZipOrPostalCode> </b:Address> <b:BillingAdjustedRevenueTimeBudgetAmount>0</b:BillingAdjustedRevenueTimeBudgetAmount> <b:BillingCultureIdentity> <b:CultureId i:nil="true"/> <b:CultureName>en-US</b:CultureName> <b:CultureUid>1152921504606851419</b:CultureUid> </b:BillingCultureIdentity> <b:BillingCycleIdentity> <b:BillingCycleId i:nil="true"/> <b:BillingCycleName>Monthly</b:BillingCycleName> <b:BillingCycleUid>1152921504606853180</b:BillingCycleUid> </b:BillingCycleIdentity> <b:BillingInstructions>Please bill on the 15th of every month.</b:BillingInstructions> <b:ClientAmountCostBudgetAmount>0</b:ClientAmountCostBudgetAmount> <b:ClientMessage>We appreciate your business!</b:ClientMessage> <b:ClientMessagePlain>We appreciate your business!</b:ClientMessagePlain> <b:ContractRevenueTimeBudgetAmount i:nil="true"/> <b:CostAlertsBasisType>E</b:CostAlertsBasisType> <b:CostBudgetMetric>C</b:CostBudgetMetric> <b:CostCenterIdentity> <b:CostCenterId i:nil="true"/> <b:CostCenterName>Executive Team (USA)</b:CostCenterName> <b:CostCenterNumber>Executive Team (USA)</b:CostCenterNumber> <b:CostCenterUid>1152921504606867363</b:CostCenterUid> </b:CostCenterIdentity> <b:CostContractTerms i:nil="true"/> <b:CurrencyIdentity> <b:CurrencyCode>USD</b:CurrencyCode> <b:CurrencyId i:nil="true"/> <b:CurrencyUid>1152921504606851838</b:CurrencyUid> </b:CurrencyIdentity> <b:DisbursedAmountCostBudgetAmount i:nil="true"/> <b:EngagementStageIdentity> <b:EngagementStageId i:nil="true"/> <b:EngagementStageName>Open</b:EngagementStageName> <b:EngagementStageShortName>Open</b:EngagementStageShortName> <b:EngagementStageUid>1152921504606849675</b:EngagementStageUid> </b:EngagementStageIdentity> <b:EngagementTypeIdentity> <b:EngagementTypeId i:nil="true"/> <b:EngagementTypeName>Billable - Time and Materials</b:EngagementTypeName> <b:EngagementTypeShortName>TandM</b:EngagementTypeShortName> <b:EngagementTypeUid>1152921504606863884</b:EngagementTypeUid> </b:EngagementTypeIdentity> <b:ExpenseAmountCostBudgetAmount i:nil="true"/> <b:HoldbackAmount i:nil="true"/> <b:HoldbackPercent i:nil="true"/> <b:HoldbackType i:nil="true"/> <b:InheritAddressFlag>false</b:InheritAddressFlag> <b:InheritBillingCycleFlag>false</b:InheritBillingCycleFlag> <b:InheritBillingInstructionsFlag>false</b:InheritBillingInstructionsFlag> <b:InheritClientMessageFlag>false</b:InheritClientMessageFlag> <b:InheritInvoiceContentFlag>false</b:InheritInvoiceContentFlag> <b:InheritInvoiceScopeFlag>false</b:InheritInvoiceScopeFlag> <b:InheritInvoiceTemplateFlag>false</b:InheritInvoiceTemplateFlag> <b:InheritPaymentTermFlag>false</b:InheritPaymentTermFlag> <b:InheritPurchaseOrderNumberFlag>false</b:InheritPurchaseOrderNumberFlag> <b:InheritTimeBillingTypeFlag>false</b:InheritTimeBillingTypeFlag> <b:InvoiceContent>B</b:InvoiceContent> <b:InvoiceScope>E</b:InvoiceScope> <b:InvoiceTemplateIdentity> <b:InvoiceTemplateId i:nil="true"/> <b:InvoiceTemplateName>A200</b:InvoiceTemplateName> <b:InvoiceTemplateUid>1152921504606878904</b:InvoiceTemplateUid> </b:InvoiceTemplateIdentity> <b:ManagerIdentity> <b:UserDisplayName>John Doe</b:UserDisplayName> <b:UserId i:nil="true"/> <b:UserReferenceSystemId>E123</b:UserReferenceSystemId> <b:UserUid>1152921504607054221</b:UserUid> </b:ManagerIdentity> <b:MaxCostContractAmount i:nil="true"/> <b:MaxTimeContractAmount i:nil="true"/> <b:MinCostContractAmount i:nil="true"/> <b:MinTimeContractAmount i:nil="true"/> <b:NewEngagementCode i:nil="true"/> <b:PaymentTermIdentity> <b:PaymentTermId i:nil="true"/> <b:PaymentTermName>Net 15</b:PaymentTermName> <b:PaymentTermUid>1152921504606856053</b:PaymentTermUid> </b:PaymentTermIdentity> <b:PurchaseOrderNumber>WS-001</b:PurchaseOrderNumber> <b:ResourceDirectCostTimeBudgetAmount i:nil="true"/> <b:RevenueEarnedByDate i:nil="true"/> <b:RevenueRecognitionMethod i:nil="true"/> <b:TimeAlertsBasisType>A</b:TimeAlertsBasisType> <b:TimeBillingType>H</b:TimeBillingType> <b:TimeBudgetMetric>B</b:TimeBudgetMetric> <b:TimeContractTerms i:nil="true"/> <b:Timestamp>AAAAAA98Yvw=</b:Timestamp> <b:UserDefinedFields> <b:PwsUserDefinedFieldDetail> <b:UdfId i:nil="true"/> <b:UdfName>EN-Text List</b:UdfName> <b:UdfUid>1152921504606856803</b:UdfUid> <b:BooleanValue i:nil="true"/> <b:DataType>L</b:DataType> <b:DateValue i:nil="true"/> <b:IntegerValue i:nil="true"/> <b:ResourceIdentityValue i:nil="true"/> <b:TextValue>EN-1A</b:TextValue> <b:UdfTreatment>A</b:UdfTreatment> <b:StoplightValues/> <b:NumericValue i:nil="true"/> <b:RelationValue i:nil="true"/> </b:PwsUserDefinedFieldDetail> </b:UserDefinedFields> <b:WorkMinutesTimeBudgetAmount i:nil="true"/> <b:CalculateEngagementBudgetFlag>true</b:CalculateEngagementBudgetFlag> <b:ChargeableMinutesTimeBudgetAmount i:nil="true"/> <b:InheritInvoiceEmailSettingsFlag>false</b:InheritInvoiceEmailSettingsFlag> <b:InvoiceEmailSettings> <b:EmailFromUserIdentity> <b:UserDisplayName>Betty Smith</b:UserDisplayName> <b:UserId i:nil="true"/> <b:UserReferenceSystemId>Partner - 01</b:UserReferenceSystemId> <b:UserUid>1152921504607011056</b:UserUid> </b:EmailFromUserIdentity> <b:EmailInvoiceTemplateIdentity> <b:InvoiceTemplateId i:nil="true"/> <b:InvoiceTemplateName>E003</b:InvoiceTemplateName> <b:InvoiceTemplateUid>1152921504606878908</b:InvoiceTemplateUid> </b:EmailInvoiceTemplateIdentity> <b:InvoiceEmailEnabledFlag>true</b:InvoiceEmailEnabledFlag> <b:InvoiceEmailType>P</b:InvoiceEmailType> <b:Recipients> <b:PwsInvoiceEmailRecipient> <b:RecipientType>T</b:RecipientType> <b:UserIdentity> <b:UserDisplayName>John Doe</b:UserDisplayName> <b:UserId i:nil="true"/> <b:UserReferenceSystemId>E123</b:UserReferenceSystemId> <b:UserUid>1152921504607054221</b:UserUid> </b:UserIdentity> </b:PwsInvoiceEmailRecipient> </b:Recipients> </b:InvoiceEmailSettings> <b:InheritRenderReceiptsFlag>false</b:InheritRenderReceiptsFlag> <b:RenderReceiptsFlag>true</b:RenderReceiptsFlag> <b:AutoApplyAvailableBalanceFlag>true</b:AutoApplyAvailableBalanceFlag> <b:InheritAutoApplyAvailableBalanceFlag>true</b:InheritAutoApplyAvailableBalanceFlag> <b:InheritTaxTypesFlag>false</b:InheritTaxTypesFlag> <b:TaxType1Identity> <b:TaxTypeCode>VAT</b:TaxTypeCode> <b:TaxTypeId i:nil="true"/> <b:TaxTypeUid>1152921504606868258</b:TaxTypeUid> </b:TaxType1Identity> <b:TaxType2Identity i:nil="true"/> <b:TaxType3Identity i:nil="true"/> </b:EngagementDetail> <b:ProjectIdentities/> <b:ContractLineItems/> <b:Client> <b:ClientId i:nil="true"/> <b:ClientNumber>C000124</b:ClientNumber> <b:ClientUid>1152921504606998465</b:ClientUid> <b:ClientName>Web Services Inc.</b:ClientName> <b:InactiveFlag>false</b:InactiveFlag> <b:ParentClientIdentity i:nil="true"/> </b:Client> <b:EffectiveCurrencySymbol>$</b:EffectiveCurrencySymbol> <b:EffectiveCurrencySymbolPlacement>0</b:EffectiveCurrencySymbolPlacement> <b:EffectiveDecimalDigits>2</b:EffectiveDecimalDigits> <b:EffectiveDefaultOpsCultureIdentity> <b:OpsCultureId i:nil="true"/> <b:OpsCultureName>en-US</b:OpsCultureName> <b:OpsCultureNumber>1033</b:OpsCultureNumber> </b:EffectiveDefaultOpsCultureIdentity> <b:EffectiveExcelCurrencyFormat>[$$-409]#,##0.00_);[Red]([$$-409]#,##0.00);</b:EffectiveExcelCurrencyFormat> <b:EffectiveExcelCurrencyFormatRounded>[$$-409]#,##0_);[Red]([$$-409]#,##0);</b:EffectiveExcelCurrencyFormatRounded> <b:Manager> <b:UserDisplayName>John Doe</b:UserDisplayName> <b:UserId i:nil="true"/> <b:UserReferenceSystemId>E123</b:UserReferenceSystemId> <b:UserUid>1152921504607054221</b:UserUid> <b:EmailAddress>john@revcorp.bb</b:EmailAddress> <b:FirstName>John</b:FirstName> <b:LastName>Doe</b:LastName> <b:MiddleName i:nil="true"/> </b:Manager> </a:Engagement> <a:EngagementIdentity xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/"> <b:EngagementCode>P001322</b:EngagementCode> <b:EngagementId i:nil="true"/> <b:EngagementUid>1152921504607326388</b:EngagementUid> </a:EngagementIdentity> <a:EngagementTimestamp>AAAAAA98Yvs=</a:EngagementTimestamp> <a:LockStolenFromUserIdentity i:nil="true" xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/"/> </PwsSaveEngagementResult> </PwsSaveEngagementResponse> </s:Body> </s:Envelope> |
...