Invita utenti a progetti o aziende con livelli di accesso specifici e ruoli personalizzati.


Invita un Utente

La mutazione inviteUser consente di invitare utenti ai tuoi progetti o aziende Blue. Gli utenti possono essere assegnati a livelli di accesso predefiniti o ruoli personalizzati con permessi specifici.

Esempio Base

Invita un utente con un livello di accesso standard:

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

Esempio Avanzato

Invita un utente con un ruolo personalizzato a più progetti:

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

Parametri di Input

InviteUserInput

Parametro Tipo Richiesto Descrizione
email String! ✅ Sì Indirizzo email dell'utente da invitare
accessLevel UserAccessLevel! ✅ Sì Livello di accesso da concedere (vedi tabella sottostante)
projectId String No ID di un singolo progetto (mutuamente esclusivo con companyId)
projectIds [String!] No ID di più progetti quando si utilizza companyId
companyId String No ID dell'azienda per l'invito a livello aziendale (mutuamente esclusivo con projectId)
roleId String No ID del ruolo personalizzato (richiede accessLevel: MEMBER)

Valori di UserAccessLevel

Valore Descrizione
OWNER Controllo completo su progetto/azienda
ADMIN Accesso amministrativo, può gestire utenti e impostazioni
MEMBER Accesso standard per membri con funzionalità complete
CLIENT Accesso limitato per clienti esterni
COMMENT_ONLY Può solo visualizzare e commentare i record
VIEW_ONLY Accesso in sola lettura al progetto

Campi di Risposta

Campo Tipo Descrizione
success Boolean! Se l'invito è stato inviato con successo

Permessi Richiesti

Gli utenti devono avere permessi sufficienti per invitare altri. La gerarchia dei permessi è applicata:

Il Tuo Ruolo Può Invitare
OWNER ✅ Tutti i livelli di accesso
ADMIN ✅ ADMIN, MEMBER, CLIENT, COMMENT_ONLY, VIEW_ONLY (non può invitare OWNER)
MEMBER ✅ MEMBER, CLIENT, COMMENT_ONLY, VIEW_ONLY (non può invitare OWNER o ADMIN)
CLIENT ✅ Solo CLIENT
COMMENT_ONLY ❌ Non può invitare
VIEW_ONLY ❌ Non può invitare

Nota: Per gli inviti aziendali (utilizzando companyId), solo gli OWNER dell'azienda possono invitare utenti.

Tipi di Invito

Invito al Progetto

Invita un utente a un singolo progetto:

  • Usa il parametro projectId
  • Non può usare companyId simultaneamente
  • L'invitante deve avere accesso al progetto
  • Si applicano restrizioni sui livelli di accesso

Invito all'Azienda

Invita un utente a un'azienda (e opzionalmente a progetti specifici):

  • Usa il parametro companyId
  • Non può usare projectId simultaneamente
  • Solo gli OWNER dell'azienda possono utilizzare questo metodo
  • Usa l'array projectIds per specificare quali progetti includere
  • Se projectIds è omesso, l'utente ottiene solo accesso all'azienda

Ruoli Personalizzati

Quando si utilizzano ruoli personalizzati:

  1. Imposta accessLevel su MEMBER
  2. Fornisci l'roleId del tuo ruolo personalizzato
  3. L'utente erediterà tutti i permessi definiti nel ruolo personalizzato
  4. I ruoli personalizzati sono specifici per progetto

Per recuperare i ruoli personalizzati disponibili, utilizza la projectUserRoles query.

Risposte di Errore

Utente Già nel Progetto

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

Permessi Insufficienti

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

Progetto Non Valido

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

Limite di Inviti Superato

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

Non Puoi Invitare Te Stesso

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

Ruolo Personalizzato Non Valido

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

Azienda Bandita

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

Note Importanti

  • Validazione Email: Gli indirizzi email vengono normalizzati e convalidati prima dell'invio degli inviti
  • Scadenza dell'Invito: Gli inviti scadono dopo 7 giorni e devono essere reinviati se non accettati
  • Notifiche Automatiche: Blue invia automaticamente email di invito ai nuovi utenti
  • Proprietari dell'Azienda: I proprietari dell'azienda ricevono automaticamente accesso ADMIN in tutti i progetti
  • Impatto sulla Fatturazione: Aggiungere utenti può influenzare il tuo abbonamento se hai prezzi per utente
  • Registrazione delle Attività: Tutti gli inviti agli utenti sono registrati per scopi di audit
  • Esclusività dei Parametri: Devi fornire projectId O companyId, non entrambi
  • Restrizioni Aziendali: Solo i proprietari dell'azienda possono utilizzare il parametro companyId
  • Auto-Invito: Gli utenti non possono invitare se stessi (verrà generato un errore ADD_SELF)

Operazioni Correlate

Assistente AI

Le risposte sono generate utilizzando l'IA e potrebbero contenere errori.

Come posso aiutarti?

Chiedimi qualsiasi cosa su Blue o su questa documentazione.

Invia per inviare • Maiusc+Invio per una nuova riga • ⌘I per aprire