Webservice: Document Metadata

handling of templates and attribute sets

Index Method Request(s) Response Description
1 listTemplates sid
template lists all the templates
2 isTemplateWritable sid
templateId
tests if a template is writable
3 listAttributeSets sid
attributeSet lists all the attribute sets
4 getAttributeSet sid
name
attributeSet gets an attribute set by it's name
5 storeAttributeSet sid
attributeSet
setId creates/updates an attribute set; you can completely customize the set through a value object; returns the identifier of the created/updated set
6 deleteAttributeSet sid
setId
deletes an existing attribute set
7 getTemplateById sid
templateId
template gets an existing template by it's identifier
8 storeTemplate sid
template
templateId creates/updates a template; you can completely customize the template through a value object; returns the identifier of the created/updated template
9 getTemplate sid
name
template gets an existing template by it's name
10 deleteTemplate sid
templateId
deletes an existing template
11 isTemplateReadable sid
templateId
tests if a template is readable
12 getAttributeSetById sid
setId
attributeSet gets an attribute set by it's identifier
13 setAttributeOptions sid
setId
attribute
values
saves the options for the given attribute
14 getAttributeOptions sid
setId
attribute
retrieves the options for the given attribute
15 grantUserToTemplate sid
templateId
userId
permissions
grants user permission to the template
16 grantGroupToTemplate sid
templateId
groupId
permissions
grants group permission to the template
17 getGrantedUsers sid
templateId
retrieves the list of granted users for the given folder
18 getGrantedGroups sid
templateId
retrieves the list of granted groups for the given folder

Method #1: listTemplates

lists all the templates

Request

Name Type Required Multiple Description
     sid
String Y

Response

Name Type Required Multiple Description
     template
WSTemplate Y Y
          id
Long Y unique identifier
          name
String Y
          description
String
          lastModified
String Y
          docsCount
Int the last modified date (format must be 'yyyy-MM-dd HH:mm:ss' or 'yyyy-MM-dd')
          attributes
WSAttribute Y
               name
String Y name of the attribute
               stringValue
String
               intValue
Long
               doubleValue
Double
               dateValue
String the date value; format must be 'yyyy-MM-dd'
               type
Int Y 0 = String, 1 = int, 2 = double, 3 = date, 4 = user (intValue represents the user's id), 5 = boolean (intValue must be 0 or 1), 6 = folder (intValue represents the folders's id)
               mandatory
Int Y
               hidden
Int Y
               position
Int
               label
String
               editor
Int Y 0 = free, 1 = preset
               setId
Long Id of the attribute set
               multiple
Int Y 0 = single value, 1 = one or more values
               parent
String The reference attribute name, used for multi value attributes
               stringValues
String Read only. In case of multiple string values, contains the values separated by a comma

Method #2: isTemplateWritable

tests if a template is writable

Request

Name Type Required Multiple Description
     sid
String Y identifier of the session
     templateId
Long Y

Response

Name Type Required Multiple Description
    
Boolean Y

Method #3: listAttributeSets

lists all the attribute sets

Request

Name Type Required Multiple Description
     sid
String Y

Response

Name Type Required Multiple Description
     attributeSet
WSAttributeSet Y Y
          id
Long Y unique identifier
          name
String Y
          description
String
          lastModified
String the last modified date (format must be 'yyyy-MM-dd HH:mm:ss' or 'yyyy-MM-dd')
          attributes
WSAttribute Y
               name
String Y name of the attribute
               stringValue
String
               intValue
Long
               doubleValue
Double
               dateValue
String the date value; format must be 'yyyy-MM-dd'
               type
Int Y 0 = String, 1 = int, 2 = double, 3 = date, 4 = user (intValue represents the user's id), 5 = boolean (intValue must be 0 or 1), 6 = folder (intValue represents the folders's id)
               mandatory
Int Y
               hidden
Int Y
               position
Int
               label
String
               editor
Int Y 0 = free, 1 = preset
               setId
Long Id of the attribute set
               multiple
Int Y 0 = single value, 1 = one or more values
               parent
String The reference attribute name, used for multi value attributes
               stringValues
String Read only. In case of multiple string values, contains the values separated by a comma

Method #4: getAttributeSet

gets an attribute set by it's name

Request

Name Type Required Multiple Description
     sid
String Y
     name
String Y

Response

Name Type Required Multiple Description
     attributeSet
WSAttributeSet Y
          id
Long Y unique identifier
          name
String Y
          description
String
          lastModified
String the last modified date (format must be 'yyyy-MM-dd HH:mm:ss' or 'yyyy-MM-dd')
          attributes
WSAttribute Y
               name
String Y name of the attribute
               stringValue
String
               intValue
Long
               doubleValue
Double
               dateValue
String the date value; format must be 'yyyy-MM-dd'
               type
Int Y 0 = String, 1 = int, 2 = double, 3 = date, 4 = user (intValue represents the user's id), 5 = boolean (intValue must be 0 or 1), 6 = folder (intValue represents the folders's id)
               mandatory
Int Y
               hidden
Int Y
               position
Int
               label
String
               editor
Int Y 0 = free, 1 = preset
               setId
Long Id of the attribute set
               multiple
Int Y 0 = single value, 1 = one or more values
               parent
String The reference attribute name, used for multi value attributes
               stringValues
String Read only. In case of multiple string values, contains the values separated by a comma

Method #5: storeAttributeSet

creates/updates an attribute set; you can completely customize the set through a value object; returns the identifier of the created/updated set

Request

Name Type Required Multiple Description
     sid
String Y
     attributeSet
WSAttributeSet Y
          id
Long Y unique identifier
          name
String Y
          description
String
          lastModified
String the last modified date (format must be 'yyyy-MM-dd HH:mm:ss' or 'yyyy-MM-dd')
          attributes
WSAttribute Y
               name
String Y name of the attribute
               stringValue
String
               intValue
Long
               doubleValue
Double
               dateValue
String the date value; format must be 'yyyy-MM-dd'
               type
Int Y 0 = String, 1 = int, 2 = double, 3 = date, 4 = user (intValue represents the user's id), 5 = boolean (intValue must be 0 or 1), 6 = folder (intValue represents the folders's id)
               mandatory
Int Y
               hidden
Int Y
               position
Int
               label
String
               editor
Int Y 0 = free, 1 = preset
               setId
Long Id of the attribute set
               multiple
Int Y 0 = single value, 1 = one or more values
               parent
String The reference attribute name, used for multi value attributes
               stringValues
String Read only. In case of multiple string values, contains the values separated by a comma

Response

Name Type Required Multiple Description
     setId
Long Y

Method #6: deleteAttributeSet

deletes an existing attribute set

Request

Name Type Required Multiple Description
     sid
String Y
     setId
Long Y

Method #7: getTemplateById

gets an existing template by it's identifier

Request

Name Type Required Multiple Description
     sid
String Y
     templateId
Long Y

Response

Name Type Required Multiple Description
     template
WSTemplate Y
          id
Long Y unique identifier
          name
String Y
          description
String
          lastModified
String Y
          docsCount
Int the last modified date (format must be 'yyyy-MM-dd HH:mm:ss' or 'yyyy-MM-dd')
          attributes
WSAttribute Y
               name
String Y name of the attribute
               stringValue
String
               intValue
Long
               doubleValue
Double
               dateValue
String the date value; format must be 'yyyy-MM-dd'
               type
Int Y 0 = String, 1 = int, 2 = double, 3 = date, 4 = user (intValue represents the user's id), 5 = boolean (intValue must be 0 or 1), 6 = folder (intValue represents the folders's id)
               mandatory
Int Y
               hidden
Int Y
               position
Int
               label
String
               editor
Int Y 0 = free, 1 = preset
               setId
Long Id of the attribute set
               multiple
Int Y 0 = single value, 1 = one or more values
               parent
String The reference attribute name, used for multi value attributes
               stringValues
String Read only. In case of multiple string values, contains the values separated by a comma

Method #8: storeTemplate

creates/updates a template; you can completely customize the template through a value object; returns the identifier of the created/updated template

Request

Name Type Required Multiple Description
     sid
String Y
     template
WSTemplate Y
          id
Long Y unique identifier
          name
String Y
          description
String
          lastModified
String Y
          docsCount
Int the last modified date (format must be 'yyyy-MM-dd HH:mm:ss' or 'yyyy-MM-dd')
          attributes
WSAttribute Y
               name
String Y name of the attribute
               stringValue
String
               intValue
Long
               doubleValue
Double
               dateValue
String the date value; format must be 'yyyy-MM-dd'
               type
Int Y 0 = String, 1 = int, 2 = double, 3 = date, 4 = user (intValue represents the user's id), 5 = boolean (intValue must be 0 or 1), 6 = folder (intValue represents the folders's id)
               mandatory
Int Y
               hidden
Int Y
               position
Int
               label
String
               editor
Int Y 0 = free, 1 = preset
               setId
Long Id of the attribute set
               multiple
Int Y 0 = single value, 1 = one or more values
               parent
String The reference attribute name, used for multi value attributes
               stringValues
String Read only. In case of multiple string values, contains the values separated by a comma

Response

Name Type Required Multiple Description
     templateId
Long Y

Method #9: getTemplate

gets an existing template by it's name

Request

Name Type Required Multiple Description
     sid
String Y
     name
String Y

Response

Name Type Required Multiple Description
     template
WSTemplate Y
          id
Long Y unique identifier
          name
String Y
          description
String
          lastModified
String Y
          docsCount
Int the last modified date (format must be 'yyyy-MM-dd HH:mm:ss' or 'yyyy-MM-dd')
          attributes
WSAttribute Y
               name
String Y name of the attribute
               stringValue
String
               intValue
Long
               doubleValue
Double
               dateValue
String the date value; format must be 'yyyy-MM-dd'
               type
Int Y 0 = String, 1 = int, 2 = double, 3 = date, 4 = user (intValue represents the user's id), 5 = boolean (intValue must be 0 or 1), 6 = folder (intValue represents the folders's id)
               mandatory
Int Y
               hidden
Int Y
               position
Int
               label
String
               editor
Int Y 0 = free, 1 = preset
               setId
Long Id of the attribute set
               multiple
Int Y 0 = single value, 1 = one or more values
               parent
String The reference attribute name, used for multi value attributes
               stringValues
String Read only. In case of multiple string values, contains the values separated by a comma

Method #10: deleteTemplate

deletes an existing template

Request

Name Type Required Multiple Description
     sid
String Y
     templateId
Long Y

Method #11: isTemplateReadable

tests if a template is readable

Request

Name Type Required Multiple Description
     sid
String Y identifier of the session
     templateId
Long Y

Response

Name Type Required Multiple Description
    
Boolean Y

Method #12: getAttributeSetById

gets an attribute set by it's identifier

Request

Name Type Required Multiple Description
     sid
String Y
     setId
Long Y

Response

Name Type Required Multiple Description
     attributeSet
WSAttributeSet Y
          id
Long Y unique identifier
          name
String Y
          description
String
          lastModified
String the last modified date (format must be 'yyyy-MM-dd HH:mm:ss' or 'yyyy-MM-dd')
          attributes
WSAttribute Y
               name
String Y name of the attribute
               stringValue
String
               intValue
Long
               doubleValue
Double
               dateValue
String the date value; format must be 'yyyy-MM-dd'
               type
Int Y 0 = String, 1 = int, 2 = double, 3 = date, 4 = user (intValue represents the user's id), 5 = boolean (intValue must be 0 or 1), 6 = folder (intValue represents the folders's id)
               mandatory
Int Y
               hidden
Int Y
               position
Int
               label
String
               editor
Int Y 0 = free, 1 = preset
               setId
Long Id of the attribute set
               multiple
Int Y 0 = single value, 1 = one or more values
               parent
String The reference attribute name, used for multi value attributes
               stringValues
String Read only. In case of multiple string values, contains the values separated by a comma

Method #13: setAttributeOptions

saves the options for the given attribute

Request

Name Type Required Multiple Description
     sid
String Y
     setId
Long Y
     attribute
String Y
     values
String Y Y

Method #14: getAttributeOptions

retrieves the options for the given attribute

Request

Name Type Required Multiple Description
     sid
String Y
     setId
Long Y
     attribute
String Y

Response

Name Type Required Multiple Description
    
String Y Y

Method #15: grantUserToTemplate

grants user permission to the template

Request

Name Type Required Multiple Description
     sid
String Y identifier of the session
     templateId
Long Y
     userId
Long Y
     permissions
Int Y the permission integer representation; if '0', the user will be not granted to access the template

Method #16: grantGroupToTemplate

grants group permission to the template

Request

Name Type Required Multiple Description
     sid
String Y identifier of the session
     templateId
Long Y
     groupId
Long Y
     permissions
Int Y the permission integer representation; if '0', the group will be not granted to access the template

Method #17: getGrantedUsers

retrieves the list of granted users for the given folder

Request

Name Type Required Multiple Description
     sid
String Y identifier of the session
     templateId
Long Y

Response

Name Type Required Multiple Description
    
WSRight Y Y
          id
Long Y unique identifier of a user or a group
          permissions
Int Y permissions mask.
this is an integer representation of a list of 17 bits. Each bit refers to a permission: 0 to deny, 1 to grant the permission.
This list represent the bit array starting from left to right:
  1. Storage
  2. Automation
  3. Email
  4. Move
  5. Password
  6. Print
  7. Subscription
  8. Calendar
  9. Workflow
  10. Archive
  11. Sign
  12. Export
  13. Import
  14. Rename
  15. Delete
  16. Immutable
  17. Security
  18. Add
  19. Write
  20. Download
  21. Read
In particular, 'Read' is represented by the last right bit while 'Download' is represented by the first left bit.
Here are two examples:

A) if you want to assign to a user the permissions Read, Write, Immutable, Rename, Sign, Download, the 'permissions' value must be 2215, in fact it is 000000000100010100111 in binary representation.

B) if you want to assign to a group the permissions Read, Write, Add, Security, Import, Archive, Workflow, the 'permissions' value must be 6421, in fact it is 000000001100100010101 in binary representation.


Method #18: getGrantedGroups

retrieves the list of granted groups for the given folder

Request

Name Type Required Multiple Description
     sid
String Y identifier of the session
     templateId
Long Y

Response

Name Type Required Multiple Description
    
WSRight Y Y
          id
Long Y unique identifier of a user or a group
          permissions
Int Y permissions mask.
this is an integer representation of a list of 17 bits. Each bit refers to a permission: 0 to deny, 1 to grant the permission.
This list represent the bit array starting from left to right:
  1. Storage
  2. Automation
  3. Email
  4. Move
  5. Password
  6. Print
  7. Subscription
  8. Calendar
  9. Workflow
  10. Archive
  11. Sign
  12. Export
  13. Import
  14. Rename
  15. Delete
  16. Immutable
  17. Security
  18. Add
  19. Write
  20. Download
  21. Read
In particular, 'Read' is represented by the last right bit while 'Download' is represented by the first left bit.
Here are two examples:

A) if you want to assign to a user the permissions Read, Write, Immutable, Rename, Sign, Download, the 'permissions' value must be 2215, in fact it is 000000000100010100111 in binary representation.

B) if you want to assign to a group the permissions Read, Write, Add, Security, Import, Archive, Workflow, the 'permissions' value must be 6421, in fact it is 000000001100100010101 in binary representation.