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:
- Setzen Sie
accessLevel
aufMEMBER
- Geben Sie die
roleId
Ihrer 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
projectId
ODERcompanyId
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
- Benutzer auflisten - Alle Benutzer in einem Projekt oder Unternehmen anzeigen
- Benutzer entfernen - Benutzer aus Projekten entfernen
- Benutzerdefinierte Rollen - Benutzerdefinierte Benutzerrollen verwalten