Gets full information regarding the files related to a bee document and its source and target languages.
- The document: Either the original document or a deliverable
- The attachments
- Tree view into all the files
- Full information on access rights: Can download, Can edit, etc.
URL
(POST) /resources/files/get
PARAMETERS
The message body contains a JSON object:
scope | The scope object. Note that if you use a document set or global search scope, you will receive an "available" = false result. In fact these scopes do not support files. |
did | The document id. This must be a document within the scope. |
locales | Null or optional list of locales you want to get information for. If null then you get info for all the authorized locales in scope. |
populateDepth | Null or optional depth of file structure to load:
|
RESULTS
The message body contains a JSON object:
available | Boolean. If false, then no other property is populated. It means that the scope does not propose any file management or the user cannot do any file management. Ideally, completely hide away files tools or show a message. This property is also included in the segments rights properties as property "hasFiles". So you should check this first! |
did | The document id. |
dsid | The document set id. |
name | The name of the original file (including folders). |
locales | A dictionary where the key is a locale and the value is an object with files details in this language, see below. |
previewers | A JSON object with each previewer system and whether it is enabled or not. Source and target documents include the information of the previewer system used. Hence this can be used to tell if the preview is possible or if it needs to be enabled or subscribed to first. |
Each item in locales has these properties:
locale | The locale. |
isSource | True: This is the source language. |
Source file or deliverable related properties | |
dvrequired | Boolean. True if the user must submit a deliverable. If true, the user can only approve if a physical file was set (see exists property on deliverable). |
dvapproved | Boolean. True if the user confirmed that deliverable is done as expected. Includes case where user says no, I do not want to set a deliverable. |
canDocSet | Boolean. Tells if the deliverable can be set, renamed or deleted. |
canDocDownload | Boolean. Right to download the file. |
canDocPreview | Boolean: Right to web preview the file. |
document | A file node describing the document. |
Attachments | |
canAttSet | Boolean. User can set, rename, delete, manipulate attachments. |
attachments | A folder node that contains the attachments. |
The file/folder nodes form a tree structure. A folder node may have file node and folder node children.
isdir | True: This is a folder node False: This is a file node |
name | Name of file or folder |
folder | Internal identifier of the parent node. Folder IDs are required when manipulating files. |
exists | Boolean. Tells if the file or folder actually exists. If this node is a deliverable, it will be prepopulated with all information (such as the expected name of deliverable) but the deliverable may not yet exist on the server. |
readonly | Boolean. Tells if the file is readonly or not. The original file will be readonly. Currently, the API does not allow to set this flag, so basically it is of not much use today. |
date | File/folder date. Null if not exists. |
size | File/folder date. 0 if file/folder not exists. |
scanned | Tells if the sub folders have been loaded. Ths is related to the populateDepth parameter. |
files | Only exists if isdir is true. Array of file nodes contained in the present folder node. |
folders | Only exists if isdir is true. Array of folder nodes contained in the present folder node. |
EXAMPLES
See this example:
{ "did": 1865, "dsid": 367, "available": true, "name": "html.txt", "locales": { "en-US": { "locale": "en-US", "isSource": true, "canDocSet": false, "canDocDownload": true, "canDocPreview": true, "canAttSet": true, "dvrequired": false, "dvapproved": false, "document": { "folder": "doc:en-US", "name": "html.txt", "isdir": false, "exists": true, "readonly": true, "date": "2017-02-05T22:57:24.7403048Z", "size": 502, "scanned": true }, "attachments": { "folder": "att:en-US\\html.txt_", "name": "", "isdir": true, "exists": true, "readonly": false, "date": "2017-02-06T14:51:51.7538074Z", "size": null, "scanned": true, "files": [ { "folder": "att:en-US\\html.txt_", "name": "Html replace term.config", "isdir": false, "exists": true, "readonly": false, "date": "2017-02-06T14:51:48.9304819Z", "size": 11997, "scanned": true } ], "folders": [] } }, "zh-Hans": { "locale": "zh-Hans", "isSource": false, "canDocSet": true, "canDocDownload": true, "canDocPreview": true, "canAttSet": true, "dvrequired": false, "dvapproved": true, "document": { "folder": "doc:zh-Hans", "name": "html-out.txt", "isdir": false, "exists": true, "readonly": false, "date": "2017-02-07T14:09:21.9940303Z", "size": 25, "scanned": true }, "attachments": { "folder": "att:zh-Hans\\html.txt_", "name": "", "isdir": true, "exists": true, "readonly": false, "date": "2017-02-06T14:51:55.7070816Z", "size": null, "scanned": true, "files": [], "folders": [ { "folder": "att:zh-Hans\\html.txt_", "name": "NewFolder", "isdir": true, "exists": true, "readonly": false, "date": "2017-02-07T14:07:38.8219265Z", "size": null, "scanned": true, "files": [ { "folder": "att:zh-Hans\\html.txt_\\NewFolder", "name": "NoBOMTest3.txt", "isdir": false, "exists": true, "readonly": false, "date": "2017-02-06T14:52:00.3383798Z", "size": 25, "scanned": true } ], "folders": [] } ] } } } }