Assegna, aggiungi o rimuovi utenti dai record utilizzando l'API di Blue


Gestire gli Assegnatari dei Record

L'API di Blue fornisce tre operazioni per gestire gli assegnatari dei record: impostare gli assegnatari (sostituzione intelligente), aggiungere assegnatari e rimuovere assegnatari. Queste operazioni gestiscono automaticamente il tracciamento delle attività, le notifiche, i webhook e gli aggiornamenti in tempo reale.

Imposta Assegnatari dei Record (Assegnazione Intelligente)

Sostituisce tutti gli attuali assegnatari con un nuovo elenco. Il sistema calcola in modo intelligente quali cambiamenti sono necessari, rimuovendo gli utenti non presenti nel nuovo elenco e aggiungendo quelli nuovi.

mutation SetRecordAssignees {
  setTodoAssignees(input: {
    todoId: "record_abc123"
    assigneeIds: ["user_123", "user_456", "user_789"]
  }) {
    success
    operationId
  }
}

Aggiungi Assegnatari dei Record

Aggiunge nuovi assegnatari senza rimuovere quelli esistenti. Saranno aggiunti solo gli utenti non già assegnati.

mutation AddRecordAssignees {
  addTodoAssignees(input: {
    todoId: "record_abc123"
    assigneeIds: ["user_999", "user_111"]
  }) {
    success
    operationId
  }
}

Rimuovi Assegnatari dei Record

Rimuove specifici assegnatari da un record.

mutation RemoveRecordAssignees {
  removeTodoAssignees(input: {
    todoId: "record_abc123"
    assigneeIds: ["user_456"]
  }) {
    success
    operationId
  }
}

Parametri di Input

SetTodoAssigneesInput

Parametro Tipo Richiesto Descrizione
todoId String! ✅ Sì L'ID del record a cui assegnare gli utenti
assigneeIds [String!]! ✅ Sì Array di ID utente da assegnare (sostituisce tutti gli attuali assegnatari)

AddTodoAssigneesInput

Parametro Tipo Richiesto Descrizione
todoId String! ✅ Sì L'ID del record a cui assegnare gli utenti
assigneeIds [String!]! ✅ Sì Array di ID utente da aggiungere come assegnatari

RemoveTodoAssigneesInput

Parametro Tipo Richiesto Descrizione
todoId String! ✅ Sì L'ID del record da cui rimuovere gli assegnatari
assigneeIds [String!]! ✅ Sì Array di ID utente da rimuovere dagli assegnatari

Campi di Risposta

Campo Tipo Descrizione
success Boolean! Se l'operazione è stata completata con successo
operationId String Identificatore unico per il tracciamento di questa operazione

Permessi Richiesti

Imposta/Rimuovi Assegnatari

Ruolo Può Assegnare/Rimuovere
OWNER ✅ Sì
ADMIN ✅ Sì
MEMBER ✅ Sì
CLIENT ✅ Sì
VIEW_ONLY ❌ No
COMMENT_ONLY ❌ No

Aggiungi Assegnatari

Ruolo Può Aggiungere Assegnatari
OWNER ✅ Sì
ADMIN ✅ Sì
MEMBER ✅ Sì
CLIENT ✅ Sì
VIEW_ONLY ✅ Sì
COMMENT_ONLY ✅ Sì

Risposte di Errore

Record Non Trovato

{
  "errors": [{
    "message": "Todo was not found.",
    "extensions": {
      "code": "TODO_NOT_FOUND"
    }
  }]
}

Permessi Insufficienti

{
  "errors": [{
    "message": "You don't have permission to modify this record",
    "extensions": {
      "code": "FORBIDDEN"
    }
  }]
}

Input Non Valido

{
  "errors": [{
    "message": "Variable '$input' got invalid value; Expected non-nullable type 'String!' not to be null.",
    "extensions": {
      "code": "GRAPHQL_VALIDATION_FAILED"
    }
  }]
}

Confronto delle Operazioni

Caratteristica Imposta Assegnatari Aggiungi Assegnatari Rimuovi Assegnatari
Logic Smart replacement Incremental addition Selective removal
Activity Tracking ✅ Sì ❌ No ❌ No
Notifiche ✅ Sì ❌ No ❌ No
Webhooks ✅ Sì ❌ No ❌ No
Automations ✅ Sì ❌ No ❌ No
Permission Level Stricter More permissive Stricter

Logica Aziendale

Assegnazione Intelligente (setTodoAssignees)

Quando utilizzi setTodoAssignees, il sistema:

  1. Confronta le Liste: Analizza gli attuali assegnatari rispetto al nuovo elenco di assegnatari
  2. Calcola i Cambiamenti: Determina chi rimuovere, mantenere e aggiungere
  3. Rimuove Utenti: Disassegna gli utenti non presenti nel nuovo elenco
  4. Aggiunge Utenti: Assegna gli utenti nel nuovo elenco che non erano precedentemente assegnati
  5. Traccia Attività: Crea voci di log delle attività per ogni cambiamento
  6. Invia Notifiche: Notifica gli utenti appena assegnati
  7. Attiva Webhook: Attiva i webhook per assegnatari aggiunti/rimossi
  8. Aggiorna Grafici: Segna i grafici analitici per il refresh
  9. Aggiornamenti in Tempo Reale: Pubblica aggiornamenti ai client connessi

Operazioni Semplici (aggiungi/rimuovi)

Le operazioni addTodoAssignees e removeTodoAssignees forniscono funzionalità di base senza le caratteristiche complete di tracciamento e notifica di setTodoAssignees.

Note Importanti

  • Appartenenza al Progetto: Gli assegnatari devono essere membri del progetto contenente il record
  • Nessun Limite di Assegnazione: Non c'è un numero massimo di assegnatari per record
  • Auto-Assegnazione: Gli utenti possono assegnare se stessi se hanno i permessi appropriati
  • Array Vuoti: Fornire un array vuoto assigneeIds a setTodoAssignees rimuove tutti gli assegnatari
  • Prevenzione dei Duplicati: Il sistema previene automaticamente le assegnazioni duplicate
  • Efficienza del Database: Utilizza una tabella di giunzione (TodoUser) per relazioni molti-a-molti scalabili
  • Aggiornamenti in Tempo Reale: Tutti i client connessi ricevono aggiornamenti immediati quando le assegnazioni cambiano

Ottieni Assegnatari Disponibili

Per ottenere un elenco di utenti che possono essere assegnati a record in un progetto:

query GetAssignees {
  assignees(projectId: "project_abc123") {
    id
    name
    email
    avatar
  }
}

Questa query restituisce tutti i membri del progetto che possono essere potenzialmente assegnati ai record.

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