Dzienniki aktywności
Dzienniki aktywności użytkowników nie są jeszcze stabilne. Tworzymy nowe API dzienników aktywności na najwyższym poziomie, które obejmie tablice i użytkowników (między tablicami i użytkownikami). Do czasu jego wdrożenia i ustabilizowania pola dotyczącego użytkowników traktuj users { activity_logs } wyłącznie jako wersję zapoznawczą - może się ono zmienić, zanim wersja API zostanie sfinalizowana. Nie używaj go w aplikacjach produkcyjnych, dopóki nie ogłosimy jego stabilności w informacjach o wersjach.
Dzienniki aktywności rejestrują działania na Twoim koncie monday.com. GraphQL API udostępnia je na dwa sposoby:
| Punkt wejścia | Struktura GraphQL | Użyj, gdy |
|---|---|---|
| Dzienniki aktywności tablicy | boards(ids: …) { activity_logs(…) { … } } |
Znasz ID tablicy i chcesz pobrać zdarzenia na tej tablicy (filtrując według kolumn, grup, elementów lub użytkowników). |
| Dzienniki aktywności użytkownika | users(ids: …) { activity_logs(…) { logs cursor } } |
Znasz ID użytkownika lub użytkowników i chcesz pobrać ich aktywność (opcjonalne filtrowanie według tablic i typów zdarzeń; stronicowanie za pomocą kursora). |
- Dzienniki tablicy są oparte na tablicy: musisz podać ID tablicy. Możesz zawęzić wyniki za pomocą
user_idsw polu tablicy, aby uwzględnić osoby z tej tablicy. - Dzienniki użytkownika są oparte na użytkowniku: podajesz ID użytkowników. Możesz zawęzić wyniki za pomocą
board_idsw polu użytkownika. - Struktura wierszy, stronicowanie i limity różnią się w obu ścieżkach - sprawdź je pod kątem swojego zastosowania, zanim założysz, że są takie same.
Zapytania
Pobierz dzienniki aktywności tablicy
- Wymagany zakres dostępu:
boards:read - Dostępne wyłącznie wewnątrz zapytania
boards- pełną listę argumentów, definicje pól i strukturęActivityLogdla tej ścieżki znajdziesz w sekcji Dzienniki aktywności tablicy. - Stronicowanie:
pageilimit(domyślnie 25 wierszy); maksymalnie 10 000 wierszy dziennika na zapytanie.
query {
boards(ids: [1234567890]) {
activity_logs(
from: "2026-03-01T00:00:00Z"
to: "2026-04-09T23:59:59Z"
limit: 25
page: 1
) {
id
event
entity
data
user_id
created_at
}
}
}
Pobierz dzienniki aktywności użytkownika
- Wymagany zakres dostępu:
users:read - Dostępne wewnątrz zapytania
usersjakoactivity_logstypuUser. Odpowiedź ma typUserActivityLogsPagei zawieralogsorazcursorwskazujący następną stronę. - Wersja API: użyj
API-Version: 2026-04lub nowszej. from/to: w schemacie mają typString- podaj daty i godziny w formacie ISO 8601 (na przykład2026-03-01T00:00:00Z). Nieprawidłowe wartości mogą powodować błędy pól zwracane przez usługę dzienników aktywności.
Pierwsza strona
query UserActivityFirstPage(
$userIds: [ID!]!
$from: String!
$to: String!
$limit: Int
) {
users(ids: $userIds) {
id
activity_logs(from: $from, to: $to, limit: $limit) {
cursor
logs {
id
account_id
user_id
event
entity
data
created_at
}
}
}
}
Zmienne (przykład):
{
"userIds": ["1234567890"],
"from": "2026-03-01T00:00:00Z",
"to": "2026-04-09T23:59:59Z",
"limit": 50
}
Stronicowanie (kursor)
W dziennikach aktywności użytkownika stosuje się stronicowanie za pomocą kursora (a nie numerów page).
- Przy pierwszym wywołaniu
activity_logsnie podawajcursor(lub ustawcursor: null). - Jeśli
cursorw odpowiedzi nie ma wartości null, przekaż ten ciąg jakocursorw następnym żądaniu dla tego samego użytkownika, z tym samymfrom/to(i pozostałymi filtrami). - Zakończ, gdy
cursorma wartośćnull.
query UserActivityNextPage(
$userIds: [ID!]!
$from: String!
$to: String!
$cursor: String!
$limit: Int
) {
users(ids: $userIds) {
id
activity_logs(from: $from, to: $to, limit: $limit, cursor: $cursor) {
cursor
logs {
id
event
created_at
}
}
}
}
- Domyślny rozmiar strony: 50 wierszy.
- Maksymalny rozmiar strony: 200 wierszy na wywołanie
activity_logs.
Argumenty
| Argument | Typ | Opis |
|---|---|---|
from |
String |
Początek przedziału (ISO 8601). Musi przypadać w ciągu ostatnich 90 dni (zobacz ograniczenia). |
to |
String |
Koniec przedziału (ISO 8601). |
board_ids |
[ID!] |
Opcjonalne. Tylko zdarzenia związane z tymi tablicami. |
event_types |
[String!] |
Opcjonalne. Tylko zdarzenia, których typ odpowiada jednemu z podanych ciągów (dokładny zestaw może się zmieniać). |
limit |
Int |
Rozmiar strony. Domyślnie 50, maksymalnie 200. |
cursor |
String |
Nieprzezroczysty kursor z poprzedniej odpowiedzi dla tego samego użytkownika i zestawu filtrów. |
Pola UserActivityLogsPage
| Pole | Typ | Opis |
|---|---|---|
logs |
[ActivityLog!] |
Wiersze na tej stronie. |
cursor |
String |
Kursor następnej strony lub null, jeśli nie ma kolejnej strony. |
Pola ActivityLog (ścieżka dzienników aktywności użytkownika)
| Pole | Typ | Opis |
|---|---|---|
id |
ID |
Unikatowe ID wiersza dziennika. |
account_id |
ID |
Konto, którego dotyczy zdarzenie. |
user_id |
ID |
Użytkownik powiązany ze zdarzeniem. |
event |
String |
Nazwa lub typ zdarzenia. |
entity |
String |
Encja, której dotyczy zdarzenie. |
data |
String |
Dane zdarzenia (ich struktura zależy od event). |
created_at |
String |
Czas zdarzenia. W dziennikach tablicy created_at używa formatu 17-cyfrowego opisanego w sekcji Dzienniki aktywności tablicy; w dziennikach użytkownika format ciągu może być inny - parsuj go z uwzględnieniem możliwych różnic. |
Dzienniki aktywności użytkownika - ograniczenia i błędy
Poniższe informacje odzwierciedlają obecne założenia.
Zakres dat
- Można pobierać tylko aktywność z ostatnich 90 dni.
- Jeśli
fromprzypada wcześniej niż 90 dni temu, pole może zwrócić błąd dla tego użytkownika. Pozostali użytkownicy w tym samym żądaniu nadal mogą zwrócić dane.
Przypadki brzegowe stronicowania
- Wiersze są uporządkowane według znacznika czasu. Nie ma gwarancji kolejności wśród wierszy z dokładnie takim samym znacznikiem czasu.
- Jeśli granica strony wypada między wierszami z identycznymi znacznikami czasu, między stronami mogą pojawić się duplikaty lub braki - usuń duplikaty na podstawie
idi nie zakładaj dokładnej liczby wyników bez ich uzgodnienia.
Błędy (GraphQL)
W przypadku błędu activity_logs może zwrócić wartość null dla danego użytkownika, podczas gdy pozostałe pola nadal zwrócą dane. Sprawdź tablicę errors; ścieżki błędów mają postać users → <index> → activity_logs.
| Sytuacja | Typowy komunikat | Typowe extensions |
|---|---|---|
from poza dozwolonym przedziałem |
np. "from" date cannot be older than 90 days |
code: INVALID_ARGUMENT, service: activity-log |
Wybór między dziennikami tablicy a dziennikami użytkownika
| Temat | activity_logs tablicy |
activity_logs użytkownika |
|---|---|---|
| Masz | ID tablicy lub tablic | ID użytkownika lub użytkowników |
| Stronicowanie | page + limit |
cursor + limit (maks. 200) |
| Domyślna liczba wierszy na stronę | 25 | 50 |
| Główne filtry | Kolumna, grupa, element, użytkownik (na tej tablicy) | Lista tablic, typy zdarzeń |
| Wersja API | Wersje stabilne oznaczone datą (np. 2026-07) |
2026-07 po udostępnieniu w wersji API oznaczonej datą; zobacz ostrzeżenie - nie używaj w środowisku produkcyjnym, dopóki funkcja nie będzie stabilna |