Dokumentacja dla programistów

Pola obiektu

Budowa aplikacjiAplikacje monday.com
Aktualizacja 2026-02-25

Typ obiektu to pole złożone z innych pól. Zwraca listę innych pól, statycznie lub dynamicznie. Każde pole może też obsługiwać opcje zdalne.

Informacje referencyjne

Schemat

Schemat definiuje podelementy, z których składa się obiekt.

Schemat statyczny

Wybierz schemat statyczny, jeśli pola w obiekcie nie będą się zmieniać. Każdy podelement możesz skonfigurować w Developer Center:

  • Tytuł podelementu: Wpisz unikalną nazwę podelementu schematu.
  • Klucz podelementu: Wpisz unikalny identyfikator podelementu schematu.
  • Wybierz typ prosty: Wybierz jeden z dostępnych typów.
  • Czy to tablica? Wybierz, czy pole jest tablicą.
Konfigurowanie schematu statycznego z polami "name" i "email"

Schemat dynamiczny

Schemat dynamiczny pozwala wybrać pola podczas działania. Wybierz tę opcję, jeśli chcesz programowo kontrolować schemat lub korzystasz z zależności. Musisz dodać adres URL schematu, który zwraca listę pól do skonfigurowania.

Po załadowaniu pola monday wyśle żądanie pod adres URL schematu. Pola uwzględnione w odpowiedzi zostaną wyświetlone użytkownikowi.

Adres URL schematu powinien zwracać obiekt JSON. Każdy klucz to unikalny klucz pola, a każda wartość to obiekt zawierający:

  • title: etykieta pola wyświetlana użytkownikowi
  • type: primitive lub custom
  • primitiveType (jeśli dotyczy): string, number, boolean lub date
  • fieldTypeKey (w przypadku pól niestandardowych)
  • isNullable: określa, czy użytkownik może pozostawić pole puste
  • isOptional: określa, czy pole jest wymagane podczas sprawdzania poprawności ładunku schematu
  • isArray: określa, czy użytkownik może wybrać wiele wartości

Zawsze uwzględniaj isOptional i ustawiaj je na tę samą wartość co isNullable. Jeśli pominiesz właściwość isOptional dla pola, może ono nie działać zgodnie z oczekiwaniami podczas działania.

{
  "name": {
    "title": "User name",              // Label shown to the user
    "type": "primitive",               // Type - primitive or custom
    "primitiveType": "string",         // Used only for primitive fields
    "isNullable": false,               // Use true if the user can leave the field blank
    "isOptional": false,               // Should match isNullable
    "isArray": true                    // Use true if user can choose multiple options
  },
  "email": {
    "title": "Email",
    "type": "primitive",
    "primitiveType": "string",
    "isNullable": false,
    "isOptional": false,
    "isArray": false
  },
  "transformationType": {
    "title": "Logins",
    "type": "custom",
    "fieldTypeKey": "logins",          // Feature's unique key to reference custom fields
    "isNullable": false,
    "isOptional": false,
    "isArray": false
  }
}
router.post('/fields/object', (req, res) => {
  res.send({
    name: {
      title: "User name",
      type: "primitive",
      primitiveType: "string",
      isNullable: false,
      isOptional: false,    
      isArray: true
    },
    email: {
      title: "Email",
      type: "primitive",
      primitiveType: "string",
      isNullable: false,
      isOptional: false,     
      isArray: false
    },
    transformationType: {
      title: "Logins",
      type: "custom",
      fieldTypeKey: "logins", // Use the feature's unique key
      isNullable: false,
      isOptional: false,      
      isArray: false
    }
  });
});

Zależności

Obiekt może obsługiwać zależności wymagane i opcjonalne. Zależności te zostaną przekazane do adresu URL schematu. Każda zależność ma typ i klucz pola.

Pola obiektu - ilustracja 2

Przykładowe żądanie

Poniższe żądanie przedstawia obiekt jako pole wejściowe w bloku akcji.

{
  "payload": {
    "blockKind": "action",
    "credentialsValues": { 
      "credentials-key": { 
        "userCredentialsId": 12345, 
        "accessToken": "abc1234" 
      } 
    },
    "inboundFieldValues": {
      "object": {
        "email": "Hello world",
        "name": ["Dipro"],
        "lastCall": "1993-08-27"
      }
    },
    "inputFields": {
      "object": {
        "email": "Hello world",
        "name": ["Dipro"],
        "lastCall": "1993-08-27"
      }
    },
    "recipeId": 629186,
    "integrationId": 398515811
  },
  "runtimeMetadata": {
    "actionUuid": "6b68c693284f082e506361b1b5430955",
    "triggerUuid": "176d9c746aac92c59cce735b949daec5"
  }
}