Dokumentacja dla programistów

E-mail

Aktualizacja 2026-09-06

Kolumna e-mail pozwala przypisać adres e-mail do elementu i wysłać wiadomość do tej osoby jednym kliknięciem. Każda wartość przechowuje adres e-mail oraz wyświetlaną etykietę tekstową.

Za pomocą API kolumna e-mail obsługuje odczytywanie, filtrowanie, aktualizowanie i czyszczenie wartości.

Typ kolumny Typ implementacji Obsługiwane operacje
email EmailValue
  • Odczyt: Tak
  • Filtrowanie: Tak
  • Aktualizowanie: Tak
  • Czyszczenie: Tak

Zapytania

Kolumny e-mail można odpytywać za pomocą pola column_values w obiekcie items, korzystając z wbudowanego fragmentu dla EmailValue.

query {
  items(ids: [1234567890, 9876543210]) {
    name
    column_values {
      ... on EmailValue {
        id
        email
        label
        text
        value
        updated_at
      }
    }
  }
}
const query = `
  query ($itemIds: [ID!], $columnType: [ColumnType!]) {
    items(ids: $itemIds) {
      name
      column_values(types: $columnType) {
        ... on EmailValue {
          id
          email
          label
          text
          value
          updated_at
        }
      }
    }
  }
`;

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

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 EmailValue.

Pole Opis
column Column! Kolumna, do której należy wartość, wraz z jej id i title.
email String Adres e-mail. Zwraca null, jeśli kolumna jest pusta.
id ID! Unikalny identyfikator kolumny.
label String Wyświetlana etykieta tekstowa. Jeśli użytkownik nie ustawi osobnego tekstu do wyświetlenia, jej wartość będzie taka sama jak wartość email. Zwraca null, jeśli kolumna jest pusta.
text String Połączona reprezentacja tekstowa w formacie "label - email". Zwraca "", jeśli kolumna jest pusta.
type ColumnType! Typ kolumny (email).
updated_at Date Data ostatniej aktualizacji kolumny.
value JSON Surowa wartość kolumny jako ciąg JSON zawierający klucze email, text i changed_at. Zwraca null, jeśli kolumna jest pusta.

Przykładowa odpowiedź

{
  "data": {
    "items": [
      {
        "name": "Task A",
        "column_values": [
          {
            "id": "email",
            "email": "test@example.com",
            "label": "Test Contact",
            "text": "Test Contact - test@example.com",
            "value": "{\"email\":\"test@example.com\",\"text\":\"Test Contact\",\"changed_at\":\"2026-03-21T08:42:31.539Z\"}",
            "updated_at": null
          }
        ]
      }
    ]
  }
}

Filtrowanie

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

Operator Wartość porównania Opis
any_of Tablica wyświetlanych wartości tekstowych (np. ["Test Contact"]) Zwraca elementy, w których wyświetlany tekst kolumny e-mail jest zgodny z jedną z podanych wartości. Porównuje pole label, a nie surowy adres e-mail.
not_any_of Tablica wyświetlanych wartości tekstowych (np. ["Test Contact"]) Pomija elementy, w których wyświetlany tekst kolumny e-mail jest zgodny z którąkolwiek z podanych wartości.
contains_text Fragment lub cały ciąg tekstowy (np. ["@example.com"]) Zwraca elementy, których adres e-mail lub wyświetlany tekst zawiera podany ciąg.
not_contains_text Fragment lub cały ciąg tekstowy (np. ["@gmail"]) Pomija elementy, których adres e-mail lub wyświetlany tekst zawiera podany ciąg.
is_empty [] Zwraca elementy z pustą (nieustawioną) wartością e-mail.
is_not_empty [] Zwraca elementy, dla których ustawiono wartość e-mail.

Operatory any_of i not_any_of porównują wyświetlany tekst kolumny (label), a nie surowy adres e-mail. Jeśli wyświetlany tekst jest taki sam jak adres e-mail (czyli użytkownik nie ustawił osobnego tekstu do wyświetlenia), adres e-mail będzie pasować. Użyj contains_text, jeśli chcesz wyszukiwać konkretnie według adresu e-mail.

Przykłady

Filtrowanie według wyświetlanego tekstu

Ten przykład zwraca wszystkie elementy, w których wyświetlany tekst kolumny e-mail jest zgodny z wartością „Test Contact”.

query {
  boards(ids: 1234567890) {
    items_page(
      query_params: {
        rules: [
          {
            column_id: "email"
            compare_value: ["Test Contact"]
            operator: any_of
          }
        ]
      }
    ) {
      items {
        id
        name
        column_values {
          ... on EmailValue {
            email
            label
          }
        }
      }
    }
  }
}

Filtrowanie według domeny e-mail

Ten przykład zwraca wszystkie elementy, których adres e-mail lub wyświetlany tekst zawiera „@example.com”.

query {
  boards(ids: 1234567890) {
    items_page(
      query_params: {
        rules: [
          {
            column_id: "email"
            compare_value: ["@example.com"]
            operator: contains_text
          }
        ]
      }
    ) {
      items {
        id
        name
      }
    }
  }
}
import { ApiClient } from "@mondaydotcomorg/api";
const mondayApiClient = new ApiClient({ token: myToken });

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: "email",
  compareValue: ["@example.com"],
  operator: "contains_text",
};

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

Filtrowanie według pustych wartości

Ten przykład zwraca wszystkie elementy z pustą kolumną e-mail.

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

Mutacje

Aktualizowanie

Możesz zaktualizować kolumnę e-mail za pomocą change_simple_column_value lub change_multiple_column_values. W zależności od wybranej mutacji możesz przesłać wartości jako zwykłe ciągi tekstowe lub obiekty JSON.

change_simple_column_value

Prześlij adres e-mail i wyświetlany tekst jako jeden ciąg, rozdzielone spacją. Pierwszy element to adres e-mail, a wszystko po pierwszej spacji to wyświetlany tekst. Obie wartości są wymagane.

mutation {
  change_simple_column_value(
    item_id: 9876543210
    board_id: 1234567890
    column_id: "email"
    value: "example@example.com This is an example email"
  ) {
    id
  }
}
import { ApiClient } from "@mondaydotcomorg/api";
const mondayApiClient = new ApiClient({ token: myToken });

const query = `
  mutation (
    $boardId: ID!,
    $itemId: ID!,
    $columnId: String!,
    $columnValue: String!
  ) {
    change_simple_column_value(
      item_id: $itemId,
      board_id: $boardId,
      column_id: $columnId,
      value: $columnValue
    ) {
      id
    }
  }
`;

const variables = {
  boardId: 1234567890,
  itemId: 9876543210,
  columnId: "email",
  columnValue: "example@example.com This is an example email",
};

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

change_multiple_column_values

Prześlij klucze email i text jako obiekt JSON w column_values. Oba klucze są wymagane.

mutation {
  change_multiple_column_values(
    item_id: 9876543210
    board_id: 1234567890
    column_values: "{\"email\": {\"email\": \"example@example.com\", \"text\": \"This is an example email\"}}"
  ) {
    id
  }
}
import { ApiClient } from "@mondaydotcomorg/api";
const mondayApiClient = new ApiClient({ token: myToken });

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({
    email: {
      email: "example@example.com",
      text: "This is an example email"
    }
  }),
};

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

Ustawianie adresu e-mail podczas tworzenia elementu

Możesz ustawić wartość e-mail podczas tworzenia elementu, przekazując wartość kolumny e-mail w argumencie column_values.

mutation {
  create_item(
    board_id: 1234567890
    item_name: "New contact"
    column_values: "{\"email\": {\"email\": \"contact@example.com\", \"text\": \"Main Contact\"}}"
  ) {
    id
    name
  }
}

Czyszczenie

Możesz wyczyścić kolumnę e-mail za pomocą change_simple_column_value lub change_multiple_column_values.

change_simple_column_value

Przekaż pusty ciąg w value.

mutation {
  change_simple_column_value(
    item_id: 9876543210
    board_id: 1234567890
    column_id: "email"
    value: ""
  ) {
    id
  }
}

change_multiple_column_values

Przekaż null w column_values.

mutation {
  change_multiple_column_values(
    item_id: 9876543210
    board_id: 1234567890
    column_values: "{\"email\": null}"
  ) {
    id
  }
}

Odczytywanie konfiguracji kolumny

Aby sprawdzić ustawienia kolumny e-mail, wykonaj zapytanie o pole 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 zakodowany w formacie JSON.

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

Struktura odpowiedzi settings

Pole settings zwraca typowany obiekt JSON. W przypadku domyślnej kolumny e-mail będzie to pusty obiekt {}. Jeśli kolumna jest skonfigurowana, obiekt może zawierać:

Klucz Typ Opis
includePulseInSubject boolean Określa, czy nazwa elementu ma się znaleźć w temacie wiadomości.
ccPulse boolean Określa, czy adres e-mail elementu ma być dodawany do pola DW wysyłanych wiadomości.

Przykładowa odpowiedź settings (ustawienia domyślne)

{}

Przykładowa odpowiedź settings (skonfigurowane ustawienia)

{
  "includePulseInSubject": true,
  "ccPulse": true
}

Pobieranie schematu typu kolumny

Możesz programowo pobrać schemat JSON ustawień kolumny e-mail 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: email
  )
}
{
  "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": {
              "includePulseInSubject": {
                "type": "boolean",
                "description": "Whether to include the item name in the email subject"
              },
              "ccPulse": {
                "type": "boolean",
                "description": "Whether to CC the item email address"
              }
            },
            "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 sprawdzania poprawności ustawień kolumn, dynamicznego generowania interfejsów użytkownika lub przekazywania kontekstu agentom AI. Dowiedz się więcej o formacie odpowiedzi schematu.