Pola obiektu
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ą.
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żytkownikowitype:primitivelubcustomprimitiveType(jeśli dotyczy): string, number, boolean lub datefieldTypeKey(w przypadku pól niestandardowych)isNullable: określa, czy użytkownik może pozostawić pole pusteisOptional: określa, czy pole jest wymagane podczas sprawdzania poprawności ładunku schematuisArray: 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.
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"
}
}