完整的 API 参考,用于管理 Blue 项目和公司的用户、邀请、角色和权限


概述

用户管理 API 提供了全面的工具,用于管理团队成员、控制访问权限以及在 Blue 项目和公司中组织您的劳动力。无论您是在添加新团队成员、管理现有用户,还是定义自定义权限结构,这些 API 都能处理用户生命周期管理的各个方面。

在 Blue 中的用户管理分为两个层级:

  • 项目级:在特定项目中管理用户,并具有项目特定的权限
  • 公司级:在整个组织中管理用户,并具有公司范围的访问权限

可用操作

核心用户管理

操作 描述 链接
Invite User 向具有特定访问级别的新用户发送邀请 View Details →
List Users 查询和过滤项目或公司的用户 View Details →
Remove User 从项目或公司中移除用户 View Details →

角色和权限管理

操作 描述 链接
Custom Roles 创建和管理具有细粒度权限的自定义角色 View Details →

访问级别

Blue 提供了一个分层权限系统,具有预定义的访问级别:

标准访问级别

级别 描述 能力
OWNER 对项目/公司的完全控制 All permissions, can transfer ownership
ADMIN 管理员访问 User management, settings, billing
MEMBER 标准团队成员 Full project functionality, limited admin access
CLIENT 外部客户访问 Limited project visibility, focused on deliverables
COMMENT_ONLY 仅评论访问 可以查看和评论,不能编辑
VIEW_ONLY 只读访问 Can view content only

权限层级

用户只能邀请或管理其级别或以下的用户:

  • 所有者可以管理所有访问级别
  • 管理员可以管理管理员、成员、客户、仅评论、仅查看
  • 成员可以管理成员、客户、仅评论、仅查看
  • 客户只能管理其他客户

关键概念

用户邀请

  • 基于电子邮件:通过电子邮件地址邀请用户
  • 角色分配:在邀请时设置访问级别和可选的自定义角色
  • 多项目:单个邀请可以授予对多个项目的访问
  • 过期:邀请在 7 天后过期
  • 自动通知:Blue 自动发送电子邮件邀请

项目与公司访问

  • 项目邀请:仅授予对特定项目的访问
  • 公司邀请:授予公司级别的访问,选项包括特定项目
  • 公司所有者:自动获得对所有公司项目的管理员访问权限
  • 范围限制:不能将项目和公司邀请参数结合使用

自定义角色

  • 细粒度权限:定义超出标准访问级别的特定能力
  • 项目特定:自定义角色仅限于单个项目
  • 字段级控制:控制对特定自定义字段的访问
  • 操作限制:限制特定操作(创建、编辑、删除等)

常见模式

邀请新团队成员

mutation InviteTeamMember {
  inviteUser(input: {
    email: "john.doe@company.com"
    projectId: "web-redesign"
    accessLevel: MEMBER
  })
}

创建公司范围的邀请

mutation InviteToCompany {
  inviteUser(input: {
    email: "manager@company.com"
    companyId: "company_123"
    projectIds: ["project_1", "project_2", "project_3"]
    accessLevel: ADMIN
  })
}

列出项目用户

query ProjectUsers {
  projectUsers(projectId: "web-redesign") {
    id
    user {
      name
      email
      avatar
    }
    accessLevel
    role {
      name
      permissions
    }
    invitedAt
    joinedAt
  }
}

移除用户

mutation RemoveProjectUser {
  removeUser(input: {
    userId: "user_456"
    projectId: "web-redesign"
  })
}

创建自定义角色

mutation CreateCustomRole {
  createProjectUserRole(input: {
    projectId: "web-redesign"
    name: "Content Reviewer"
    permissions: {
      canCreateRecords: false
      canEditOwnRecords: true
      canEditAllRecords: false
      canDeleteRecords: false
      canManageUsers: false
      canViewReports: true
    }
  }) {
    id
    name
    permissions
  }
}

权限管理

标准权限矩阵

操作 所有者 管理员 成员 客户 仅评论 仅查看
Invite Users ✅ 所有级别 ✅ 管理员及以下 ✅ 成员及以下 ✅ 仅客户 ❌ 不可 ❌ 不可
Remove Users ✅ 所有用户 ✅ 管理员及以下 ✅ 成员及以下 ✅ 仅客户 ❌ 不可 ❌ 不可
Modify Project Settings ✅ 是 ✅ 是 ❌ 不可 ❌ 不可 ❌ 不可 ❌ 不可
Create Records ✅ 是 ✅ 是 ✅ 是 ✅ 有限 ❌ 不可 ❌ 不可
Edit All Records ✅ 是 ✅ 是 ✅ 是 ❌ 不可 ❌ 不可 ❌ 不可
Delete Records ✅ 是 ✅ 是 ✅ 是 ❌ 不可 ❌ 不可 ❌ 不可
View Reports ✅ 是 ✅ 是 ✅ 是 ✅ 有限 ❌ 不可 ❌ 不可

自定义角色能力

  • 字段级权限:控制对特定自定义字段的访问
  • 操作特定规则:允许/拒绝特定操作(创建、编辑、删除)
  • 查看限制:限制用户可以看到的记录
  • 功能切换:为每个角色启用/禁用特定功能

最佳实践

用户入职

  1. 从标准角色开始 - 对大多数用户使用预定义的访问级别
  2. 逐步权限 - 从有限的访问开始,按需扩展
  3. 清晰沟通 - 在发送邀请时包含上下文
  4. 定期审查 - 定期审核用户访问权限

安全考虑

  1. 最小权限原则 - 授予最低必要权限
  2. 定期访问审核 - 每季度审核用户权限
  3. 离职流程 - 用户离开时立即撤销访问权限
  4. 自定义角色文档 - 记录自定义角色的目的和限制

团队组织

  1. 一致的命名 - 使用清晰、描述性的角色名称
  2. 角色整合 - 避免创建过多相似的自定义角色
  3. 公司结构 - 将权限与组织层级对齐
  4. 项目继承 - 考虑公司角色如何影响项目访问

错误处理

管理用户时常见的错误:

错误代码 描述 解决方案
USER_ALREADY_IN_THE_PROJECT 用户已经拥有项目访问权限 Check current user list before inviting
UNAUTHORIZED 执行操作的权限不足 Verify your access level and permissions
PROJECT_NOT_FOUND 项目不存在或没有访问权限 Confirm project ID and access rights
INVITATION_LIMIT 达到计费层级的邀请限制 Upgrade plan or remove inactive users
ADD_SELF 不能邀请自己 使用不同的电子邮件或让其他管理员邀请您
COMPANY_BANNED 公司账户已被暂停 Contact support to resolve account status

速率限制

用户管理操作具有以下速率限制:

  • 邀请:每小时每公司 100 个
  • 用户查询:每小时每用户 1000 个
  • 角色修改:每小时每项目 50 个

相关资源

AI助手

响应是通过人工智能生成的,可能包含错误。

我能帮您什么?

随时问我关于 Blue 或本文档的任何问题。

输入发送 • Shift+Enter 换行 • ⌘I 打开