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
projectIdParameter - Kann nicht gleichzeitig mit
companyIdverwendet 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
companyIdParameter - Kann nicht gleichzeitig mit
projectIdverwendet werden - Nur Unternehmens-EIGENTÜMER können diese Methode verwenden
- Verwenden Sie das
projectIdsArray, um anzugeben, welche Projekte einbezogen werden sollen - Wenn
projectIdsweggelassen wird, erhält der Benutzer nur Unternehmenszugang
Benutzerdefinierte Rollen
Bei der Verwendung von benutzerdefinierten Rollen:
- Setzen Sie
accessLevelaufMEMBER - Geben Sie die
roleIdIhrer benutzerdefinierten Rolle an - Der Benutzer erbt alle Berechtigungen, die in der benutzerdefinierten Rolle definiert sind
- 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
projectIdODERcompanyIdangeben, nicht beides - Unternehmensbeschränkungen: Nur Unternehmensinhaber können den
companyIdParameter verwenden - Selbst-Einladung: Benutzer können sich nicht selbst einladen (führt zu
ADD_SELFFehler)
Verwandte Operationen
- Benutzer auflisten - Alle Benutzer in einem Projekt oder Unternehmen anzeigen
- Benutzer entfernen - Benutzer aus Projekten entfernen
- Benutzerdefinierte Rollen - Benutzerdefinierte Benutzerrollen verwalten