ワークスペースコラボレーター

このページは機械翻訳により提供されています。翻訳内容と英語版に相違がある場合は、英語版が優先されます。

次のエンドポイントを使用して、ワークスペース内のコラボレーターを管理します。

APIクライアントアクセス

APIクライアントがコラボレーターを管理するには、DEVEnvironmentへのアクセスが必要です。 APIクライアントのアクセスを構成するには、クライアントロールを作成するを参照してください。

レート制限

ワークスペースコラボレーターリソースには、次のレート制限があります:

タイプリソース制限
POSTコラボレーターを招待:
/api/member_invitations
1分あたり60リクエスト
さらに、このエンドポイントに、ユーザーおよびワークスペースIDごとに20分に1回リクエストを送信できます。
すべてその他すべてのワークスペースコラボレーターエンドポイント1分あたり60リクエスト

クイックリファレンス

タイプリソース説明
POST/api/member_invitationsコラボレーターをワークスペースに招待します。
GET/api/membersコラボレーターのリストを取得します。
GET/api/members/:idコラボレーターの詳細を取得します。
PUT/api/members/:idコラボレーターロールを更新します。
DELETE/api/members/:idコラボレーターを削除します。
GET/api/members/:id/project_grantsコラボレーターのプロジェクト付与を一覧表示します。
GET/api/members/:id/privilegesコラボレーターの権限を取得します。
GET/api/members/:id/projects_privilegesコラボレーターのプロジェクト権限を取得します。

コラボレーターを招待する

コラボレーターをワークスペースに招待します。 指定したメールアドレスが既存のユーザーに属していない場合、APIはメール招待を送信します。 コラボレーターは、Workatoアカウントを作成した後でワークスペースに参加できます。 特定のメールアドレスとワークスペースの組み合わせは、20分に1回招待できます。

shell
POST /api/member_invitations

リクエスト本文

名前タイプ説明
namestring
必須
コラボレーターの名前。
emailstring
必須
コラボレーターのメールアドレス。
env_rolesobject
required
コラボレーターのEnvironmentロールを定義します。
env_roles[environment_type]string
必須
コラボレーターを招待する予定のワークスペース内のEnvironmentのタイプ。 単一Environmentのワークスペースにはdevを使用します。
env_roles[name]string
必須
特定のEnvironmentに対してコラボレーターに割り当てるロール。
env_roles[role_type]string
任意
コラボレーターに割り当てるロールのタイプ。 使用可能な値には、privilege_groupenvironmentがあります。 デフォルト値はprivilege_groupです。
role_namestring
deprecated
このフィールドは非推奨です。 単一Environmentのワークスペースの場合でも、代わりにenv_rolesを使用します。
user_group_idsarray of strings
optional
割り当てるコラボレーターグループのID。

サンプルリクエスト

リクエスト1: env_rolesを使用してコラボレーターを招待する

このリクエスト例では、devtestprodEnvironmentの招待を作成します。 コラボレーターに、devEnvironmentではAdminロール、testEnvironmentではAnalystロール、prodEnvironmentではOperatorロールを割り当てます。

shell
curl -X POST 'https://www.workato.com/api/member_invitations' \
  -H 'Authorization: Bearer <api_token>' \
  -H 'Content-Type: application/json' \
  -d '{
        "name": "Josh",
        "email": "[email protected]",
        "user_group_ids": [
          "am-WxEKCibh-dTXBtz",
          "am-APNHJbmM-hfhTD8"
        ],
        "env_roles": [
          {
            "environment_type": "dev",
            "name": "Admin",
            "role_type": "privilege_group"
          },
          {
            "environment_type": "test",
            "name": "Admin",
            "role_type": "privilege_group"
          },
          {
            "environment_type": "prod",
            "name": "Admin",
            "role_type": "privilege_group"
          }
        ]
      }'
レスポンス1: env_rolesを使用してコラボレーターを招待する
json
{
    "result": "ok"
}

リクエスト2: env_rolesを使用してコラボレーターを招待する - アクセスなし

この例では、prodEnvironment専用の招待を作成します。 追加のEnvironmentとロールをenv_rolesオブジェクトから省略すると、デフォルトの動作により、その他すべてのEnvironmentでコラボレーターにNo accessロールが割り当てられます。

shell
curl -X POST 'https://www.workato.com/api/member_invitations' \
  -H 'Authorization: Bearer <api_token>' \
  -H 'Content-Type: application/json' \
  -d '{
        "name": "Josh",
        "email": "[email protected]",
        "user_group_ids": [
          "am-WxEKCibh-dTXBtz",
          "am-APNHJbmM-hfhTD8"
        ],
        "env_roles": [
          {
            "environment_type": "prod",
            "name": "Operator",
            "role_type": "privilege_group"
          }
        ]
      }'
レスポンス2: env_rolesを使用してコラボレーターを招待する - アクセスなし
json
{
    "result": "ok"
}

リクエスト3: 存在しない、または利用できないロールでコラボレーターを招待する

存在しない、または利用できないロールを使用してコラボレーターを招待すると、このエンドポイントは400エラーを返します: Role Not existing role not found

shell
curl -X POST 'https://www.workato.com/api/member_invitations' \
  -H 'Authorization: Bearer <api_token>' \
  -H 'Content-Type: application/json' \
  -d '{
        "name": "Josh",
        "email": "[email protected]",
        "user_group_ids": [
          "am-WxEKCibh-dTXBtz",
          "am-APNHJbmM-hfhTD8"
        ],
        "env_roles": [
          {
            "environment_type": "prod",
            "name": "Not existing role",
            "role_type": "privilege_group"
          }
        ]
      }'
レスポンス3: 存在しない、または利用できないロールでコラボレーターを招待する
json
{
    "message": "Role Not existing role not found"
}

リクエスト4: 存在しないEnvironmentにコラボレーターを招待する

存在しないEnvironmentにコラボレーターを招待すると、このエンドポイントは400エラーを返します: Environment Not existing environment not found

shell
curl -X POST 'https://www.workato.com/api/member_invitations' \
  -H 'Authorization: Bearer <api_token>' \
  -H 'Content-Type: application/json' \
  -d '{
        "name": "Josh",
        "email": "[email protected]",
        "user_group_ids": [
          "am-WxEKCibh-dTXBtz",
          "am-APNHJbmM-hfhTD8"
        ],
        "env_roles": [
          {
            "environment_type": "Not existing environment",
            "name": "Operator",
            "role_type": "privilege_group"
          }
        ]
      }'
レスポンス4: 存在しないEnvironmentにコラボレーターを招待する
json
{
    "message": "Environment Not existing environment not found"
}

コラボレーターのリストを取得する

ワークスペース内のすべてのコラボレーターのリストを取得します。 レスポンスには、主に2つの要素が含まれます:

要素説明
dataそれぞれがコラボレーターを表すオブジェクトの配列。
total返されたコラボレーターの合計数。

data配列内の各コラボレーターオブジェクトには、次の情報が含まれます:

フィールド説明
idユーザーの一意の識別子。
grant_typeユーザーの付与タイプ。 ワークスペースコラボレーターの場合はteam、ワークスペースモデレーターの場合はfederation_managerです。
user_groupsユーザーに割り当てられたユーザーグループの配列。
roles異なるEnvironmentでユーザーに割り当てられたシステムロールまたはカスタムロールの配列。
last_activity_logワークスペースでのユーザーの最新アクティビティ。 AHQが有効なワークスペースでは、DEVEnvironmentでの最新のアクションのみが表示されます。 サインイン、トークン生成などのアクティビティが含まれます。 取得されるイベントの完全なリストについては、活動監査ログリファレンスを参照してください。
external_idユーザーの外部ID。
nameユーザーの名前。
emailWorkatoへのサインインに使用するユーザーのメールアドレス。
time_zoneユーザーのタイムゾーン。
created_atWorkatoでユーザーが作成された日時。

エンドポイントアクセス

このエンドポイントを使用するには、APIクライアントロールにGet collaborators GET /api/members権限が割り当てられている必要があります。

shell
GET /api/members

クエリパラメーター

名前タイプ説明
emailstring
任意
指定した値をメールアドレスに含むコラボレーターにリストをフィルタリングします。 特殊文字はURLエンコードする必要があります。

サンプルリクエスト

shell
curl  -X GET 'https://www.workato.com/api/members?email=example.com' \
      -H 'Authorization: Bearer <api_token>'

レスポンス

json
{
  "data": [
    {
      "id": 12345,
      "grant_type": "federation_manager",
      "user_groups": [
        {
          "id": "am-WxEKCibh-dTXBtz",
          "name": "All collaborators",
          "system": true
        },
        {
          "id": "am-WxEKCibh-dTXBtg",
          "name": "Developers",
          "system": false
        }
      ],
      "roles": [
        {
          "environment_type": "dev",
          "role_name": "Admin",
          "role_type": "privilege_group"
        },
        {
          "environment_type": "test",
          "role_name": "Admin",
          "role_type": "privilege_group"
        },
        {
          "environment_type": "prod",
          "role_name": "Admin",
          "role_type": "privilege_group"
        }
      ],
      "last_activity_log": {
        "id": 2807129,
        "event_type": "user_login",
        "created_at": "2024-03-07T16:38:18.414-08:00"
      },
      "external_id": null,
      "name": "Rosario",
      "email": "[email protected]",
      "time_zone": "Pacific Time (US & Canada)",
      "created_at": "2021-12-14T13:01:15.935-08:00"
    },
    {
      "id": 23456,
      "grant_type": "team",
      "user_groups": [
        {
          "id": "am-WxEKCibh-dTXBtz",
          "name": "All collaborators",
          "system": true
        },
        {
          "id": "am-WxEKCibh-dTXBtg",
          "name": "Developers",
          "system": false
        }
      ],
      "roles": [
        {
          "environment_type": "dev",
          "role_name": "IT_Developer",
          "role_type": "privilege_group"
        },
        {
          "environment_type": "test",
          "role_name": "No access",
          "role_type": "privilege_group"
        },
        {
          "environment_type": "prod",
          "role_name": "No access",
          "role_type": "privilege_group"
        }
      ],
      "last_activity_log": {
        "id": 2807129,
        "event_type": "user_login",
        "created_at": "2024-03-07T16:38:18.414-08:00"
      },
      "external_id": null,
      "name": "Noam",
      "email": "[email protected]",
      "time_zone": "Pacific Time (US & Canada)",
      "created_at": "2021-1-12T13:01:15.935-08:00"
    }
  ],
  "total": 2
}

コラボレーターの詳細を取得する

指定したコラボレーターの詳細を取得します。 このリソースは、レスポンスで次の情報を返します:

  • ユーザーID
  • 付与タイプ: teamはユーザーがワークスペースコラボレーターであることを示し、federation_managerはユーザーがワークスペースモデレーターであることを示します。
  • ユーザーグループ
  • ロール
  • 外部ID
  • 名前
  • メール
  • タイムゾーン
  • 最新アクティビティログ: ワークスペース内でのユーザーの最新アクションを表示し、活動監査ログと同じデータを取得します。 AHQを使用しているワークスペースでは、DEVEnvironment内の最新アクティビティのみが表示されます。 ログイン、ログアウト、ワークスペースへの参加、トークンの生成、コネクションの切断などのイベントが含まれる場合があります。 ログで取得され、このリクエストで返される可能性があるアクティビティの完全なリストについては、活動監査ログリファレンスドキュメントを参照してください。
  • 作成日時
shell
GET /api/members/:id

パスパラメーター

名前タイプ説明
idstring
必須
取得するコラボレーターのID。

サンプルリクエスト

shell
curl  -X GET 'https://www.workato.com/api/members/34567' \
      -H 'Authorization: Bearer <api_token>'

レスポンス

json
{
  "data": {
    "id": 34567,
    "grant_type": "team",
    "user_groups": [
      {
        "id": "am-WxEKCibh-dTXBtz",
        "name": "All collaborators",
        "system": true
      },
      {
        "id": "am-WxEKCibh-dTXBtg",
        "name": "Developers",
        "system": false
      }
    ],
    "roles": [
      {
        "environment_type": "dev",
        "role_name": "HR_Developer",
        "role_type": "privilege_group"
      },
      {
        "environment_type": "test",
        "role_name": "HR_Viewer",
        "role_type": "privilege_group"
      },
      {
        "environment_type": "prod",
        "role_name": "Operator",
        "role_type": "privilege_group"
      }
    ],
    "last_activity_log": {
      "id": 2807147,
      "event_type": "user_login",
      "created_at": "2024-03-07T16:44:39.318-08:00"
    },
    "external_id": null,
    "name": "Dana",
    "email": "[email protected]",
    "time_zone": "Pacific Time (US & Canada)",
    "created_at": "2019-09-09T00:45:17.019-07:00"
  }
}

コラボレーターロールを更新する

既存のコラボレーターのロールをIDで更新します。 コラボレーターのアクセスを削除するには、リクエスト本文にNoAccessを含めます。

shell
PUT /api/members/:id

パスパラメーター

名前タイプ説明
idstring
必須
ロールを更新する予定のコラボレーターのID。

リクエスト本文

名前タイプ説明
env_rolesobject
required
コラボレーターの更新後のEnvironmentロールを定義します。
env_roles[environment_type]string
必須
コラボレーターのロールを更新する予定のワークスペースEnvironmentのタイプ。 単一Environmentのワークスペースにはdevを使用します。
env_roles[name]string
必須
特定のEnvironmentに対してコラボレーターに割り当てるロール。
env_roles[role_type]string
任意
コラボレーターに割り当てるロールのタイプ。 使用可能な値には、privilege_groupenvironmentがあります。 デフォルト値はprivilege_groupです。

サンプルリクエスト

リクエスト1: 1つのEnvironmentでコラボレーターロールを更新する

このリクエスト例では、コラボレーターのロールをprodEnvironmentのOperatorに更新します。 他のEnvironmentのロールには影響しません。

shell
curl -X PUT 'https://www.workato.com/api/members/34567' \
  -H 'Authorization: Bearer <api_token>' \
  -H 'Content-Type: application/json' \
  -d '{
        "env_roles": [
          {
            "environment_type": "prod",
            "name": "Operator",
            "role_type": "privilege_group"
          }
        ]
      }'
レスポンス1: 1つのEnvironmentでコラボレーターロールを更新する
json
{
    "data": {
        "result": "ok"
    }
}

リクエスト2: すべてのEnvironmentでコラボレーターロールを更新する

このリクエスト例では、コラボレーターのロールをprodEnvironmentのOperatordevEnvironmentのAdminに更新し、コラボレーターのtestEnvironmentへのアクセスを削除します。

shell
curl -X PUT 'https://www.workato.com/api/members/34567' \
  -H 'Authorization: Bearer <api_token>' \
  -H 'Content-Type: application/json' \
  -d '{
        "env_roles": [
          {
            "environment_type": "prod",
            "name": "Operator",
            "role_type": "privilege_group"
          },
          {
            "environment_type": "dev",
            "name": "Admin",
            "role_type": "privilege_group"
          },
          {
            "environment_type": "test",
            "name": "NoAccess",
            "role_type": "privilege_group"
          }
        ]
      }'
レスポンス2: すべてのEnvironmentでコラボレーターロールを更新する
json
{
    "data": {
        "result": "ok"
    }
}

リクエスト3: 存在しない、または利用できないロールを使用してコラボレーターロールを更新する

コラボレーターのロールを存在しない、または利用できないロールに更新すると、このエンドポイントは400エラーを返します: Role Custom Role not found

shell
curl -X PUT 'https://www.workato.com/api/members/34567' \
  -H 'Authorization: Bearer <api_token>' \
  -H 'Content-Type: application/json' \
  -d '{
        "env_roles": [
          {
            "environment_type": "prod",
            "name": "Custom Role",
            "role_type": "privilege_group"
          }
        ]
      }'
レスポンス3: 存在しない、または利用できないロールを使用してコラボレーターロールを更新する
json
{
    "errors": [
        {
            "code": 400,
            "title": "Role Custom Role not found"
        }
    ]
}

リクエスト4: 存在しないEnvironmentでコラボレーターロールを更新する

存在しないEnvironmentでコラボレーターのロールを更新すると、このエンドポイントは400エラーを返します: Environment Custom Environment not found

shell
curl -X PUT 'https://www.workato.com/api/members/34567' \
  -H 'Authorization: Bearer <api_token>' \
  -H 'Content-Type: application/json' \
  -d '{
        "env_roles": [
          {
            "environment_type": "Custom Environment",
            "name": "Admin",
            "role_type": "privilege_group"
          }
        ]
      }'
レスポンス4: 存在しないEnvironmentでコラボレーターロールを更新する
json
{
    "errors": [
        {
            "code": 400,
            "title": "Environment Custom Environment not found"
        }
    ]
}

コラボレーターを削除する

コラボレーターをIDで削除します。

shell
DELETE /api/members/:id

パスパラメーター

名前タイプ説明
idstring
必須
削除するコラボレーターのID。

サンプルリクエスト

shell
curl -X DELETE 'https://www.workato.com/api/members/34567' \
  -H 'Authorization: Bearer <api_token>'

レスポンス

リクエストが成功すると、204 No Contentステータスコードが返されます。 コラボレーターは削除され、レスポンス本文は空です。

コラボレーターのプロジェクト付与を一覧表示する

ワークスペースのすべてのプロジェクト付与を取得します。 これには、コラボレーターグループを通じて付与されたプロジェクトアクセスは含まれません。

プロジェクト付与

プロジェクト付与は、コラボレーターまたはグループにプロジェクトロールを割り当てます。 Developer APIを使用してプロジェクト付与を管理するにはプロジェクト付与を、UIでプロジェクトロールを管理するにはプロジェクトアクセスとロールを管理するを参照してください。

shell
GET /api/members/:id/project_grants

パスパラメーター

名前タイプ説明
idstring
必須
プロジェクト付与を取得するコラボレーターのID。

クエリパラメーター

名前タイプ説明
page[number]integer
optional
取得するページ番号。 デフォルト値は1です。
page[size]integer
optional
取得するページあたりの項目数。 デフォルト値および最大値は100です。

サンプルリクエスト

shell
curl -X GET 'https://www.workato.com/api/members/34567/project_grants?page[number]=1&page[size]=100' \
  -H 'Authorization: Bearer <api_token>'

レスポンス

json
{
  "data": [
    {
      "id": "pg-AQAEnmMX-b4rPeT",
      "project": {
        "id": 178230,
        "name": "Development",
        "environment": {
          "id": 148425,
          "type": "dev"
        },
      },
      "project_role": {
        "id": "pr-AQAEnmK3-EQpeYM",
        "name": "Developers"
      }
    },
    {
      "id": "pg-AQAEnmKE-xpCFwT",
      "project": {
        "id": 178230,
        "name": "Sales",
        "environment": {
          "id": 148426,
          "type": "prod"
        },
      },
      "project_role": {
        "id": "pr-AQAEnmK3-EQpeYM",
        "name": "Developers"
      }
    }
  ],
  "total": 2,
  "page": {
    "number": 1,
    "size": 100
  }
}

コラボレーターの権限を取得する

コラボレーターの権限とロールをIDで取得します。 レスポンスは、各Environment(例: devtestprod)のロールの配列を次の情報とともに返します:

  • Environmentタイプ
  • ユーザーロール
  • ロールに割り当てられたすべての権限
  • ロールタイプ

レスポンスには、従来のモデル(role_type: privilege_group)と新しいモデル(role_type: environment)の両方のロールが含まれます。

shell
GET /api/members/:id/privileges

パスパラメーター

名前タイプ説明
idstring
必須
権限を取得する予定のコラボレーターのID。

サンプルリクエスト

shell
curl  -X GET 'https://www.workato.com/api/members/34567/privileges' \
      -H 'Authorization: Bearer <api_token>'

レスポンス

json
{
    "data": [
        {
            "environment_type": "dev",
            "name": "Operator",
            "role_type": "privilege_group",
            "privileges": {
                "Recipes": [
                    "read",
                    "run",
                    "read_run_history"
                ],
                "Folders": [
                    "read"
                ],
                "Projects": [
                    "read"
                ],
                "Use in recipes": [
                    "all"
                ],
                "Test automation": [
                    "read"
                ]
            }
        },
        {
            "environment_type": "test",
            "name": "Operator",
            "role_type": "privilege_group",
            "privileges": {
                "Recipes": [
                    "read",
                    "run",
                    "read_run_history"
                ],
                "Folders": [
                    "read"
                ],
                "Projects": [
                    "read"
                ],
                "Use in recipes": [
                    "all"
                ],
                "Test automation": [
                    "read"
                ]
            }
        },
        {
            "environment_type": "prod",
            "name": "Operator",
            "role_type": "privilege_group",
            "privileges": {
                "Recipes": [
                    "read",
                    "run",
                    "read_run_history"
                ],
                "Folders": [
                    "read"
                ],
                "Projects": [
                    "read"
                ],
                "Use in recipes": [
                    "all"
                ],
                "Test automation": [
                    "read"
                ]
            }
        }
    ]
}

コラボレーターのプロジェクト権限を取得する

コラボレーターのプロジェクトレベルのアクセスを取得します。 これには、直接割り当てられたアクセス、またはコラボレーターグループのメンバーシップを通じて割り当てられたアクセスが含まれます。 このエンドポイントを使用して、プロジェクト権限を監査できます。

shell
GET /api/members/:id/projects_privileges

パスパラメーター

名前タイプ説明
idstring
必須
プロジェクト権限を取得する予定のコラボレーターのID。

サンプルリクエスト

shell
curl  -X GET 'https://www.workato.com/api/members/34567/projects_privileges' \
      -H 'Authorization: Bearer <api_token>'

レスポンス

json
{
  "data": [
    {
      "environment": {
        "id": 123456,
        "type": "dev"
      },
      "projects": {
        "61722": {
          "Folders": ["create", "view"]
        }
      }
    },
    {
      "environment": {
        "id": 789123,
        "type": "prod"
      },
      "projects": {
        "74137": {
          "Folders": ["view"]
        }
      }
    }
  ]
}

Last updated: