PwsGetFolder

Overview


This web service retrieves a document folder identity (PwsFolderRef). Folders are containers for documents in Projector, Documents in Projector can be attached to projects (workspace documents), project issues (issue attachments), resources (resumes), expense documents or cost cards (receipts), payment vouchers (payment voucher attachments) or invoices (uploaded invoices, supporting documents). You must specify the folder type code and the identity of the expense document (PwsExpenseDocumentRef), invoice (PwsInvoiceRef), project (PwsProjectRef), project issue (PwsProjectIssueRef), resource (PwsResourceRef), user (PwsUserRef), cost card (PwsCostCardRef) or payment voucher (PwsPaymentVoucherRef) associated with the folder.

There are two additional folder types, the receipt pool folder and issue attachment pool folder that are used internally as a holding pen for receipts or issue attachments that have not yet been linked to an expense document/cost card or project issue respectively.

Once in possession of a folder identity, you can retrieve more detailed information about the folder, including the folder contents (see PwsGetFolderContents) or you can upload documents into the folder (please talk to Projector support).

Request Format


PwsGetFolder Request

Request Elements


Element

Data Type

Required?

Default

Description

Sample Data

RequestId

Int32

No 


Click here for more information.

1

SessionTicket

String

Yes


Click here for more information.

AZZNMfO8vxeYuc3WXDkixw==

CreateIfNeededFlag

Boolean

No

false

If set to 'true', the folder will be created if it does not already exist.

false

ExpenseDocumentIdentity

PwsExpenseDocumentRef

One of ExpenseDocumentIdentity, InvoiceIdentity, ProjectIdentity, ProjectIssueIdentity, ResourceIdentity, UserIdentity, CostCardIdentity or PaymentVoucherIdentity is required


The expense document identity, applicable if the FolderTypeCode = 'ExpenseReportFolder'.


FolderTypeCode

String

Yes


The folder type code:

'ProjectWorkspaceFolder' for Project Workspace Folder

'ResourceResumeFolder' for Resource Resume Folder

'InvoiceFolder' for Invoice Folder

'ProjectIssueFolder' for Project Issue Folder

'ExpenseReportFolder' for Expense Report Folder. Don't choose this option. Use UserReceiptPoolFolder instead.

'UserReceiptPoolFolder' for a User's Receipt Folder

'UserIssueAttachmentPoolFolder' for User's Issue Attachment Pool Folder

'PaymentVoucherFolder' for Payment Voucher Folder

ExpenseReportFolder

InvoiceIdentity

PwsInvoiceRef

See ExpenseDocumentIdentity


The invoice identity, applicable if the FolderTypeCode = 'InvoiceFolder'.


ProjectIdentity

PwsProjectRef

See ExpenseDocumentIdentity


The project identity, applicable if the FolderTypeCode = 'ProjectWorkspaceFolder'.


ProjectIssueIdentity

PwsProjectIssueRef

See ExpenseDocumentIdentity


The project issue identity, applicable if the FolderTypeCode = 'ProjectIssueFolder'.


ResourceIdentity

PwsResourceRef

See ExpenseDocumentIdentity


The resource identity, applicable if the FolderTypeCode = 'ResourceResumeFolder'.


UserIdentity

PwsUserRef

See ExpenseDocumentIdentity


The user identity, applicable if the FolderTypeCode = 'UserReceiptPoolFolder' or 'UserIssueAttachmentPoolFolder'.


CostCardIdentity

PwsCostCardRef

See ExpenseDocumentIdentity


The cost card identity, applicable if the FolderTypeCode = 'ExpenseReportFolder'. (Don't upload directly to ExpenseReportFolder)


PaymentVoucherIdentity

PwsPaymentVoucherRef

See ExpenseDocumentIdentity


The payment voucher identity, applicable if the FolderTypeCode = 'PaymentVoucherFolder'.


Request Usage Example(s)


Example 01
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:pws="http://projectorpsa.com/PwsProjectorServices/" xmlns:req="http://projectorpsa.com/DataContracts/Requests/" xmlns:doc="http://projectorpsa.com/DataContracts/Shared/DocumentManagement/" xmlns:com="http://projectorpsa.com/DataContracts/Shared/Common/">
   <soapenv:Header/>
   <soapenv:Body>
      <pws:PwsGetFolder>
         <!--Optional:-->
         <pws:serviceRequest>
            <req:SessionTicket>ARaqO1NTOppS159NGsaYoA==</req:SessionTicket>
            <doc:ExpenseDocumentIdentity>
               <com:ExpenseDocumentUid>1152921504607674595</com:ExpenseDocumentUid>
            </doc:ExpenseDocumentIdentity>
             <doc:FolderTypeCode>ExpenseReportFolder</doc:FolderTypeCode>
         </pws:serviceRequest>
      </pws:PwsGetFolder>
   </soapenv:Body>
</soapenv:Envelope>

Response Format


PwsGetFolder Response
  • PwsGetFolderResponse
    • PwsGetFolderResult: PwsGetFolderRs
      • Messages: PwsMessage
      • ResponseId: Int32
      • Status: RequestStatus
      • ServerTimestampUtc: DateTime
      • FolderIdentity: PwsFolderRef
      • AssociatedEntityDescription: String

      • CanAddAssociationsFlag: Boolean

      • CanAddDocumentsFlag: Boolean

      • CanAddLinksFlag: Boolean

      • CanAddNotesFlag: Boolean

      • CanAddVersionsFlag: Boolean

      • CanDeleteDocumentsFlag: Boolean

      • CanSearchDocumentsFlag: Boolean

      • CanViewDocumentsFlag: Boolean

      • RequireDocumentDataFlag: Boolean

      • RequireUniqueFilenamesFlag: Boolean

Response Elements


Element

Data Type

Description

Sample Data

Messages

PwsMessage[]

The web service response status and message. Click here for more information.


ResponseId

Int32

Click here for more information

1

Status

RequestStatus

Click here for more information

Ok 

ServerTimestampUtc

DateTime

Click here for more information

2018-03-16T17:07:24.3032414Z

FolderIdentity

PwsFolderRef

The document folder identity


AssociatedEntityDescriptionString

If folder type is:

  • Project Workspace Folder: project code
  • Resource Resume Folder: display name
  • Invoice Folder: invoice number/draft Invoice number)
  • Expense Report Folder: document number
  • Payment Voucher Folder: payment voucher number
ER00219
CanAddAssociationsFlagBooleanIf set to 'true', document association can be added to the folder. As of R18, only Expense Report folder can have association (cost card) add to the document (receipt) folder.true
CanAddDocumentsFlagBooleanIf set to 'true', document can be added to the folder.true
CanAddLinksFlagBooleanIf set to 'true', link can be added to the folder.true
CanAddNotesFlagBooleanIf set to 'true', notes can be added to the folder.true
CanAddVersionsFlagBooleanIf set to 'true', new version of document can be added to the folder.true
CanDeleteDocumentsFlagBooleanIf set to 'true', document can be deleted from the folder.true
CanSearchDocumentsFlagBooleanIf set to 'true', document can be searched in the folder.true
CanViewDocumentsFlagBooleanIf set to 'true', document cam be viewed in the folder.true
RequireDocumentDataFlagBooleanIf set to 'true', document data associated with the folder must be included. As of R18, only Expense Report folder have document data (notes & cost card/receipt association) add to the document (receipt) folder. true
RequireUniqueFilenamesFlagBooleanIf set to 'true', the document name must be unique inside the folder.true

Response Usage Example(s)


Example 01
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body>
      <PwsGetFolderResponse xmlns="http://projectorpsa.com/PwsProjectorServices/">
         <PwsGetFolderResult xmlns:a="http://projectorpsa.com/DataContracts/Shared/DocumentManagement/" 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/">0</ResponseId>
            <Status xmlns="http://projectorpsa.com/CommonServices/">Ok</Status>
            <ServerTimestampUtc xmlns="http://projectorpsa.com/CommonServices/">2018-12-17T19:44:27.5271969Z</ServerTimestampUtc>
            <a:FolderIdentity xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/">
               <b:FolderId i:nil="true"/>
               <b:FolderUid>1152921504607378723</b:FolderUid>
            </a:FolderIdentity>
            <a:AssociatedEntityDescription>ER00218</a:AssociatedEntityDescription>
            <a:CanAddAssociationsFlag>true</a:CanAddAssociationsFlag>
            <a:CanAddDocumentsFlag>true</a:CanAddDocumentsFlag>
            <a:CanAddLinksFlag>false</a:CanAddLinksFlag>
            <a:CanAddNotesFlag>true</a:CanAddNotesFlag>
            <a:CanAddVersionsFlag>false</a:CanAddVersionsFlag>
            <a:CanDeleteDocumentsFlag>true</a:CanDeleteDocumentsFlag>
            <a:CanSearchDocumentsFlag>false</a:CanSearchDocumentsFlag>
            <a:CanViewDocumentsFlag>true</a:CanViewDocumentsFlag>
            <a:RequireDocumentDataFlag>true</a:RequireDocumentDataFlag>
            <a:RequireUniqueFilenamesFlag>false</a:RequireUniqueFilenamesFlag>
         </PwsGetFolderResult>
      </PwsGetFolderResponse>
   </s:Body>
</s:Envelope>

PwsGetFolder - Common Errors and Warnings


ErrorNumber

ErrorCode

ErrorText

21000FolderTypeCodeRequiredForGetFolderA folder type code must be specified.
21017InvalidValueForFolderTypeCodeThe specified folder type code is not recognized.
54279ProjectReferenceInvalidA specified project identity was incomplete. Each project identity must specify either a project id, a project uid or a project code.
54282ProjectNotFoundSpecified project does not exist.
54833ProjectIssueNotFoundProject issue not found.
57545ResourceNotFoundThe specified resource does not exist.
57551UserNotFoundSpecified user does not exist.
65491CostCardNotFoundCostCard not found.
65499PaymentVoucherNotFoundPayment voucher not found.
68199InvoiceNotFoundInvoice not found.