Dokumentacja dla programistów

Kraj

Aktualizacja 2026-09-06

Kolumna kraju pozwala wybrać kraj z listy dostępnych krajów. Każda wartość przechowuje dwuliterowy kod kraju ISO-2 i nazwę kraju.

Za pomocą API kolumna kraju obsługuje odczyt, filtrowanie, aktualizowanie i czyszczenie wartości.

Typ kolumny Typ implementacji Obsługiwane operacje
country CountryValue
  • Odczyt: Tak
  • Filtrowanie: Tak
  • Aktualizowanie: Tak
  • Czyszczenie: Tak

Zapytania

Wartości kolumny kraju można pobierać za pomocą pola column_values w zapytaniach items. Użyj w nich wbudowanego fragmentu dotyczącego CountryValue.

Pole country zwraca zagnieżdżony obiekt Country z polami podrzędnymi code i name.

query {
  items(ids: [1234567890, 9876543210]) {
    name
    column_values {
      ... on CountryValue {
        id
        country {
          code
          name
        }
        text
        value
        updated_at
      }
    }
  }
}
const query = `
  query ($itemIds: [ID!]) {
    items(ids: $itemIds) {
      name
      column_values {
        ... on CountryValue {
          id
          country {
            code
            name
          }
          text
          value
          updated_at
        }
      }
    }
  }
`;

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

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

Pola

Możesz użyć następujących pól, aby określić, jakie informacje zwróci implementacja CountryValue.

Pole Opis Obsługiwane pola
column Column! Kolumna, do której należy wartość.
country Country Wybrany kraj. Zwraca null, jeśli kolumna nie ma wartości. code String! name String!
id ID! Unikalny identyfikator kolumny.
text String Wartość kolumny w postaci tekstu (np. "United States"). Zwraca "", jeśli kolumna nie ma wartości.
type ColumnType! Typ kolumny.
updated_at Date Data ostatniej aktualizacji kolumny.
value JSON Surowa wartość kolumny w formacie JSON. Zwraca {"countryCode": "XX", "countryName": "..."}. Po aktualizacji dołącza dodatkowy znacznik czasu changed_at.

Przykładowa odpowiedź

{
  "data": {
    "items": [
      {
        "name": "My item",
        "column_values": [
          {
            "id": "country",
            "country": {
              "code": "US",
              "name": "United States"
            },
            "text": "United States",
            "value": "{\"countryCode\":\"US\",\"countryName\":\"United States\"}",
            "updated_at": "2026-03-21T08:26:30.268Z"
          }
        ]
      }
    ]
  }
}

Filtrowanie

Możesz filtrować elementy według wartości kraju za pomocą obiektu items_page. Kolumna kraju obsługuje następujące operatory:

Operator Wartość porównawcza Opis
any_of Tablica kodów krajów ISO-2 (np. ["US", "DE"]) lub [""] dla pustych wartości Zwraca elementy, których kraj pasuje do dowolnego z podanych kodów.
not_any_of Tablica kodów krajów ISO-2 (np. ["US"]) lub [""] dla pustych wartości Wyklucza elementy, których kraj pasuje do któregokolwiek z podanych kodów.
is_empty [] Zwraca elementy, dla których nie ustawiono wartości kraju.
is_not_empty [] Zwraca elementy, dla których ustawiono wartość kraju.
contains_text Fragment lub pełna nazwa kraju (np. "United") Zwraca elementy, których nazwa kraju zawiera podany tekst.
not_contains_text Fragment lub pełna nazwa kraju (np. "United") Wyklucza elementy, których nazwa kraju zawiera podany tekst.

Przykłady

Filtrowanie według kodu kraju

Ten przykład zwraca wszystkie elementy, w których kolumna kraju ma wartość „Urugwaj”.

query {
  boards(ids: 1234567890) {
    items_page(
      query_params: {
        rules: [
          {
            column_id: "country"
            compare_value: ["UY"]
            operator: any_of
          }
        ]
      }
    ) {
      items {
        id
        name
        column_values {
          ... on CountryValue {
            country {
              code
              name
            }
          }
        }
      }
    }
  }
}
const query = `
  query ($boardId: [ID!], $columnId: ID!, $operator: ItemsQueryRuleOperator!, $compareValue: CompareValue!) {
    boards(ids: $boardId) {
      items_page(
        query_params: {
          rules: [
            { column_id: $columnId, compare_value: $compareValue, operator: $operator }
          ]
        }
      ) {
        items {
          id
          name
        }
      }
    }
  }
`;

const variables = {
  boardId: 1234567890,
  columnId: "country",
  compareValue: ["UY"],
  operator: "any_of",
};

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

Filtrowanie według nazwy kraju

Ten przykład zwraca wszystkie elementy, których nazwa kraju zawiera tekst „United”.

query {
  boards(ids: 1234567890) {
    items_page(
      query_params: {
        rules: [
          {
            column_id: "country"
            compare_value: "United"
            operator: contains_text
          }
        ]
      }
    ) {
      items {
        id
        name
      }
    }
  }
}

Filtrowanie według pustej wartości kraju

Ten przykład zwraca wszystkie elementy na wskazanej tablicy, dla których nie ustawiono wartości kraju.

query {
  boards(ids: 1234567890) {
    items_page(
      query_params: {
        rules: [
          {
            column_id: "country"
            compare_value: []
            operator: is_empty
          }
        ]
      }
    ) {
      items {
        id
        name
      }
    }
  }
}

Mutacje

Tworzenie kolumny

Wymagany zakres: boards:write

Możesz utworzyć kolumnę kraju za pomocą ogólnej mutacji create_column. Nie ma osobnej, typowanej mutacji create_country_column.

mutation {
  create_column(
    board_id: 1234567890
    title: "Country"
    column_type: country
  ) {
    id
    title
    type
  }
}

Aktualizowanie wartości

Możesz zaktualizować wartość kolumny kraju za pomocą change_multiple_column_values. Przekaż obiekt JSON z polami countryCode (kod ISO-2) i countryName (pełna nazwa kraju).

Mutacja change_simple_column_value nie jest obsługiwana dla kolumny kraju. Użyj change_multiple_column_values.

change_multiple_column_values

mutation {
  change_multiple_column_values(
    item_id: 9876543210
    board_id: 1234567890
    column_values: "{\"country\": {\"countryCode\": \"US\", \"countryName\": \"United States\"}}"
  ) {
    id
  }
}
const query = `
  mutation ($boardId: ID!, $itemId: ID!, $columnValues: JSON!) {
    change_multiple_column_values(
      item_id: $itemId
      board_id: $boardId
      column_values: $columnValues
    ) {
      id
    }
  }
`;

const variables = {
  boardId: 1234567890,
  itemId: 9876543210,
  columnValues: JSON.stringify({
    country: {
      countryCode: "SG",
      countryName: "Singapore"
    }
  })
};

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

Wymagane są zarówno countryCode, jak i countryName. Kod musi być prawidłowym dwuliterowym kodem ISO-2.

Ustawianie kraju podczas tworzenia elementu

Możesz ustawić wartość kraju podczas tworzenia elementu, przekazując ją w argumencie column_values.

mutation {
  create_item(
    board_id: 1234567890
    item_name: "New item"
    column_values: "{\"country\": {\"countryCode\": \"JP\", \"countryName\": \"Japan\"}}"
  ) {
    id
    name
  }
}

Czyszczenie wartości

Możesz wyczyścić wartość kolumny kraju za pomocą change_multiple_column_values, przekazując null.

mutation {
  change_multiple_column_values(
    item_id: 9876543210
    board_id: 1234567890
    column_values: "{\"country\": null}"
  ) {
    id
  }
}
const query = `
  mutation ($boardId: ID!, $itemId: ID!, $columnValues: JSON!) {
    change_multiple_column_values(
      item_id: $itemId
      board_id: $boardId
      column_values: $columnValues
    ) {
      id
    }
  }
`;

const variables = {
  boardId: 1234567890,
  itemId: 9876543210,
  columnValues: JSON.stringify({
    country: null
  })
};

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

Odczytywanie konfiguracji kolumny

Możesz pobrać ustawienia kolumny kraju za pomocą pola settings tej kolumny. Kolumna kraju nie ma konfigurowalnych ustawień, dlatego pole settings zwraca pusty obiekt JSON.

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

Przykładowa odpowiedź

{
  "data": {
    "boards": [
      {
        "columns": [
          {
            "id": "country",
            "title": "Country",
            "type": "country",
            "settings": {}
          }
        ]
      }
    ]
  }
}

Pobieranie schematu typu kolumny

Możesz pobrać schemat JSON ustawień kolumny kraju programowo 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: country
  )
}
{
  "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": {},
            "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ń kolumn, dynamicznego generowania interfejsów lub przekazywania kontekstu agentom AI. Dowiedz się więcej o formacie odpowiedzi schematu.