Overview
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 (PwsEngagementElement) 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.
...
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 | **deprecated** | ||||||||||||||
UseEtEngagementProjectDefaultsFlag | Boolean | No | false | If set to 'true', any locks on and 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 failtype 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 | |||||||||||
UseEtEngagementProjectDefaultsFlagUseEtProjectWorkspaceDefaultsFlag | Boolean | No | false | If set to 'true', and the engagement type is updatedbeing changed, the engagement type defaults for the engagement and the project workspace settings for 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. | 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 PwsGetEngagement (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', 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 PwsGetEngagement (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 a contract line item will not be created upon creation of a new engagement. | true |
LocksToSteal | PwsEntityLockSummary[1.100] | No | The detailed information of the locks that are to be stolen. If not specified, the request will fail if any requested locks are already held. If specified, the information supplied must exactly match the current state of existing locks or the attempt to steal the existing locks will fail. Typically, this service is invoked with LocksToSteal empty or null. If there are existing locks, they will be returned in the LockHolders member of PwsFault. This data can then be sent, as is, back to the server in a second invocation of this service, as LocksToSteal, if the caller desires to steal the locks. | |||||||||||||
ProjectorLockSetId | Int32 | No | A projector lock set id is an identifier for a group of one or more locks held as a unit. |
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> |
...
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. See Request Elements above for more details. | AAAAAA98Yvs= |
LockStolenFromUserIdentity | PwsUserRefIf a lock is stolen in the process of updating an engagement, this identifies the user from whom the lock was stolen | **deprecated** | |
StolenLocks | PwsEntityLockSummary | This structure contains information about the locks that were stolen in order to complete this request, Will be included only when LocksToSteal is specified in the request. |
Response Usage Example(s)
...