Zaproś użytkowników do projektów lub firm z określonymi poziomami dostępu i niestandardowymi rolami.
Zaproś Użytkownika
Mutacja inviteUser
pozwala na zapraszanie użytkowników do Twoich projektów lub firm w Blue. Użytkownicy mogą otrzymać przypisane zdefiniowane poziomy dostępu lub niestandardowe role z określonymi uprawnieniami.
Podstawowy Przykład
Zaproś użytkownika z standardowym poziomem dostępu:
mutation InviteUserToProject {
inviteUser(
input: {
email: "newuser@example.com"
projectId: "web-redesign"
accessLevel: MEMBER
}
)
}
Zaawansowany Przykład
Zaproś użytkownika z niestandardową rolą do wielu projektów:
mutation InviteUserWithCustomRole {
inviteUser(
input: {
email: "contractor@example.com"
projectIds: ["web-redesign", "mobile-app", "api-v2"]
accessLevel: MEMBER
roleId: "role_contractor_123"
}
)
}
Parametry Wejściowe
InviteUserInput
Parametr | Typ | Wymagane | Opis |
---|---|---|---|
email |
String! | ✅ Tak | Adres e-mail użytkownika do zaproszenia |
accessLevel |
UserAccessLevel! | ✅ Tak | Poziom dostępu do przyznania (zobacz tabela poniżej) |
projectId |
String | Nie | ID pojedynczego projektu (wzajemnie wykluczające się z companyId) |
projectIds |
[String!] | Nie | Wiele ID projektów przy użyciu companyId |
companyId |
String | Nie | ID firmy do zaproszenia na poziomie firmy (wzajemnie wykluczające się z projectId) |
roleId |
String | Nie | ID niestandardowej roli (wymaga accessLevel: MEMBER) |
Wartości UserAccessLevel
Wartość | Opis |
---|---|
OWNER |
Pełna kontrola nad projektem/firmą |
ADMIN |
Dostęp administracyjny, może zarządzać użytkownikami i ustawieniami |
MEMBER |
Standardowy dostęp członka z pełną funkcjonalnością |
CLIENT |
Ograniczony dostęp dla zewnętrznych klientów |
COMMENT_ONLY |
Może tylko przeglądać i komentować rekordy |
VIEW_ONLY |
Tylko do odczytu dostęp do projektu |
Pola Odpowiedzi
Pole | Typ | Opis |
---|---|---|
success |
Boolean! | Czy zaproszenie zostało wysłane pomyślnie |
Wymagane Uprawnienia
Użytkownicy muszą mieć wystarczające uprawnienia, aby zapraszać innych. Hierarchia uprawnień jest egzekwowana:
Twoja Rola | Może Zapraszać |
---|---|
OWNER |
✅ Wszystkie poziomy dostępu |
ADMIN |
✅ ADMIN, MEMBER, CLIENT, COMMENT_ONLY, VIEW_ONLY (nie może zapraszać OWNER) |
MEMBER |
✅ MEMBER, CLIENT, COMMENT_ONLY, VIEW_ONLY (nie może zapraszać OWNER ani ADMIN) |
CLIENT |
✅ Tylko CLIENT |
COMMENT_ONLY |
❌ Nie może zapraszać |
VIEW_ONLY |
❌ Nie może zapraszać |
Uwaga: W przypadku zaproszeń do firmy (używając companyId
), tylko WŁAŚCICIELE firmy mogą zapraszać użytkowników.
Typy Zaproszeń
Zaproszenie do Projektu
Zaproś użytkownika do pojedynczego projektu:
- Użyj parametru
projectId
- Nie można używać
companyId
jednocześnie - Osoba zapraszająca musi mieć dostęp do projektu
- Ograniczenia poziomu dostępu mają zastosowanie
Zaproszenie do Firmy
Zaproś użytkownika do firmy (i opcjonalnie do konkretnych projektów):
- Użyj parametru
companyId
- Nie można używać
projectId
jednocześnie - Tylko WŁAŚCICIELE firmy mogą używać tej metody
- Użyj tablicy
projectIds
, aby określić, które projekty uwzględnić - Jeśli
projectIds
jest pominięte, użytkownik otrzymuje tylko dostęp do firmy
Niestandardowe Role
Podczas korzystania z niestandardowych ról:
- Ustaw
accessLevel
naMEMBER
- Podaj
roleId
swojej niestandardowej roli - Użytkownik odziedziczy wszystkie uprawnienia zdefiniowane w niestandardowej roli
- Niestandardowe role są specyficzne dla projektu
Aby pobrać dostępne niestandardowe role, użyj projectUserRoles
zapytania.
Odpowiedzi Błędów
Użytkownik Już w Projekcie
{
"errors": [{
"message": "User is already in the project.",
"extensions": {
"code": "USER_ALREADY_IN_THE_PROJECT"
}
}]
}
Niewystarczające Uprawnienia
{
"errors": [{
"message": "You don't have permission to invite users with this access level",
"extensions": {
"code": "UNAUTHORIZED"
}
}]
}
Nieprawidłowy Projekt
{
"errors": [{
"message": "Project not found",
"extensions": {
"code": "PROJECT_NOT_FOUND"
}
}]
}
Przekroczono Limit Zaproszeń
{
"errors": [{
"message": "Unable to invite more people.",
"extensions": {
"code": "INVITATION_LIMIT"
}
}]
}
Nie Można Zaprosić Siebie
{
"errors": [{
"message": "You are not allowed to add yourself.",
"extensions": {
"code": "ADD_SELF"
}
}]
}
Nieprawidłowa Niestandardowa Rola
{
"errors": [{
"message": "Project user role was not found.",
"extensions": {
"code": "PROJECT_USER_ROLE_NOT_FOUND"
}
}]
}
Firma Zbanowana
{
"errors": [{
"message": "Company is banned",
"extensions": {
"code": "COMPANY_BANNED"
}
}]
}
Ważne Uwagi
- Walidacja E-maili: Adresy e-mail są normalizowane i walidowane przed wysłaniem zaproszeń
- Wygasanie Zaproszeń: Zaproszenia wygasają po 7 dniach i muszą być ponownie wysłane, jeśli nie zostaną zaakceptowane
- Automatyczne Powiadomienia: Blue automatycznie wysyła e-maile zapraszające do nowych użytkowników
- Właściciele Firm: Właściciele firm automatycznie otrzymują dostęp ADMIN w wszystkich projektach
- Wpływ na Rozliczenia: Dodanie użytkowników może wpłynąć na Twoją subskrypcję, jeśli masz ceny za użytkownika
- Rejestrowanie Aktywności: Wszystkie zaproszenia użytkowników są rejestrowane w celach audytowych
- Ekskluzywność Parametrów: Musisz podać albo
projectId
LUBcompanyId
, nie oba - Ograniczenia Firmy: Tylko właściciele firm mogą używać parametru
companyId
- Samo-Zaproszenie: Użytkownicy nie mogą zapraszać siebie (spowoduje błąd
ADD_SELF
)
Powiązane Operacje
- Lista Użytkowników - Zobacz wszystkich użytkowników w projekcie lub firmie
- Usuń Użytkownika - Usuń użytkowników z projektów
- Niestandardowe Role - Zarządzaj niestandardowymi rolami użytkowników