Benutzer zu Projekten oder Unternehmen mit spezifischen Zugriffslevels und benutzerdefinierten Rollen einladen.


Benutzer einladen

Die inviteUser Mutation ermöglicht es Ihnen, Benutzer zu Ihren Blue-Projekten oder -Unternehmen einzuladen. Benutzer können vordefinierte Zugriffslevels oder benutzerdefinierte Rollen mit spezifischen Berechtigungen zugewiesen bekommen.

Einfaches Beispiel

Laden Sie einen Benutzer mit einem Standardzugriffslevel ein:

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

Fortgeschrittenes Beispiel

Laden Sie einen Benutzer mit einer benutzerdefinierten Rolle zu mehreren Projekten ein:

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

Eingabeparameter

InviteUserInput

Parameter Typ Erforderlich Beschreibung
email String! ✅ Ja E-Mail-Adresse des einzuladenden Benutzers
accessLevel UserAccessLevel! ✅ Ja Zugriffslevel, das gewährt werden soll (siehe Tabelle unten)
projectId String Nein Einzelne Projekt-ID (ausschließlich mit companyId)
projectIds [String!] Nein Mehrere Projekt-IDs bei Verwendung von companyId
companyId String Nein Unternehmens-ID für die Einladung auf Unternehmensebene (ausschließlich mit projectId)
roleId String Nein Benutzerdefinierte Rollen-ID (erfordert accessLevel: MEMBER)

Werte für UserAccessLevel

Wert Beschreibung
OWNER Vollständige Kontrolle über Projekt/Unternehmen
ADMIN Administrativer Zugriff, kann Benutzer und Einstellungen verwalten
MEMBER Standardmitgliedszugriff mit voller Funktionalität
CLIENT Eingeschränkter Zugriff für externe Kunden
COMMENT_ONLY Kann nur Datensätze anzeigen und kommentieren
VIEW_ONLY Nur-Lesezugriff auf das Projekt

Antwortfelder

Feld Typ Beschreibung
success Boolean! Ob die Einladung erfolgreich gesendet wurde

Erforderliche Berechtigungen

Benutzer müssen über ausreichende Berechtigungen verfügen, um andere einzuladen. Die Berechtigungshierarchie wird durchgesetzt:

Ihre Rolle Kann einladen
OWNER ✅ Alle Zugriffslevels
ADMIN ✅ ADMIN, MEMBER, CLIENT, COMMENT_ONLY, VIEW_ONLY (kann OWNER nicht einladen)
MEMBER ✅ MEMBER, CLIENT, COMMENT_ONLY, VIEW_ONLY (kann OWNER oder ADMIN nicht einladen)
CLIENT ✅ Nur CLIENT
COMMENT_ONLY ❌ Kann nicht einladen
VIEW_ONLY ❌ Kann nicht einladen

Hinweis: Für Unternehmens-Einladungen (unter Verwendung von companyId) können nur Unternehmens-EIGENTÜMER Benutzer einladen.

Einladungstypen

Projekteinladung

Laden Sie einen Benutzer zu einem einzelnen Projekt ein:

  • Verwenden Sie den projectId Parameter
  • Kann nicht gleichzeitig mit companyId verwendet werden
  • Der Einladende muss Zugriff auf das Projekt haben
  • Zugriffslevel-Beschränkungen gelten

Unternehmenseinladung

Laden Sie einen Benutzer zu einem Unternehmen (und optional zu spezifischen Projekten) ein:

  • Verwenden Sie den companyId Parameter
  • Kann nicht gleichzeitig mit projectId verwendet werden
  • Nur Unternehmens-EIGENTÜMER können diese Methode verwenden
  • Verwenden Sie das projectIds Array, um anzugeben, welche Projekte einbezogen werden sollen
  • Wenn projectIds weggelassen wird, erhält der Benutzer nur Unternehmenszugang

Benutzerdefinierte Rollen

Bei der Verwendung von benutzerdefinierten Rollen:

  1. Setzen Sie accessLevel auf MEMBER
  2. Geben Sie die roleId Ihrer benutzerdefinierten Rolle an
  3. Der Benutzer erbt alle Berechtigungen, die in der benutzerdefinierten Rolle definiert sind
  4. Benutzerdefinierte Rollen sind projektspezifisch

Um verfügbare benutzerdefinierte Rollen abzurufen, verwenden Sie die projectUserRoles Abfrage.

Fehlerantworten

Benutzer bereits im Projekt

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

Unzureichende Berechtigungen

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

Ungültiges Projekt

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

Einladungslimit überschritten

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

Sie können sich nicht selbst einladen

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

Ungültige benutzerdefinierte Rolle

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

Unternehmen gesperrt

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

Wichtige Hinweise

  • E-Mail-Validierung: E-Mail-Adressen werden normalisiert und validiert, bevor Einladungen gesendet werden
  • Einladung Ablauf: Einladungen verfallen nach 7 Tagen und müssen erneut gesendet werden, wenn sie nicht akzeptiert werden
  • Automatische Benachrichtigungen: Blue sendet automatisch Einladungsemails an neue Benutzer
  • Unternehmensinhaber: Unternehmensinhaber erhalten automatisch ADMIN-Zugriff in allen Projekten
  • Auswirkungen auf die Abrechnung: Das Hinzufügen von Benutzern kann Ihre Abonnementkosten beeinflussen, wenn Sie eine Preisgestaltung pro Benutzer haben
  • Aktivitätsprotokollierung: Alle Benutzer-Einladungen werden zu Prüfungszwecken protokolliert
  • Parameterexklusivität: Sie müssen entweder projectId ODER companyId angeben, nicht beides
  • Unternehmensbeschränkungen: Nur Unternehmensinhaber können den companyId Parameter verwenden
  • Selbst-Einladung: Benutzer können sich nicht selbst einladen (führt zu ADD_SELF Fehler)

Verwandte Operationen

KI-Assistent

Antworten werden mit KI generiert und können Fehler enthalten.

Wie kann ich Ihnen helfen?

Fragen Sie mich alles über Blue oder diese Dokumentation.

Eingabe zum Senden • Shift+Eingabe für neue Zeile • ⌘I zum Öffnen