グループ

グループとは、単一の事業単位を担当する、または単一の業務がアサインされているユーザーの集合です。

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:ユーザーにグループ内の他のユーザーのアクティビティを表示する権限があるかどうかを示す Boolean
  • member:単純にマネージャまたは他の補助要員としてグループに関連付けられているのではなく、ユーザーがグループの(作業のアサインのための)作業メンバーであるかどうかを示す Boolean
  • loadFactor:ユーザーにアサイン可能な作業の割合

グループ/ユーザー情報のクエリ

グループのユーザーアサインに関する情報を取得するには、次のエンドポイントを使用します。

  • 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:true
  • manager:false
  • loadFactor: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>