Webservice: Security

users and groups handling

Index Method Request(s) Response Description
1 getUserByUsername sid
username
user finds a user by his username
2 listGroups sid
group gets all existing groups
3 storeUser sid
user
userId creates/updates a user; you can completely customize the user through a value object containing the user's metadata;
the current user must be an administrator;
returns the identifier of the created/updated user
4 storeGroup sid
group
groupId creates/updates a group; you can completely customize the group through a value object containing the group's metadata;
the current user must be an administrator;
returns the identifier of the created/updated user
5 listUsers sid
group
user gets all existing users
6 deleteUser sid
userId
deletes an existing user
7 getUser sid
userId
user gets an existing user
8 getGroup sid
groupId
group gets an existing group
9 deleteGroup sid
groupId
deletes an existing group
10 changePassword sid
userId
oldPassword
newPassword
changeResult changes the password of a user.
0 if all is ok, 1 if the password is incorrect, 2 if the new password cannot be notified, otherwise a positive number grater than 2

Method #1: getUserByUsername

finds a user by his username

Request

Name Type Required Multiple Description
     sid
String Y
     username
String Y

Response

Name Type Required Multiple Description
     user
WSUser Y
          id
Long Y unique identifier
          username
String Y
          password
String Y
          passwordmd4
String Y
          name
String
          firstName
String
          street
String
          postalcode
String
          city
String
          country
String
          state
String
          language
String Y default language; See specification
          email
String Y address used for notifications, must be a valid e-mail
          emailSignature
String a simple text to be used as a signature in the footer of the outgoing emails
          email2
String secondary email address, must be a valid e-mail
          emailSignature2
String a simple text to be used as a signature in the footer of the outgoing emails
          telephone
String
          telephone2
String
          type
Int Y must be 0
          groupIds
Long Y Y ids of the groups this user belongs to
          enabled
Int Y if 1 the user is enabled, if 0 the user is disabled
          passwordChanged
String last time the password was changed (format must be 'yyyy-MM-dd HH:mm:ss' or 'yyyy-MM-dd')
          passwordExpires
Int Y if 1 the password is eligible for expiration, if 0 the password never expires
          source
Int Y must be 0
          quota
Long Y maximum allowed user's quota expressed in bytes, -1 for no limits
          quotaCount
Long Y actual quota used by the user
          lastModified
String

Method #2: listGroups

gets all existing groups

Request

Name Type Required Multiple Description
     sid
String Y

Response

Name Type Required Multiple Description
     group
WSGroup Y Y
          id
Long Y unique identifier
          name
String Y must be unique
          description
String Y
          type
Int Y set it to 0
          inheritGroupId
Long inherit security policies from this referenced group at creation time
          userIds
Long Y Y set of users in this group
          lastModified
String the last modified date (format must be 'yyyy-MM-dd HH:mm:ss' or 'yyyy-MM-dd')

Method #3: storeUser

creates/updates a user; you can completely customize the user through a value object containing the user's metadata;<br/>the current user must be an administrator;<br/>returns the identifier of the created/updated user

Request

Name Type Required Multiple Description
     sid
String Y
     user
WSUser Y
          id
Long Y unique identifier
          username
String Y
          password
String Y
          passwordmd4
String Y
          name
String
          firstName
String
          street
String
          postalcode
String
          city
String
          country
String
          state
String
          language
String Y default language; See specification
          email
String Y address used for notifications, must be a valid e-mail
          emailSignature
String a simple text to be used as a signature in the footer of the outgoing emails
          email2
String secondary email address, must be a valid e-mail
          emailSignature2
String a simple text to be used as a signature in the footer of the outgoing emails
          telephone
String
          telephone2
String
          type
Int Y must be 0
          groupIds
Long Y Y ids of the groups this user belongs to
          enabled
Int Y if 1 the user is enabled, if 0 the user is disabled
          passwordChanged
String last time the password was changed (format must be 'yyyy-MM-dd HH:mm:ss' or 'yyyy-MM-dd')
          passwordExpires
Int Y if 1 the password is eligible for expiration, if 0 the password never expires
          source
Int Y must be 0
          quota
Long Y maximum allowed user's quota expressed in bytes, -1 for no limits
          quotaCount
Long Y actual quota used by the user
          lastModified
String

Response

Name Type Required Multiple Description
     userId
Long Y

Method #4: storeGroup

creates/updates a group; you can completely customize the group through a value object containing the group's metadata;<br/>the current user must be an administrator;<br/>returns the identifier of the created/updated user

Request

Name Type Required Multiple Description
     sid
String Y
     group
WSGroup Y
          id
Long Y unique identifier
          name
String Y must be unique
          description
String Y
          type
Int Y set it to 0
          inheritGroupId
Long inherit security policies from this referenced group at creation time
          userIds
Long Y Y set of users in this group
          lastModified
String the last modified date (format must be 'yyyy-MM-dd HH:mm:ss' or 'yyyy-MM-dd')

Response

Name Type Required Multiple Description
     groupId
Long Y

Method #5: listUsers

gets all existing users

Request

Name Type Required Multiple Description
     sid
String Y
     group
String Y if not null, all the users that belong to this group will be returned

Response

Name Type Required Multiple Description
     user
WSUser Y Y
          id
Long Y unique identifier
          username
String Y
          password
String Y
          passwordmd4
String Y
          name
String
          firstName
String
          street
String
          postalcode
String
          city
String
          country
String
          state
String
          language
String Y default language; See specification
          email
String Y address used for notifications, must be a valid e-mail
          emailSignature
String a simple text to be used as a signature in the footer of the outgoing emails
          email2
String secondary email address, must be a valid e-mail
          emailSignature2
String a simple text to be used as a signature in the footer of the outgoing emails
          telephone
String
          telephone2
String
          type
Int Y must be 0
          groupIds
Long Y Y ids of the groups this user belongs to
          enabled
Int Y if 1 the user is enabled, if 0 the user is disabled
          passwordChanged
String last time the password was changed (format must be 'yyyy-MM-dd HH:mm:ss' or 'yyyy-MM-dd')
          passwordExpires
Int Y if 1 the password is eligible for expiration, if 0 the password never expires
          source
Int Y must be 0
          quota
Long Y maximum allowed user's quota expressed in bytes, -1 for no limits
          quotaCount
Long Y actual quota used by the user
          lastModified
String

Method #6: deleteUser

deletes an existing user

Request

Name Type Required Multiple Description
     sid
String Y
     userId
Long Y

Method #7: getUser

gets an existing user

Request

Name Type Required Multiple Description
     sid
String Y
     userId
Long Y

Response

Name Type Required Multiple Description
     user
WSUser Y
          id
Long Y unique identifier
          username
String Y
          password
String Y
          passwordmd4
String Y
          name
String
          firstName
String
          street
String
          postalcode
String
          city
String
          country
String
          state
String
          language
String Y default language; See specification
          email
String Y address used for notifications, must be a valid e-mail
          emailSignature
String a simple text to be used as a signature in the footer of the outgoing emails
          email2
String secondary email address, must be a valid e-mail
          emailSignature2
String a simple text to be used as a signature in the footer of the outgoing emails
          telephone
String
          telephone2
String
          type
Int Y must be 0
          groupIds
Long Y Y ids of the groups this user belongs to
          enabled
Int Y if 1 the user is enabled, if 0 the user is disabled
          passwordChanged
String last time the password was changed (format must be 'yyyy-MM-dd HH:mm:ss' or 'yyyy-MM-dd')
          passwordExpires
Int Y if 1 the password is eligible for expiration, if 0 the password never expires
          source
Int Y must be 0
          quota
Long Y maximum allowed user's quota expressed in bytes, -1 for no limits
          quotaCount
Long Y actual quota used by the user
          lastModified
String

Method #8: getGroup

gets an existing group

Request

Name Type Required Multiple Description
     sid
String Y
     groupId
Long Y

Response

Name Type Required Multiple Description
     group
WSGroup Y
          id
Long Y unique identifier
          name
String Y must be unique
          description
String Y
          type
Int Y set it to 0
          inheritGroupId
Long inherit security policies from this referenced group at creation time
          userIds
Long Y Y set of users in this group
          lastModified
String the last modified date (format must be 'yyyy-MM-dd HH:mm:ss' or 'yyyy-MM-dd')

Method #9: deleteGroup

deletes an existing group

Request

Name Type Required Multiple Description
     sid
String Y
     groupId
Long Y

Method #10: changePassword

changes the password of a user.<br/><b>0</b> if all is ok, <b>1</b> if the password is incorrect, <b>2</b> if the new password cannot be notified, otherwise a positive number grater than <b>2</b>

Request

Name Type Required Multiple Description
     sid
String Y
     userId
Long Y
     oldPassword
String Y
     newPassword
String Y

Response

Name Type Required Multiple Description
     changeResult
Int Y