Groups
Overview
A Group is a logical collection of the resources. In this version, Avaya Experience Platform™ allows grouping of users. Future versions will support grouping of other resources. Group of Users is used in Avaya Experience Platform™ to establish the mapping between Agents and Supervisors.
- A privileged User creates the groups with resources (agents/users) via Group Administration APIs. For example:
Credit Card Agents
- A supervisor is identified as the one who has a Supervisor role. A supervisor is made the owner of Credit Card Agents group through the field
ownedGroups
in User definition. - There can be multiple supervisors for the same Credit Card Agents group.
- A supervisor can have multiple agent groups, i.e. made the owner of multiple groups.
Before you begin
Refer to How to Authenticate with Avaya Experience Platform™ APIs required to invoke Group APIs.
Group APIs require the Account Administrator role for access.
Resource/Member Of
These are the entities which are member of particular group. Whoever has access to the group they will be able to access the resource ID's present in that group. e.g. User Id which are present in particular group.
Assigned User/Own Group
These are the users which have access to the particular group. Groups can have multiple types and resources as per the type. Below are the steps for Group creation and resource assignment.
- Account Administrator invokes REST API or create a group with few resources (agents/users). For example:
Credit card Agents
- The group gets created as a resource with the A&A interface.
- During group creation, account admin can add resources into it. After group creation is successful, the group
Credit card Agents
can be assigned to that supervisor through User APIs. - During group creation, account admin can add resources into it. After group creation is successful, the group
Credit card Agents
can be assigned to that supervisor through User APIs. - Any supervisor who has been assigned that group will have access to all the agents in that group. This information will be extracted using access token. There can be multiple supervisors who can be assigned one group.
Creating a Group
To create a new Group you should invoke Create Group. You should provide basic details such as a name
, accountId
and description
. It is recommended to have descriptive and meaningful names that convey the Group's purpose. For example, User-Resource-Group
, Agent-Group
, etc.
- When creating a Group for the User resource, add the resources by specifying the type as
users
and actual resources underresources
field to specify a group the of the users. - Use the
organizationNodeId
field to create the group under Account's hierarchy.
POST /groups
/v1/accounts/ABCDEF/groups
Request Body:
{
"name": "AgentGroup",
"description": "Group user",
"resources": [
{
"type": "User",
"resourceIds": [
"673dab47-5a08-4593-be5a-cdc4d23df814"
]
}
],
"organizationNodeId": "QTRWAD"
}
After the Group has been created you will receive a groupId
in the response that you should use in all subsequent requests related to that Group.
HTTP 201 Created
{
"name": "AgentGroup",
"groupId": "cd79f1f0-9e35-470c-bf70-542a39882b2d",
"description": "Group user",
"resources": [
{
"type": "User",
"resourceIds": [
"673dab47-5a08-4593-be5a-cdc4d23df814"
]
}
],
"organizationNodeId": "QTRWAD"
}
Updating a Group
To update a Group you should invoke Update Group. You should include all the details of the Group. Fields that are omitted from the update that were previously present will be removed.
The same basic principle applies to any updates made to the Group. It is treated as a complete replacement.
PUT /groups/{groupId}
/v1/accounts/ABCDEF/group/c8c2909d-75e9-484a-94c0-b7e8d29771fe
Request Body:
{
"name": "AgentGroup",
"description": "Group user",
"resources": [
{
"type": "User",
"resourceIds": [
"673dab47-5a08-4593-be5a-cdc4d23df814"
]
}
],
"organizationNodeId": "QTRWAD"
}
HTTP 200 OK
{
"name": "AgentGroup",
"groupId": "cd79f1f0-9e35-470c-bf70-542a39882b2d",
"description": "Group user",
"resources": [
{
"type": "User",
"resourceIds": [
"673dab47-5a08-4593-be5a-cdc4d23df814"
]
}
],
"organizationNodeId": "QTRWAD"
}
Deleting a Group
To delete a Group you should invoke Delete Group. No response body is returned from this request.
DELETE /groups/{groupId}
/v1/accounts/ABCDEF/groups/c8c2909d-75e9-484a-94c0-b7e8d29771fe
HTTP 204 No Content
After a Group has been deleted Get Group will return HTTP 404 Not Found
.
Updated 3 months ago