Dokumentacja dla programistów

Pliki (zasoby)

Aktualizacja 2026-10-30

Kolumna plików przechowuje pliki, linki i dokumenty dołączone do elementu. Możesz przesyłać obrazy, pliki PDF, arkusze kalkulacyjne i pliki innych typów, a także dodawać linki do zewnętrznych usług przechowywania danych w chmurze, takich jak Google Drive, Dropbox, OneDrive i Box.

Za pomocą API możesz odczytywać, aktualizować i czyścić wartości kolumny plików. Pliki dodaje się za pomocą dedykowanej mutacji przesyłania plików (add_file_to_column), która korzysta z punktu końcowego /v2/file, a nie ze standardowego punktu końcowego /v2.

Typ kolumny Typ implementacji Obsługiwane operacje
file FileValue
  • Odczyt: Tak
  • Filtrowanie: Nie
  • Aktualizacja: Tak
  • Czyszczenie: Tak

Zapytania

Kolumny plików można odpytywać za pomocą pola column_values w zapytaniach items, używając wbudowanego fragmentu dla FileValue.

Pole files zwraca listę obiektów FileValueItem. Każdy z nich należy do jednego z czterech typów, zależnie od rodzaju dołączonego pliku:

  • FileAssetValue - przesłany plik, np. obraz, plik PDF lub dokument
  • FileDocValue - dokument monday dołączony do kolumny
  • FileLinkValue - link do pliku zewnętrznego (Google Drive, Dropbox, OneDrive, Box lub inny link)
  • FileAssetInvalidValue - plik z nieprawidłowym lub brakującym zasobem

Użyj wbudowanych fragmentów dla poszczególnych typów, aby uzyskać dostęp do ich konkretnych pól.

query {
  items(ids: [1234567890, 9876543210]) {
    name
    column_values {
      ... on FileValue {
        id
        text
        value
        files {
          ... on FileAssetValue {
            asset_id
            name
            is_image
            created_at
            creator_id
            asset {
              id
              public_url
              url
              file_extension
              file_size
            }
          }
          ... on FileDocValue {
            file_id
            url
            created_at
            creator_id
          }
          ... on FileLinkValue {
            file_id
            name
            url
            kind
            created_at
            creator_id
          }
          ... on FileAssetInvalidValue {
            asset_id
            name
            error
            created_at
            creator_id
          }
        }
      }
    }
  }
}
const query = `
  query ($itemIds: [ID!]) {
    items(ids: $itemIds) {
      name
      column_values {
        ... on FileValue {
          id
          text
          files {
            ... on FileAssetValue {
              asset_id
              name
              is_image
              created_at
              asset {
                public_url
                file_extension
                file_size
              }
            }
            ... on FileLinkValue {
              file_id
              name
              url
              kind
            }
            ... on FileDocValue {
              file_id
              url
            }
          }
        }
      }
    }
  }
`;

const variables = { itemIds: [1234567890, 9876543210] };

const response = await mondayApiClient.request(query, variables);

W zapytaniu FileAssetValue możesz rozwinąć pole asset, aby uzyskać dostęp do pełnego obiektu Asset, który zawiera pola public_url (ważny przez 1 godzinę), file_extension, file_size i url_thumbnail (tylko obrazy).

Pola

Możesz użyć poniższych pól, aby określić, jakie informacje zwróci implementacja FileValue.

Pole Opis Możliwe typy
column Column! Kolumna, do której należy wartość.
files [FileValueItem!]! Pliki, linki i dokumenty dołączone do kolumny. FileAssetValue
FileDocValue
FileLinkValue
FileAssetInvalidValue
id ID! Unikalny identyfikator kolumny plików.
text String Wartość kolumny w postaci tekstu. Zwraca "", jeśli kolumna nie ma wartości.
type ColumnType! Typ kolumny.
value JSON Surowa wartość kolumny w formacie JSON. Zwraca null, jeśli kolumna jest pusta.

Pola FileAssetValue

Pole Typ Opis
asset Asset! Pełny obiekt zasobu. Zawiera między innymi pola public_url, file_extension, file_size i url_thumbnail.
asset_id ID! Unikalny identyfikator zasobu.
created_at Date! Data utworzenia pliku.
creator User Użytkownik, który przesłał plik.
creator_id ID Identyfikator użytkownika, który przesłał plik.
is_image Boolean! Informacja, czy plik jest obrazem.
name String! Nazwa pliku.

Pola FileDocValue

Pole Typ Opis
created_at Date! Data utworzenia dokumentu.
creator User Użytkownik, który utworzył dokument.
creator_id ID Identyfikator użytkownika, który utworzył dokument.
doc Document! Powiązany obiekt dokumentu monday.
file_id ID! Unikalny identyfikator pliku dokumentu.
object_id ID! Unikalny identyfikator powiązanej tablicy lub obiektu.
url String Adres URL dokumentu.

Pola FileLinkValue

Pole Typ Opis
created_at Date! Data utworzenia linku.
creator User Użytkownik, który dodał link.
creator_id ID Identyfikator użytkownika, który dodał link.
file_id ID! Unikalny identyfikator linku.
kind FileLinkValueKind! Typ linku: box, dropbox, google_drive, link lub onedrive.
name String! Nazwa wyświetlana linku.
url String Adres URL linku.

Pola FileAssetInvalidValue

Pole Typ Opis
asset_id ID! Unikalny identyfikator zasobu.
created_at Date! Data utworzenia pliku.
creator User Użytkownik, który przesłał plik.
creator_id ID Identyfikator użytkownika, który przesłał plik.
error String! Komunikat o błędzie wyjaśniający, dlaczego zasób jest nieprawidłowy.
name String Nazwa pliku (może mieć wartość null, jeśli brakuje zasobu).

Przykładowa odpowiedź

{
  "data": {
    "items": [
      {
        "name": "Project brief",
        "column_values": [
          {
            "id": "files",
            "text": "screenshot.png",
            "value": "{\"files\":[{\"assetId\":123456,\"isImage\":\"true\",\"name\":\"screenshot.png\",\"fileType\":\"ASSET\",\"createdAt\":\"1711036800000\",\"createdBy\":\"9876543\"}]}",
            "files": [
              {
                "asset_id": "123456",
                "name": "screenshot.png",
                "is_image": true,
                "created_at": "2026-03-21T12:00:00+00:00",
                "creator_id": "9876543",
                "asset": {
                  "id": "123456",
                  "public_url": "https://files.monday.com/...",
                  "url": "https://files.monday.com/...",
                  "file_extension": "png",
                  "file_size": 204800
                }
              }
            ]
          }
        ]
      }
    ]
  }
}

Mutacje

Aktualizacja

Wymagany zakres: boards:write

Mutacja add_file_to_column dodaje plik do kolumny plików. Korzysta z punktu końcowego do przesyłania plików (https://api.monday.com/v2/file), a nie ze standardowego punktu końcowego API.

Mutacja add_file_to_column wymaga żądania w formacie multipart form. Nie można wysłać jej jako standardowego żądania JSON do punktu końcowego /v2. Pełną implementację znajdziesz w poniższym przykładzie w języku JavaScript.

mutation ($file: File!) {
  add_file_to_column(
    item_id: 1234567890
    column_id: "files"
    file: $file
  ) {
    id
  }
}
import axios from "axios";
import fs from "fs";
import FormData from "form-data";

const data = new FormData();
data.append(
  "query",
  'mutation ($file: File!) { add_file_to_column(item_id: 1234567890, column_id: "files", file: $file) { id } }'
);
data.append("map", '{"image":"variables.file"}');
data.append("image", fs.createReadStream("/local/path/to/file.png"));

const config = {
  method: "post",
  url: "https://api.monday.com/v2/file",
  headers: {
    Authorization: "YOUR_API_TOKEN",
    ...data.getHeaders(),
  },
  data: data,
};

const response = await axios.request(config);

Argumenty

Argument Typ Opis
item_id ID! Element, do którego dodajesz plik.
column_id String! Kolumna, do której dodajesz plik.
file File! Plik do przesłania. Przekazywany jako dane formularza multipart.

Zwracane pola

Mutacja zwraca obiekt Asset. Możesz zażądać następujących pól:

Pole Typ Opis
id ID! Unikalny identyfikator pliku.
name String! Nazwa pliku.
url String! Adres URL, pod którym można wyświetlić zasób.
public_url String! Publiczny adres URL zasobu (ważny przez 1 godzinę).
file_extension String! Rozszerzenie pliku, np. png lub pdf.
file_size Int! Rozmiar pliku w bajtach.
uploaded_by User! Użytkownik, który przesłał plik.
url_thumbnail String Adres URL miniatury (tylko obrazy).

Każdy przesłany plik jest dodawany do kolumny. Mutacja add_file_to_column nie zastępuje istniejących plików - dodaje kolejny plik. Aby zastąpić wszystkie pliki, najpierw wyczyść kolumnę, a potem prześlij nowy plik.

Czyszczenie

Możesz usunąć wszystkie pliki z kolumny plików za pomocą mutacji change_column_value lub change_multiple_column_values, przekazując {"clear_all": true}.

change_column_value

mutation {
  change_column_value(
    board_id: 1234567890
    item_id: 9876543210
    column_id: "files"
    value: "{\"clear_all\": true}"
  ) {
    id
  }
}

change_multiple_column_values

mutation {
  change_multiple_column_values(
    item_id: 9876543210
    board_id: 1234567890
    column_values: "{\"files\": {\"clear_all\": true}}"
  ) {
    id
  }
}

Wyczyść kolumnę plików, aby usunąć z niej wszystkie pliki, linki i dokumenty. Tej operacji nie można cofnąć za pomocą API.

Nie możesz ustawiać wartości kolumny plików za pomocą change_simple_column_value ani change_multiple_column_values. Pliki można dodawać wyłącznie za pomocą mutacji add_file_to_column. Mutacje zmieniające wartość kolumny w formacie JSON obsługują w przypadku kolumn plików tylko operację clear_all.


Odczytywanie konfiguracji kolumny

Aby sprawdzić konfigurację kolumny plików, odczytaj jej ustawienia za pomocą pola settings kolumny.

Pole settings_str jest przestarzałe od wersji API 2025-10. Zamiast niego użyj typowanego obiektu settings, który zwraca uporządkowany obiekt JSON, a nie ciąg znaków zakodowany w formacie JSON.

query {
  boards(ids: 1234567890) {
    columns(ids: ["files"]) {
      id
      title
      type
      settings
    }
  }
}

Struktura odpowiedzi settings

Kolumna plików ma minimalną konfigurację. Pole settings zwraca typowany obiekt JSON o następującej strukturze:

Klucz Typ Opis
hide_footer boolean Określa, czy ukryć stopkę w komórce kolumny. Domyślnie ma wartość false (nie występuje przy ustawieniach domyślnych).

Przykładowa odpowiedź settings

Przy ustawieniach domyślnych:

{}

Przy ustawieniach niestandardowych:

{
  "hide_footer": true
}

Pobieranie schematu typu kolumny

Możesz programowo pobrać schemat JSON ustawień kolumny plików za pomocą zapytania get_column_type_schema. Zapytanie zwraca strukturę, reguły walidacji i dostępne właściwości konfiguracji kolumny.

query {
  get_column_type_schema(
    type: file
  )
}
{
  "data": {
    "get_column_type_schema": {
      "schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "settings": {
            "type": "object",
            "description": "Column specific settings",
            "properties": {
              "hide_footer": {
                "type": "boolean",
                "description": "Whether to hide the footer"
              }
            },
            "additionalProperties": false
          }
        }
      }
    }
  }
}

Odpowiedź zawiera nazwy właściwości, typy, ograniczenia (takie jak maksymalna długość i dozwolone wartości) oraz opisy poszczególnych ustawień. Możesz użyć tych informacji do walidacji ustawień kolumny, dynamicznego generowania interfejsów użytkownika lub przekazywania kontekstu agentom AI. Dowiedz się więcej o formacie odpowiedzi schematu.