Dokumentacja dla programistów

Dokument monday

Aktualizacja 2026-09-06

Kolumna monday doc przechowuje Workdoc bezpośrednio w elemencie. Workdocs to dokumenty, które zespoły mogą wspólnie edytować w czasie rzeczywistym.

Za pomocą API kolumna monday doc obsługuje odczyt, tworzenie i czyszczenie. Nie możesz bezpośrednio zaktualizować wartości kolumny - zamiast tego użyj mutacji create_doc, aby utworzyć dokument w kolumnie.

Typ kolumny Typ implementacji Obsługiwane operacje
doc DocValue
  • Odczyt: Tak
  • Filtrowanie: Nie
  • Tworzenie: Tak
  • Aktualizacja: Nie (użyj create_doc)
  • Czyszczenie: Tak

Zapytania

Kolumny monday doc można odpytywać za pomocą pola column_values w items, używając wbudowanego fragmentu dla typu DocValue.

Typ DocValue zawiera pole file typu FileDocValue, które udostępnia metadane dołączonego Workdoca oraz dostęp do powiązanego obiektu Document.

query {
  items(ids: [1234567890, 9876543210]) {
    name
    column_values {
      ... on DocValue {
        id
        text
        value
        file {
          file_id
          object_id
          url
          created_at
          creator_id
          doc {
            id
            name
            url
            doc_kind
          }
        }
      }
    }
  }
}
const query = `
  query ($itemIds: [ID!]) {
    items(ids: $itemIds) {
      name
      column_values {
        ... on DocValue {
          id
          text
          value
          file {
            file_id
            object_id
            url
            created_at
            creator_id
            doc {
              id
              name
              url
              doc_kind
            }
          }
        }
      }
    }
  }
`;

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

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

Pola

Za pomocą poniższych pól możesz określić, jakie informacje zwróci implementacja DocValue.

Pole Opis
column Column! Kolumna, do której należy wartość.
file FileDocValue Workdoc dołączony do kolumny. Zwraca null, jeśli nie ma dołączonego dokumentu.
id ID! Unikalny identyfikator kolumny.
text String Tekstowa reprezentacja. W przypadku kolumn doc zawsze zwraca "".
type ColumnType! Typ kolumny (doc).
value JSON Surowa wartość kolumny w postaci ciągu JSON. Zawiera tablicę files z metadanymi dokumentu.

Pola FileDocValue

Pole Opis
created_at Date! Data utworzenia pliku.
creator User Użytkownik, który utworzył plik.
creator_id ID Identyfikator użytkownika, który utworzył plik.
doc Document! Obiekt Document powiązany z plikiem. Udostępnia nazwę dokumentu, jego adres URL, bloki i inne metadane.
file_id ID! Unikalny identyfikator pliku (w formacie UUID).
object_id ID! Unikalny identyfikator powiązanej tablicy lub obiektu.
url String Adres URL pliku (prowadzi do dokumentu w kontekście tablicy i elementu).

Przykładowa odpowiedź

{
  "data": {
    "items": [
      {
        "name": "Project Brief",
        "column_values": [
          {
            "id": "monday_doc",
            "text": "",
            "value": "{\"files\":[{\"name\":\"Project Brief\",\"fileId\":\"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\"isImage\":\"false\",\"fileType\":\"MONDAY_DOC\",\"objectId\":1234567890,\"createdAt\":1710000000,\"createdBy\":12345678,\"linkToFile\":\"https://yourdomain.monday.com/boards/1234567890/pulses/9876543210?doc_id=1234567890\"}]}",
            "file": {
              "file_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
              "object_id": "1234567890",
              "url": "https://yourdomain.monday.com/boards/1234567890/pulses/9876543210?doc_id=1234567890",
              "created_at": "2026-03-20T12:00:00Z",
              "creator_id": "12345678",
              "doc": {
                "id": "12345678",
                "name": "Project Brief",
                "url": "https://yourdomain.monday.com/docs/1234567890",
                "doc_kind": "private"
              }
            }
          }
        ]
      }
    ]
  }
}

Odczytywanie bloków dokumentu

Możesz też uzyskać dostęp do bloków treści dołączonego Workdoca, odpytując pole blocks obiektu Document.

query {
  items(ids: [1234567890]) {
    column_values {
      ... on DocValue {
        id
        file {
          doc {
            id
            name
            blocks(limit: 10) {
              id
              type
              content
            }
          }
        }
      }
    }
  }
}

Pole blocks obsługuje paginację za pomocą argumentów limit (domyślnie 25) i page (domyślnie 1).

Odpowiedź dla pustej kolumny

Jeśli do kolumny nie jest dołączony żaden dokument, pole file zwraca null, a pole value ma wartość null lub {"files":[]}.

{
  "data": {
    "items": [
      {
        "column_values": [
          {
            "id": "monday_doc",
            "text": "",
            "value": null,
            "file": null
          }
        ]
      }
    ]
  }
}

Mutacje

Tworzenie kolumny

Wymagany zakres uprawnień: boards:write

Mutacja create_column tworzy kolumnę monday doc za pomocą API. Możesz określić, które pola mają zostać zwrócone w odpowiedzi mutacji.

mutation {
  create_column(
    board_id: 1234567890
    column_type: doc
    title: "Task Notes"
  ) {
    id
    title
    type
  }
}

Tworzenie dokumentu w kolumnie doc

Wymagany zakres uprawnień: docs:write

Mutacja create_doc tworzy Workdoc w kolumnie monday doc. Przekaż item_id i column_id w danych wejściowych location.board, aby dołączyć dokument do kolumny doc konkretnego elementu.

mutation {
  create_doc(
    location: {
      board: {
        item_id: 9876543210
        column_id: "monday_doc"
      }
    }
  ) {
    id
    name
    object_id
    url
  }
}
const query = `
  mutation ($location: CreateDocInput!) {
    create_doc(location: $location) {
      id
      name
      object_id
      url
    }
  }
`;

const variables = {
  location: {
    board: {
      item_id: 9876543210,
      column_id: "monday_doc"
    }
  }
};

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

Argumenty

Argument Typ Opis
location CreateDocInput! Object Miejsce, w którym zostanie utworzony dokument. W przypadku kolumn doc użyj danych wejściowych board.
location.board.item_id ID! Identyfikator elementu zawierającego kolumnę doc.
location.board.column_id String! Identyfikator kolumny doc.

W każdej komórce kolumny doc może znajdować się jednocześnie jeden Workdoc. Jeśli kolumna zawiera już dokument, utworzenie nowego zastąpi istniejący. Aby najpierw usunąć istniejący dokument, użyj mutacji clear.

Nie możesz wypełnić kolumny doc, przekazując wartość w column_values podczas tworzenia elementu (create_item). Po utworzeniu elementu kolumna będzie pusta. Użyj osobnej mutacji create_doc, aby później dołączyć dokument.

Czyszczenie

Możesz wyczyścić kolumnę monday doc za pomocą change_column_value lub change_multiple_column_values, przekazując {"clear_all": true}.

Wyczyszczenie kolumny usuwa link do Workdoca z elementu, ale nie usuwa samego Workdoca.

change_column_value

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

change_multiple_column_values

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

Mutacja change_simple_column_value nie jest obsługiwana w przypadku kolumn doc. Jej użycie powoduje błąd. Zamiast tego użyj change_column_value lub change_multiple_column_values z clear_all.


Odczytywanie konfiguracji kolumny

Aby sprawdzić konfigurację kolumny doc, odpytaj jej pole settings.

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: ["monday_doc"]) {
      id
      title
      type
      settings
    }
  }
}

Struktura odpowiedzi settings

Pole settings zwraca typowany obiekt JSON. W przypadku kolumn doc bez szablonu zwraca pusty obiekt {}.

Jeśli skonfigurowano szablon dokumentu, obiekt zawiera klucz template:

Klucz Typ Opis
template.objectId integer Wewnętrzny identyfikator obiektu szablonu dokumentu.
template.fileType string Identyfikator typu pliku (np. "MONDAY_DOC").
template.name string Nazwa szablonu.
template.linkToFile string Adres URL dokumentu-szablonu.
template.fileId string Unikalny identyfikator pliku szablonu (UUID).
template.createdAt integer Znacznik czasu utworzenia w milisekundach.
template.createdBy string Identyfikator użytkownika, który utworzył szablon.
template.docColumnTemplate boolean Zawsze true - oznacza, że jest to szablon kolumny doc.
template.columnId string Identyfikator kolumny.

Przykładowa odpowiedź settings (z szablonem)

{
  "template": {
    "objectId": 1234567890,
    "fileType": "MONDAY_DOC",
    "name": "Meeting Notes Template",
    "linkToFile": "https://yourdomain.monday.com/boards/1234567890/pulses/9876543210?doc_id=1234567890",
    "isImage": false,
    "fileId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "createdAt": 1710000000,
    "createdBy": "12345678",
    "docColumnTemplate": true,
    "columnId": "monday_doc"
  }
}

Przykładowa odpowiedź settings (bez szablonu)

{}

Pobieranie schematu typu kolumny

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

query {
  get_column_type_schema(
    type: doc
  )
}
{
  "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": {
              "template": {
                "type": "object",
                "description": "Default document template configuration",
                "properties": {
                  "objectId": {
                    "type": "integer",
                    "description": "Internal object identifier"
                  },
                  "fileType": {
                    "type": "string",
                    "description": "File type identifier (e.g., MONDAY_DOC)"
                  },
                  "name": {
                    "type": "string",
                    "description": "Template name"
                  },
                  "linkToFile": {
                    "type": "string",
                    "description": "Link to the document"
                  },
                  "isImage": {
                    "type": "boolean",
                    "description": "Whether the file is an image"
                  },
                  "fileId": {
                    "type": "string",
                    "description": "File unique identifier"
                  },
                  "createdAt": {
                    "type": "integer",
                    "description": "Creation timestamp (ms)"
                  },
                  "createdBy": {
                    "type": "string",
                    "description": "Creator user ID"
                  },
                  "docColumnTemplate": {
                    "type": "boolean",
                    "description": "Indicates this is a doc column template"
                  },
                  "columnId": {
                    "type": "string",
                    "description": "Column identifier"
                  }
                },
                "additionalProperties": false
              }
            },
            "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.