Пригласите пользователей в проекты или компании с определенными уровнями доступа и пользовательскими ролями.


Приглашение пользователя

Мутация inviteUser позволяет вам приглашать пользователей в ваши проекты или компании Blue. Пользователям могут быть назначены предопределенные уровни доступа или пользовательские роли с определенными разрешениями.

Простой пример

Пригласите пользователя со стандартным уровнем доступа:

mutation InviteUserToProject {
  inviteUser(
    input: {
      email: "newuser@example.com"
      projectId: "web-redesign"
      accessLevel: MEMBER
    }
  )
}

Расширенный пример

Пригласите пользователя с пользовательской ролью в несколько проектов:

mutation InviteUserWithCustomRole {
  inviteUser(
    input: {
      email: "contractor@example.com"
      projectIds: ["web-redesign", "mobile-app", "api-v2"]
      accessLevel: MEMBER
      roleId: "role_contractor_123"
    }
  )
}

Входные параметры

InviteUserInput

Параметр Тип Обязательный Описание
email String! ✅ Да Адрес электронной почты пользователя для приглашения
accessLevel UserAccessLevel! ✅ Да Уровень доступа для предоставления (см. таблицу ниже)
projectId String Нет ID одного проекта (взаимно исключает с companyId)
projectIds [String!] Нет Несколько ID проектов при использовании companyId
companyId String Нет ID компании для приглашения на уровне компании (взаимно исключает с projectId)
roleId String Нет ID пользовательской роли (требует accessLevel: MEMBER)

Значения UserAccessLevel

Значение Описание
OWNER Полный контроль над проектом/компанией
ADMIN Административный доступ, может управлять пользователями и настройками
MEMBER Стандартный доступ для участников с полной функциональностью
CLIENT Ограниченный доступ для внешних клиентов
COMMENT_ONLY Может только просматривать и комментировать записи
VIEW_ONLY Доступ только для чтения к проекту

Поля ответа

Поле Тип Описание
success Boolean! Успешно ли было отправлено приглашение

Обязательные разрешения

Пользователи должны иметь достаточные разрешения для приглашения других. Иерархия разрешений применяется:

Ваша роль Может приглашать
OWNER ✅ Все уровни доступа
ADMIN ✅ ADMIN, MEMBER, CLIENT, COMMENT_ONLY, VIEW_ONLY (не может приглашать OWNER)
MEMBER ✅ MEMBER, CLIENT, COMMENT_ONLY, VIEW_ONLY (не может приглашать OWNER или ADMIN)
CLIENT ✅ Только CLIENT
COMMENT_ONLY ❌ Не может приглашать
VIEW_ONLY ❌ Не может приглашать

Примечание: Для приглашений на уровне компании (используя companyId) только ВЛАДЕЛЬЦЫ компании могут приглашать пользователей.

Типы приглашений

Приглашение в проект

Пригласите пользователя в один проект:

  • Используйте параметр projectId
  • Нельзя одновременно использовать companyId
  • Приглашающий должен иметь доступ к проекту
  • Применяются ограничения уровня доступа

Приглашение в компанию

Пригласите пользователя в компанию (и, при желании, в конкретные проекты):

  • Используйте параметр companyId
  • Нельзя одновременно использовать projectId
  • Только ВЛАДЕЛЬЦЫ компании могут использовать этот метод
  • Используйте массив projectIds, чтобы указать, какие проекты включить
  • Если projectIds опущен, пользователь получает доступ только к компании

Пользовательские роли

При использовании пользовательских ролей:

  1. Установите accessLevel на MEMBER
  2. Укажите roleId вашей пользовательской роли
  3. Пользователь унаследует все разрешения, определенные в пользовательской роли
  4. Пользовательские роли специфичны для проекта

Чтобы получить доступные пользовательские роли, используйте projectUserRoles запрос.

Ошибки ответов

Пользователь уже в проекте

{
  "errors": [{
    "message": "User is already in the project.",
    "extensions": {
      "code": "USER_ALREADY_IN_THE_PROJECT"
    }
  }]
}

Недостаточно разрешений

{
  "errors": [{
    "message": "You don't have permission to invite users with this access level",
    "extensions": {
      "code": "UNAUTHORIZED"
    }
  }]
}

Неверный проект

{
  "errors": [{
    "message": "Project not found",
    "extensions": {
      "code": "PROJECT_NOT_FOUND"
    }
  }]
}

Превышен лимит приглашений

{
  "errors": [{
    "message": "Unable to invite more people.",
    "extensions": {
      "code": "INVITATION_LIMIT"
    }
  }]
}

Нельзя пригласить себя

{
  "errors": [{
    "message": "You are not allowed to add yourself.",
    "extensions": {
      "code": "ADD_SELF"
    }
  }]
}

Неверная пользовательская роль

{
  "errors": [{
    "message": "Project user role was not found.",
    "extensions": {
      "code": "PROJECT_USER_ROLE_NOT_FOUND"
    }
  }]
}

Компания заблокирована

{
  "errors": [{
    "message": "Company is banned",
    "extensions": {
      "code": "COMPANY_BANNED"
    }
  }]
}

Важные примечания

  • Проверка электронной почты: Адреса электронной почты нормализуются и проверяются перед отправкой приглашений
  • Срок действия приглашения: Приглашения истекают через 7 дней и должны быть повторно отправлены, если не приняты
  • Автоматические уведомления: Blue автоматически отправляет электронные письма с приглашениями новым пользователям
  • Владельцы компаний: Владельцы компаний автоматически получают доступ ADMIN ко всем проектам
  • Влияние на выставление счетов: Добавление пользователей может повлиять на вашу подписку, если у вас есть тариф по количеству пользователей
  • Журналирование активности: Все приглашения пользователей регистрируются для аудита
  • Эксклюзивность параметров: Вы должны предоставить либо projectId ИЛИ companyId, не оба
  • Ограничения компании: Только владельцы компании могут использовать параметр companyId
  • Самоприглашение: Пользователи не могут приглашать себя (будет выброшена ошибка ADD_SELF)

Связанные операции

AI Ассистент

Ответы генерируются с использованием ИИ и могут содержать ошибки.

Как я могу вам помочь?

Спросите меня о чем угодно, связанном с Blue или этой документацией.

Введите для отправки • Shift+Enter для новой строки • ⌘I для открытия