memberships
API Support | Available since | Last updated | Output |
---|---|---|---|
4.9100 | 5.9500 | xml, json |
Description
Create a member and add the member to a group.
Creates a new member in PageSeeder and invites the member to a group.
This service can also be used to register the new Member to a Group.
Member details
Both the firstname and surname are limited to 50 characters. If the first name is not specified, it defaults to Member
.
The member-username must be less than 100 characters, unique and cannot contain a ‘@’. The username is required unless an email address is specified.
The email must be less than 100 characters, unique and be a valid Email address. The email address is required unless a username is specified.
Password details
The member-password must be less than 100 characters. When the Password is not specified, the member’s email is used if no confirmation is needed, otherwise, a new password is generated.
Passwords must satisfy a given strength check to be accepted:
- Regular members must have at least a MEDIUM strength
- Administrators must use a STRONG password
Other member options
It is possible to create a personal group using the personal-group boolean parameter.
To send a welcome email to the new member, use the welcome-email boolean parameter.
The account can be automatically activated by using the auto-activate boolean parameter. If the member-password is not set, then the member’s status is set-password
(not activated
) even if auto-activate is true
.
Group membership parameters
If a group is specified on the request, the new member is also added to the group. All group membership parameters are optional and default to the group’s default values.
The notification parameter must be one of immediate
, essential
, daily
, weekly
or none
. Users are able to subsequently change this setting through the user interface in their group registration options.
The role parameter must be one of guest
, reviewer
, contributor
, manager
, approver
, moderator-and-approver
, moderator
.
The listed boolean parameter can be used to override the group’s default setting. It affects whether other group members are able to see the member’s user details. Users are able to subsequently change this setting through the user interface in their group registration options.
The invitation parameter can be used to force the group invitation email to be sent to the new member or to prevent that email to be sent. The default behavior follows the value of the project property acceptInvitationRequired
.
Additional information specific to the group can also be attached to the user using the details fields field1 to field15.
The assignment of the group specific fields might change in future releases.
Parameters
Name | Description | Required | Type | Default |
---|---|---|---|---|
The new member’s email address (required if no member-username) | yes | No Email (if username specified) | ||
member-username | The new member’s username, defaults to the member's email address (required if no email) | yes | string | member’s email |
auto-activate | Whether to activate the new member automatically (member-password should also be set) | no | boolean | false |
field1 | Custom field #1 | no | string | |
field10 | Custom field #10 | no | string | |
field11 | Custom field #11 | no | string | |
field12 | Custom field #12 | no | string | |
field13 | Custom field #13 | no | string | |
field14 | Custom field #14 | no | string | |
field15 | Custom field #15 | no | string | |
field2 | Custom field #2 | no | string | |
field3 | Custom field #3 | no | string | |
field4 | Custom field #4 | no | string | |
field5 | Custom field #5 | no | string | |
field6 | Custom field #6 | no | string | |
field7 | Custom field #7 | no | string | |
field8 | Custom field #8 | no | string | |
field9 | Custom field #9 | no | string | |
firstname | The new member’s given/other name | no | string | Member |
invitation | Whether to create an invitation, otherwise force membership | no | boolean | depends on project property |
listed | Whether the member’s email address is listed in the group | no | boolean | false |
member-password | The new member’s password, is generated if unspecified | no | string | (generated) |
notification | The member’s notification option in the group | no | enum | depends on group flags |
personal-group | Whether to create the personal group | no | boolean | false |
role | The member’s role in the group | no | enum | depends on group flags |
surname | The new members family name | no | string | 4 random digits |
welcome-email | Whether to send a welcome email to the new member | no | boolean | true |
notify-async | Whether to send emails asynchronously (for slow email servers) | no | boolean | false |
Permission
This service requires administrator.
Response
If successful, this service returns the membership that was created as a <membership> element wrapped in <membership-creation>
element.
The @welcome-email-failed
attribute is only included if PageSeeder was unable to send the welcome email.
<membership-creation [welcome-email-failed="true"]> <membership id="[membershipid]" email-listed="[true|false]" notification="[none|essential|immediate|daily|weekly]" flags="[flags]" status="[invited|normal]" role="[role]"> <member id="[member id]" firstname="[first name]" surname="[surname]" username="[username]" email="[email]" status="[activated|unactivated|set-password]"> <fullname>[full name]</fullname> </member> <group id="[group id]" name="[name]" flags="[flags]" visibility="[visibility]" template="[template]"> <description>[description]</description> </group> </membership> </membership-creation>
Error Handling
Code | Cause / Description |
---|---|
0x100A | The email is too long |
0x100D | Specified role is not valid |
0x1001 | If the username contains the character ‘@’ |
0x1002 | If the email address is invalid |
0x1003 | If the specified group is a personal group |
0x1004 | If the username or email are already in use |
0x1005 | If the maximum number of members on the server has been reached |
0x1007 | The firstname or surname is too long |
0x1008 | The email or member-username must be specified |
0x1009 | The member-username is too long |
0x1015 | Password is not strong enough |
0x1016 | Password is equal to username |
0x0202 | Group was not found |