Przypisz, dodaj lub usuń użytkowników z rekordów za pomocą API Blue


Zarządzaj Przypisaniami Rekordów

API Blue oferuje trzy operacje do zarządzania przypisaniami rekordów: ustawianie przypisań (inteligentne zastępowanie), dodawanie przypisań i usuwanie przypisań. Te operacje automatycznie obsługują śledzenie aktywności, powiadomienia, webhooki i aktualizacje w czasie rzeczywistym.

Ustaw Przypisania Rekordów (Inteligentne Przypisanie)

Zastępuje wszystkich obecnych przypisanych nową listą. System inteligentnie oblicza, jakie zmiany są potrzebne, usuwając użytkowników, którzy nie znajdują się na nowej liście i dodając nowych.

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

Dodaj Przypisania Rekordów

Dodaje nowych przypisanych bez usuwania istniejących. Tylko użytkownicy, którzy nie są już przypisani, zostaną dodani.

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

Usuń Przypisania Rekordów

Usuwa określonych przypisanych z rekordu.

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

Parametry Wejściowe

SetTodoAssigneesInput

Parametr Typ Wymagane Opis
todoId String! ✅ Tak ID rekordu, do którego przypisani mają być użytkownicy
assigneeIds [String!]! ✅ Tak Tablica ID użytkowników do przypisania (zastępuje wszystkich obecnych przypisanych)

AddTodoAssigneesInput

Parametr Typ Wymagane Opis
todoId String! ✅ Tak ID rekordu, do którego przypisani mają być użytkownicy
assigneeIds [String!]! ✅ Tak Tablica ID użytkowników do dodania jako przypisanych

RemoveTodoAssigneesInput

Parametr Typ Wymagane Opis
todoId String! ✅ Tak ID rekordu, z którego mają być usunięci przypisani
assigneeIds [String!]! ✅ Tak Tablica ID użytkowników do usunięcia z przypisanych

Pola Odpowiedzi

Pole Typ Opis
success Boolean! Czy operacja zakończyła się pomyślnie
operationId String Unikalny identyfikator do śledzenia tej operacji

Wymagane Uprawnienia

Ustaw/Usuń Przypisania

Rola Może Przypisywać/Usuwać
OWNER ✅ Tak
ADMIN ✅ Tak
MEMBER ✅ Tak
CLIENT ✅ Tak
VIEW_ONLY ❌ Nie
COMMENT_ONLY ❌ Nie

Dodaj Przypisania

Rola Może Dodawać Przypisania
OWNER ✅ Tak
ADMIN ✅ Tak
MEMBER ✅ Tak
CLIENT ✅ Tak
VIEW_ONLY ✅ Tak
COMMENT_ONLY ✅ Tak

Odpowiedzi Błędów

Rekord Nie Znaleziony

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

Niewystarczające Uprawnienia

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

Nieprawidłowe Wejście

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

Porównanie Operacji

Funkcja Ustaw Przypisania Dodaj Przypisania Usuń Przypisania
Logic Smart replacement Incremental addition Selective removal
Activity Tracking ✅ Tak ❌ Nie ❌ Nie
Powiadomienia ✅ Tak ❌ Nie ❌ Nie
Webhooks ✅ Tak ❌ Nie ❌ Nie
Automations ✅ Tak ❌ Nie ❌ Nie
Permission Level Stricter More permissive Stricter

Logika Biznesowa

Inteligentne Przypisanie (setTodoAssignees)

Kiedy używasz setTodoAssignees, system:

  1. Porównuje Listy: Analizuje obecnych przypisanych w porównaniu do nowej listy przypisanych
  2. Oblicza Zmiany: Określa, kogo usunąć, kogo zachować i kogo dodać
  3. Usuwa Użytkowników: Odczytuje użytkowników, którzy nie znajdują się na nowej liście
  4. Dodaje Użytkowników: Przypisuje użytkowników z nowej listy, którzy wcześniej nie byli przypisani
  5. Śledzi Aktywność: Tworzy wpisy w dzienniku aktywności dla każdej zmiany
  6. Wysyła Powiadomienia: Powiadamia nowo przypisanych użytkowników
  7. Uruchamia Webhooki: Wywołuje webhooki dodania/usunięcia przypisanego
  8. Aktualizuje Wykresy: Oznacza wykresy analityczne do odświeżenia
  9. Aktualizacje w czasie rzeczywistym: Publikuje aktualizacje do podłączonych klientów

Proste Operacje (dodaj/usuń)

Operacje addTodoAssignees i removeTodoAssignees zapewniają podstawową funkcjonalność bez kompleksowego śledzenia i funkcji powiadomień dostępnych w setTodoAssignees.

Ważne Uwagi

  • Członkostwo w Projekcie: Przypisani powinni być członkami projektu zawierającego rekord
  • Brak Ograniczeń Przypisania: Nie ma maksymalnej liczby przypisanych na rekord
  • Samoprzypisanie: Użytkownicy mogą przypisywać siebie, jeśli mają odpowiednie uprawnienia
  • Puste Tablice: Podanie pustej tablicy assigneeIds do setTodoAssignees usuwa wszystkich przypisanych
  • Zapobieganie Duplikatom: System automatycznie zapobiega duplikatom przypisań
  • Efektywność Bazy Danych: Używa tabeli łącznikowej (TodoUser) do skalowalnych relacji wiele-do-wielu
  • Aktualizacje w czasie rzeczywistym: Wszyscy podłączeni klienci otrzymują natychmiastowe aktualizacje, gdy przypisania się zmieniają

Pobierz Dostępnych Przypisanych

Aby uzyskać listę użytkowników, którzy mogą być przypisani do rekordów w projekcie:

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

To zapytanie zwraca wszystkich członków projektu, którzy mogą być potencjalnie przypisani do rekordów.

Powiązane Operacje

Asystent AI

Odpowiedzi są generowane przy użyciu sztucznej inteligencji i mogą zawierać błędy.

Jak mogę Ci pomóc?

Zapytaj mnie o cokolwiek dotyczącego Blue lub tej dokumentacji.

Wciśnij Enter, aby wysłać • Shift+Enter, aby dodać nową linię • ⌘I, aby otworzyć