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:
- Porównuje Listy: Analizuje obecnych przypisanych w porównaniu do nowej listy przypisanych
- Oblicza Zmiany: Określa, kogo usunąć, kogo zachować i kogo dodać
- Usuwa Użytkowników: Odczytuje użytkowników, którzy nie znajdują się na nowej liście
- Dodaje Użytkowników: Przypisuje użytkowników z nowej listy, którzy wcześniej nie byli przypisani
- Śledzi Aktywność: Tworzy wpisy w dzienniku aktywności dla każdej zmiany
- Wysyła Powiadomienia: Powiadamia nowo przypisanych użytkowników
- Uruchamia Webhooki: Wywołuje webhooki dodania/usunięcia przypisanego
- Aktualizuje Wykresy: Oznacza wykresy analityczne do odświeżenia
- 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
dosetTodoAssignees
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
- Lista Rekordów - Pobierz rekordy z ich obecnymi przypisanymi
- Aktualizuj Rekord - Zmień inne właściwości rekordu
- Dodaj Komentarz - Dodaj komentarze do przypisanych rekordów