グループ
グループとは、単一の事業単位を担当する、または単一の業務がアサインされているユーザーの集合です。
Cloud API を使用してグループを作成することはできません。ただし、グループに関する情報の取得、グループへのユーザーのアサイン、およびグループからのユーザーのアサイン解除は可能です。
グループのクエリ
グループに関する情報を取得するには、次のエンドポイントを使用します。
- GET
/admin/v1/groups - GET
/admin/v1/groups/{groupId}
例えば、以下はグループ demo_sample:31 の情報を取得したときの応答ペイロードのスニペットです。
GET /admin/v1/users/demo_sample:31
{
"data": {
"attributes": {
"displayName": "Alexandria Branch",
"groupType": {
"code": "branch",
"name": "Branch office"
},
"id": "demo_sample:31",
"name": "Alexandria Branch",
"parent": {
"displayName": "Eastern Region",
"id": "demo_sample:29",
"type": "Group",
"uri": "/admin/v1/groups/demo_sample:29"
},
"securityZone": {
"displayName": "Auto and Property",
"id": "default_data:1"
},
"supervisor": {
"displayName": "Sue Smith",
"id": "demo_sample:2",
"type": "User",
"uri": "/admin/v1/users/demo_sample:2"
}
},
...
}
}
グループへのユーザーのアサイン
GroupUser エンティティ
ClaimCenter では、ユーザーとグループは独立した User エンティティと Group エンティティとして追跡されます。第 3 のエンティティとして GroupUser があります。このエンティティの目的は、グループへのユーザーの 1 つのアサインに関する情報を追跡することです。例えば、GenericCenter のインスタンスに 2 つのグループと 3 人のユーザーが存在し、すべてのユーザーがすべてのグループに属している場合、以下のインスタンスが存在することになります。
Groupの 2 つのインスタンスUserの 3 つのインスタンスGroupUserの 6 つのインスタンス(グループ A に属するユーザー 1、グループ B に属するユーザー 1、グループ A に属するユーザー 2 など)
グループへの単一のユーザーアサインの追跡に加え、GroupUser エンティティはグループ内でのユーザーの能力に関する情報も追跡します。これには以下のフィールドが含まれます。
manager:ユーザーにグループ内の他のユーザーのアクティビティを表示する権限があるかどうかを示す Booleanmember:単純にマネージャまたは他の補助要員としてグループに関連付けられているのではなく、ユーザーがグループの(作業のアサインのための)作業メンバーであるかどうかを示す BooleanloadFactor:ユーザーにアサイン可能な作業の割合
グループ/ユーザー情報のクエリ
グループのユーザーアサインに関する情報を取得するには、次のエンドポイントを使用します。
- GET
/admin/v1/groups/{groupId}/users- グループのユーザーアサインのコレクションを返します
- GET
/admin/v1/groups/{groupId}/users/{groupUserId}- グループへの特定のユーザーアサインに関する情報を返します
例えば、以下はグループ demo_sample:31 での GroupUser アサインに関する情報を取得したときの応答ペイロードのスニペットです。カウントは 12 です。つまり、グループには 12 人のユーザーがいます。その後に、誰がユーザーか、ユーザーがメンバーかマネージャかなど、各 GroupUser アサインに関する情報が示されます。
GET /admin/v1/users/demo_sample:31/users
{
"count": 12,
"data": [
{
"attributes": {
"id": "cc:SfZwdri9ldAAUgR46xZT7",
"manager": false,
"member": true,
"user": {
"displayName": "Andy Applegate",
"id": "demo_sample:1",
"type": "User",
"uri": "/admin/v1/users/demo_sample:1"
}
},
...
},
{
"attributes": {
"id": "cc:SZPhG_CUIA3E1sO2AiZ_s",
"manager": false,
"member": true,
"user": {
"displayName": "Betty Baker",
"id": "demo_sample:8",
"type": "User",
"uri": "/admin/v1/users/demo_sample:8"
}
},
...
},
...
グループへのユーザーの追加
グループにユーザーを追加するには、次のエンドポイントを使用します。
- POST
/admin/v1/groups/{groupId}/users
要求では、グループに追加するユーザーを指定する必要があります。必要に応じて、その他の属性を指定することもできます。指定しない場合、以下のデフォルト値が使用されます。
member:truemanager:falseloadFactor:null
例えば、以下の要求はユーザー demo_sample:18 をグループ demo_sample:31 に追加します。
POST /admin/v1/groups/demo_sample:31/users
{
"data": {
"attributes": {
"user": {
"id": "demo_sample:18"
}
}
}
}
この結果、ユーザー demo_sample:18 はグループ demo_sample:31 にメンバーとしてアサインされます。このユーザーはグループのマネージャではなく、負荷係数は 0 です(フィールドの値が Null の場合、そのフィールドは Cloud API 応答に含まれません)。
ユーザーの GroupUser アサインに関する情報の変更
ユーザーの GroupUser アサイン情報を変更するには、次のエンドポイントを使用します。
- PATCH
/admin/v1/groups/{groupId}/users/{groupID}
例えば、id が xc:55 である GroupUser オブジェクトを介して、ユーザー demo_sample:18 がグループ demo_sample:31 に追加されているとします。このユーザーはグループの member であり、グループの manager ではありません。以下は、このユーザーがグループの member ではなく manager となるように、GroupUser アサインに PATCH を適用します(このユーザーは、グループ内の他のユーザーにアサインされている作業を表示できるようになるとともに、作業がアサインされなくなります)。
PATCH /admin/v1/groups/demo_sample:31/users/xc:55
{
"data": {
"attributes": {
"manager": true,
"member": false
}
}
}
グループからのユーザーの削除
グループからユーザーを削除するには、対応する GroupUser アサインを削除する必要があります。それには、次のエンドポイントを使用します。
- DELETE
/admin/v1/groups/{groupId}/users/{groupUserId}
例えば、id が xc:55 である GroupUser オブジェクトを介して、ユーザー demo_sample:18 がグループ demo_sample:31 に追加されているとします。以下の要求は、ユーザー demo_sample:18 をグループ demo_sample:31 から削除します。
DELETE /admin/v1/groups/demo_sample:31/users/xc:55
<no request body>