Download OpenAPI specification:Download
The request is sent to the corezoid process before the page is loaded. The corezoid process decides whether to display the requested page or to redirect the user to another page. Optionally, data for dynamic injection into the page body can be sent in the response.
timeout | number Default: 30 |
Array of objects The list of request results |
{- "timeout": 30,
- "ops": [
- {
- "conv_id": "{{CONV_ID}}",
- "company_id": "{{COMPANY_ID}}",
- "type": "create",
- "obj": "task",
- "data": {
- "body": {
- "page": "index",
- "context": {
- "actorId": "111",
- "rootActorId": "123",
- "appId": "124",
- "timeZoneOffset": -120
}, - "query": { }
}, - "path": "/get",
- "sessionData": {
- "userInfo": {
- "id": "12",
- "nick": "John Doe",
- "login": "john.doe@corezod.com"
}
}
}
}
]
}
{- "code": 200,
- "data": {
- "viewModel": {
- "key": "value"
}, - "language": "language"
}
}
The request is sent to the Corezoid process when a button is clicked or when interacting with a component which submitOnChange property is set to true. The request's body contains all information about the component that initiated the request and the values of all fields in the current form. The Corezoid process makes decisions regarding changes on the existing page, displaying notifications, or redirecting the user to another page.
timeout | number Default: 30 |
Array of objects The list of request results |
{- "timeout": 30,
- "ops": [
- {
- "conv_id": "{{CONV_ID}}",
- "company_id": "{{COMPANY_ID}}",
- "type": "create",
- "obj": "task",
- "data": {
- "body": {
- "page": "index",
- "query": { },
- "context": {
- "actorId": "111",
- "rootActorId": "123",
- "appId": "124",
- "timeZoneOffset": -120
}, - "formId": "logIn",
- "sectionId": "credentials",
- "buttonId": "submit",
- "buttonData": {
- "action": "submitOnScroll",
- "length": 10
}, - "data": {
- "login": "admin",
- "password": "qwerty"
}
}, - "path": "/send",
- "sessionData": {
- "userInfo": {
- "id": "12",
- "nick": "John Doe",
- "login": "john.doe@corezod.com"
}
}
}
}
]
}
{- "code": 200,
- "data": {
- "changes": [
- {
- "id": "componentId",
- "visibility": "hidden",
- "skipSubmitOnChange": false
}
]
}
}
Array of objects (Form) | |
object | |
Array of objects (notification) | |
query | object Query string parameters |
styleClass | string css class that is defined in 'styles.css' |
{- "forms": [
- {
- "id": "string",
- "title": "string",
- "visibility": "visible",
- "grid": {
- "type": "one_column",
- "components": { },
- "styleClass": "my-custom-class"
}, - "sections": [
- {
- "id": "string",
- "type": "body",
- "visibility": "visible",
- "styleClass": "my-custom-class",
- "header": [
- {
- "id": "component-1",
- "visibility": "visible",
- "row": "",
- "w": "100",
- "styleClass": "my-custom-class",
- "class": "label",
- "tooltip": "tooltip text",
- "value": "Lorem ipsulum",
- "align": "left"
}
], - "modalHeader": [
- { }
], - "contentLoop": [
- {
- "key": "value"
}
], - "content": [
- { }
]
}
]
}
], - "grid": {
- "type": "one_column",
- "components": { },
- "header": {
- "class": "string"
}, - "sideBar": {
- "components": {
- "center": [
- "id1"
], - "footer": [
- "id1"
], - "header": [
- "id1"
]
}, - "styleClass": "my-custom-class"
}
}, - "notifications": [
- {
- "type": "success",
- "title": "Error",
- "helperText": "api timeout",
- "expire": "auto"
}
], - "query": {
- "key": "value"
}, - "styleClass": "my-custom-class"
}
id | string |
title | string |
visibility | string Enum: "visible" "hidden" "disabled" Component visibility :
|
object (grid) | |
Array of objects (Container for grouping the components) |
{- "id": "string",
- "title": "string",
- "visibility": "visible",
- "grid": {
- "type": "one_column",
- "components": { },
- "styleClass": "my-custom-class"
}, - "sections": [
- {
- "id": "string",
- "type": "body",
- "visibility": "visible",
- "styleClass": "my-custom-class",
- "header": [
- {
- "id": "component-1",
- "visibility": "visible",
- "row": "",
- "w": "100",
- "styleClass": "my-custom-class",
- "class": "label",
- "tooltip": "tooltip text",
- "value": "Lorem ipsulum",
- "align": "left"
}
], - "modalHeader": [
- { }
], - "contentLoop": [
- {
- "key": "value"
}
], - "content": [
- { }
]
}
]
}
id required | string Identifier of the component (must be unique within the scope of the form) |
visibility | string Default: "visible" Enum: "visible" "hidden" "disabled" Component visibility :
|
row | string Row number. Components with the same row number will be aligned in one row |
w | string Relative width of the component in the row (%). If not specified, the width will be the same for all components in the row |
styleClass | string css class that is defined in 'styles.css' |
value | boolean Value of the component |
required | boolean Default: false Enum: true false If set to true, this will impact the visibility of the submit button on this form. “Labels” allows the user to display information to other users. |
error | boolean Default: false Enum: true false Error flag |
errorMsg | string Error message. Will be visible when component's 'error' flag is set to true |
helpMsg | string Help message. Will be visible when component's 'error' flag is set to false |
submitOnChange | boolean Default: false Enum: true false if true, changes of the element's value will trigger /send request. |
class required | string Value: "check" Class of the component |
title | string Title text |
{- "id": "component-1",
- "visibility": "visible",
- "row": "",
- "w": "100",
- "styleClass": "my-custom-class",
- "value": true,
- "required": false,
- "error": false,
- "errorMsg": "This field contains an error",
- "helpMsg": "This information is needed to make our product better",
- "submitOnChange": false,
- "class": "check",
- "title": "Element title"
}
id required | string Identifier of the component (must be unique within the scope of the form) |
visibility | string Default: "visible" Enum: "visible" "hidden" "disabled" Component visibility :
|
row | string Row number. Components with the same row number will be aligned in one row |
w | string Relative width of the component in the row (%). If not specified, the width will be the same for all components in the row |
styleClass | string css class that is defined in 'styles.css' |
value | boolean Default: false Value of the component |
required | boolean Default: false Enum: true false If set to true, this will impact the visibility of the submit button on this form. “Labels” allows the user to display information to other users. |
error | boolean Default: false Enum: true false Error flag |
errorMsg | string Error message. Will be visible when component's 'error' flag is set to true |
helpMsg | string Help message. Will be visible when component's 'error' flag is set to false |
submitOnChange | boolean Default: false Enum: true false if true, changes of the element's value will trigger /send request. |
class required | string Value: "toggle" Class of the component |
title | string Title text |
align | string Enum: "left" "right" "center" Horizontal alignement |
object extra settings |
{- "id": "component-1",
- "visibility": "visible",
- "row": "",
- "w": "100",
- "styleClass": "my-custom-class",
- "value": false,
- "required": false,
- "error": false,
- "errorMsg": "This field contains an error",
- "helpMsg": "This information is needed to make our product better",
- "submitOnChange": false,
- "class": "toggle",
- "title": "Element title",
- "align": "left",
- "extra": {
- "size": "medium"
}
}
id required | string Identifier of the component (must be unique within the scope of the form) |
visibility | string Default: "visible" Enum: "visible" "hidden" "disabled" Component visibility :
|
row | string Row number. Components with the same row number will be aligned in one row |
w | string Relative width of the component in the row (%). If not specified, the width will be the same for all components in the row |
styleClass | string css class that is defined in 'styles.css' |
class required | string Value: "slider" Class of the component |
value | string Value of the slider |
type | string Default: "default" Enum: "default" "skillBar" Type of the slider |
title | string Title text |
submitOnChange | boolean Default: false Enum: true false if true, changes of the element's value will trigger /send request. |
object extra settings |
{- "id": "component-1",
- "visibility": "visible",
- "row": "",
- "w": "100",
- "styleClass": "my-custom-class",
- "class": "slider",
- "value": "0",
- "type": "default",
- "title": "Element title",
- "submitOnChange": false,
- "extra": {
- "min": 0,
- "max": 100,
- "step": 1,
- "measure": "USD",
- "dots": false
}
}
id required | string Identifier of the component (must be unique within the scope of the form) |
visibility | string Default: "visible" Enum: "visible" "hidden" "disabled" Component visibility :
|
row | string Row number. Components with the same row number will be aligned in one row |
w | string Relative width of the component in the row (%). If not specified, the width will be the same for all components in the row |
styleClass | string css class that is defined in 'styles.css' |
class required | string Value: "label" Class of the component |
tooltip | string Tooltips display informative text when users hover over an element. |
value | string String with bbcode |
align | string Enum: "left" "right" "center" Horizontal alignement |
{- "id": "component-1",
- "visibility": "visible",
- "row": "",
- "w": "100",
- "styleClass": "my-custom-class",
- "class": "label",
- "tooltip": "tooltip text",
- "value": "Lorem ipsulum",
- "align": "left"
}
id required | string Identifier of the component (must be unique within the scope of the form) |
visibility | string Default: "visible" Enum: "visible" "hidden" "disabled" Component visibility :
|
row | string Row number. Components with the same row number will be aligned in one row |
w | string Relative width of the component in the row (%). If not specified, the width will be the same for all components in the row |
styleClass | string css class that is defined in 'styles.css' |
class required | string Value: "divider" Class of the component |
{- "id": "component-1",
- "visibility": "visible",
- "row": "",
- "w": "100",
- "styleClass": "my-custom-class",
- "class": "divider"
}
id required | string Identifier of the component (must be unique within the scope of the form) |
visibility | string Default: "visible" Enum: "visible" "hidden" "disabled" Component visibility :
|
row | string Row number. Components with the same row number will be aligned in one row |
w | string Relative width of the component in the row (%). If not specified, the width will be the same for all components in the row |
styleClass | string css class that is defined in 'styles.css' |
class required | string Value: "image" Class of the component |
value required | string url, or base64 |
align | string Enum: "left" "right" "center" Horizontal alignement |
required | object extra settings |
{- "id": "component-1",
- "visibility": "visible",
- "row": "",
- "w": "100",
- "styleClass": "my-custom-class",
- "class": "image",
- "align": "left",
- "extra": {
- "alt": "Logo"
}
}
id required | string Identifier of the component (must be unique within the scope of the form) |
visibility | string Default: "visible" Enum: "visible" "hidden" "disabled" Component visibility :
|
row | string Row number. Components with the same row number will be aligned in one row |
w | string Relative width of the component in the row (%). If not specified, the width will be the same for all components in the row |
styleClass | string css class that is defined in 'styles.css' |
class required | string Value: "file" Class of the component |
required | object |
align | string Enum: "left" "right" "center" Horizontal alignement |
{- "id": "component-1",
- "visibility": "visible",
- "row": "",
- "w": "100",
- "styleClass": "my-custom-class",
- "class": "file",
- "value": {
- "fileName": "ADSEFEFJJ12314FGG",
- "type": "image/png",
- "size": "1024",
- "title": "Logo.svg"
}, - "align": "left"
}
id required | string Identifier of the component (must be unique within the scope of the form) |
visibility | string Default: "visible" Enum: "visible" "hidden" "disabled" Component visibility :
|
row | string Row number. Components with the same row number will be aligned in one row |
w | string Relative width of the component in the row (%). If not specified, the width will be the same for all components in the row |
styleClass | string css class that is defined in 'styles.css' |
type | string Default: "default" Enum: "default" "preview" Visualization type :
|
class required | string Value: "carousel" Class of the component |
submitOnChange | boolean Default: false Enum: true false if true, changes of the element's value will trigger /send request. |
object (File object) | |
required | Array of objects |
{- "id": "component-1",
- "visibility": "visible",
- "row": "",
- "w": "100",
- "styleClass": "my-custom-class",
- "type": "default",
- "class": "carousel",
- "submitOnChange": false,
- "value": {
- "fileName": "ADSEFEFJJ12314FGG",
- "type": "image/png",
- "size": "1024",
- "title": "Logo.svg"
}, - "options": [
- {
- "title": "Element title",
- "value": {
- "fileName": "ADSEFEFJJ12314FGG",
- "type": "image/png",
- "size": "1024",
- "title": "Logo.svg"
}
}
]
}
id required | string Identifier of the component (must be unique within the scope of the form) |
visibility | string Default: "visible" Enum: "visible" "hidden" "disabled" Component visibility :
|
row | string Row number. Components with the same row number will be aligned in one row |
w | string Relative width of the component in the row (%). If not specified, the width will be the same for all components in the row |
styleClass | string css class that is defined in 'styles.css' |
title | string This value is used as a title for the copy chip |
class required | string Value: "copy" Class of the component |
tooltip | string Tooltips display informative text when users hover over an element. |
value | string Value that will be copied to the clipboard |
align | string Enum: "left" "right" "center" Horizontal alignement |
object extra settings |
{- "id": "component-1",
- "visibility": "visible",
- "row": "",
- "w": "100",
- "styleClass": "my-custom-class",
- "title": "ID",
- "class": "copy",
- "tooltip": "tooltip text",
- "value": "LoremIpsulum",
- "align": "left",
- "extra": {
- "notificationText": "Copied to clipboard"
}
}
id required | string Identifier of the component (must be unique within the scope of the form) |
visibility | string Default: "visible" Enum: "visible" "hidden" "disabled" Component visibility :
|
row | string Row number. Components with the same row number will be aligned in one row |
w | string Relative width of the component in the row (%). If not specified, the width will be the same for all components in the row |
styleClass | string css class that is defined in 'styles.css' |
object Value of the component | |
required | boolean Default: false Enum: true false If set to true, this will impact the visibility of the submit button on this form. “Labels” allows the user to display information to other users. |
error | boolean Default: false Enum: true false Error flag |
errorMsg | string Error message. Will be visible when component's 'error' flag is set to true |
helpMsg | string Help message. Will be visible when component's 'error' flag is set to false |
submitOnChange | boolean Default: false Enum: true false if true, changes of the element's value will trigger /send request. |
class required | string Value: "upload" Class of the component |
title | string Title text |
align | string Enum: "left" "right" "center" Horizontal alignement |
type | string Default: "default" Enum: "default" "webcam" Component type :
|
required | object extra settings |
{- "id": "component-1",
- "visibility": "visible",
- "row": "",
- "w": "100",
- "styleClass": "my-custom-class",
- "value": {
- "id": 34,
- "fileName": "ADSEFEFJJ12314FGG",
- "type": "application/pdf",
- "size": "1024",
- "title": "File.pdf"
}, - "required": false,
- "error": false,
- "errorMsg": "This field contains an error",
- "helpMsg": "This information is needed to make our product better",
- "submitOnChange": false,
- "class": "upload",
- "title": "Element title",
- "align": "left",
- "type": "default",
- "extra": {
- "accept": "image/png,application/pdf",
- "minSize": "10",
- "maxSize": "1024",
- "errorMsgInvalidFileType": "Invalid file type",
- "errorMsgMinImageSize": "File is to small",
- "errorMsgMaxImageSize": "File is to large",
- "api": {
- "auth": "Bearer eyJ1c2VySWQiOjEsIn"
}, - "screenshotFormat": "image/png",
- "videoConstraints": {
- "width": 1280,
- "height": 720,
- "facingMode": "user"
}, - "mirrored": false
}
}
id required | string Identifier of the component (must be unique within the scope of the form) |
visibility | string Default: "visible" Enum: "visible" "hidden" "disabled" Component visibility :
|
row | string Row number. Components with the same row number will be aligned in one row |
w | string Relative width of the component in the row (%). If not specified, the width will be the same for all components in the row |
styleClass | string css class that is defined in 'styles.css' |
value | any Value of the component |
required | boolean Default: false Enum: true false If set to true, this will impact the visibility of the submit button on this form. “Labels” allows the user to display information to other users. |
error | boolean Default: false Enum: true false Error flag |
errorMsg | string Error message. Will be visible when component's 'error' flag is set to true |
helpMsg | string Help message. Will be visible when component's 'error' flag is set to false |
submitOnChange | boolean Default: false Enum: true false if true, changes of the element's value will trigger /send request. |
class required | string Value: "attachment" Class of the component |
required | object extra settings |
{- "id": "component-1",
- "visibility": "visible",
- "row": "",
- "w": "100",
- "styleClass": "my-custom-class",
- "value": null,
- "required": false,
- "error": false,
- "errorMsg": "This field contains an error",
- "helpMsg": "This information is needed to make our product better",
- "submitOnChange": false,
- "class": "attachment",
- "extra": {
- "multiple": true,
- "label": "Drop files to attach, or",
- "browseLinkLabel": "browse",
- "accept": "image/png,application/pdf",
- "maxFileSize": "1024",
- "api": {
- "auth": "Bearer eyJ1c2VySWQiOjEsIn"
}
}
}
id required | string Identifier of the component (must be unique within the scope of the form) |
visibility | string Default: "visible" Enum: "visible" "hidden" "disabled" Component visibility :
|
row | string Row number. Components with the same row number will be aligned in one row |
w | string Relative width of the component in the row (%). If not specified, the width will be the same for all components in the row |
styleClass | string css class that is defined in 'styles.css' |
class required | string Value: "widget" Class of the component |
type | string Default: "default" default default twilio onfido webComments amazonConnect |
submitOnChange | boolean Enum: true false if true, changes of the element's value will trigger /send request. |
required | object extra settings |
{- "id": "component-1",
- "visibility": "visible",
- "row": "",
- "w": "100",
- "styleClass": "my-custom-class",
- "class": "widget",
- "type": "default",
- "submitOnChange": false,
- "extra": {
- "allowFullScreen": false,
- "allow": "camera; microphone"
}
}
id required | string Identifier of the component (must be unique within the scope of the form) |
visibility | string Default: "visible" Enum: "visible" "hidden" "disabled" Component visibility :
|
row | string Row number. Components with the same row number will be aligned in one row |
w | string Relative width of the component in the row (%). If not specified, the width will be the same for all components in the row |
styleClass | string css class that is defined in 'styles.css' |
required | boolean Default: false Enum: true false If set to true, this will impact the visibility of the submit button on this form. “Labels” allows the user to display information to other users. |
error | boolean Default: false Enum: true false Error flag |
errorMsg | string Error message. Will be visible when component's 'error' flag is set to true |
helpMsg | string Help message. Will be visible when component's 'error' flag is set to false |
submitOnChange | boolean Default: false Enum: true false if true, changes of the element's value will trigger /send request. |
class required | string Value: "edit" Class of the component |
type | string Default: "text" text text int float phone email password multiline date |
title | string Title text |
autoFocus | boolean Default: false |
placeholder | string |
object | |
mask | string The mask pattern (could only be applied on input), where definitions are:
|
value | string Value of the component |
regexp | string |
object extra settings |
{- "id": "component-1",
- "visibility": "visible",
- "row": "",
- "w": "100",
- "styleClass": "my-custom-class",
- "required": false,
- "error": false,
- "errorMsg": "This field contains an error",
- "helpMsg": "This information is needed to make our product better",
- "submitOnChange": false,
- "class": "edit",
- "type": "text",
- "title": "Element title",
- "autoFocus": false,
- "placeholder": "Enter your name",
- "maskOptions": {
- "placeholderChar": "_",
- "lazy": true
}, - "mask": "+{38}(000)000-00-00",
- "value": "string",
- "regexp": [
- "^a-z"
], - "extra": {
- "length": 2
}
}
id required | string Identifier of the component (must be unique within the scope of the form) |
visibility | string Default: "visible" Enum: "visible" "hidden" "disabled" Component visibility :
|
row | string Row number. Components with the same row number will be aligned in one row |
w | string Relative width of the component in the row (%). If not specified, the width will be the same for all components in the row |
styleClass | string css class that is defined in 'styles.css' |
value | string Value of the component |
required | boolean Default: false Enum: true false If set to true, this will impact the visibility of the submit button on this form. “Labels” allows the user to display information to other users. |
error | boolean Default: false Enum: true false Error flag |
errorMsg | string Error message. Will be visible when component's 'error' flag is set to true |
helpMsg | string Help message. Will be visible when component's 'error' flag is set to false |
submitOnChange | boolean Default: false Enum: true false if true, changes of the element's value will trigger /send request. |
class required | string Value: "select" Class of the component |
type | string (Type of the select component) Default: "default" default default autocomplete |
title | string Title text |
placeholder | string |
resettable | boolean (If true, reset button will be displayed) Default: false |
submitOnScroll | boolean (If true, /send request will be triggered on scroll) Default: false |
Array of objects |
{- "id": "component-1",
- "visibility": "visible",
- "row": "",
- "w": "100",
- "styleClass": "my-custom-class",
- "value": "option-id",
- "required": false,
- "error": false,
- "errorMsg": "This field contains an error",
- "helpMsg": "This information is needed to make our product better",
- "submitOnChange": false,
- "class": "select",
- "type": "default",
- "title": "Element title",
- "placeholder": "Select your favorite number",
- "resettable": false,
- "submitOnScroll": false,
- "options": [
- {
- "title": "Option title",
- "value": "option-id",
- "visibility": "visible"
}
]
}
id required | string Identifier of the component (must be unique within the scope of the form) |
visibility | string Default: "visible" Enum: "visible" "hidden" "disabled" Component visibility :
|
row | string Row number. Components with the same row number will be aligned in one row |
w | string Relative width of the component in the row (%). If not specified, the width will be the same for all components in the row |
styleClass | string css class that is defined in 'styles.css' |
Array of objects Value of the component | |
required | boolean Default: false Enum: true false If set to true, this will impact the visibility of the submit button on this form. “Labels” allows the user to display information to other users. |
error | boolean Default: false Enum: true false Error flag |
errorMsg | string Error message. Will be visible when component's 'error' flag is set to true |
helpMsg | string Help message. Will be visible when component's 'error' flag is set to false |
submitOnChange | boolean Default: false Enum: true false if true, changes of the element's value will trigger /send request. |
class required | string Value: "multiselect" Class of the component |
title | string Title text |
placeholder | string |
Array of objects |
{- "id": "component-1",
- "visibility": "visible",
- "row": "",
- "w": "100",
- "styleClass": "my-custom-class",
- "value": [
- {
- "value": "option-1",
- "title": "option one"
}
], - "required": false,
- "error": false,
- "errorMsg": "This field contains an error",
- "helpMsg": "This information is needed to make our product better",
- "submitOnChange": false,
- "class": "multiselect",
- "title": "Element title",
- "placeholder": "Select your favorite numbers",
- "options": [
- {
- "title": "Option title",
- "value": "option-id",
- "visibility": "visible",
- "tooltip": "tooltip text"
}
]
}
id required | string Identifier of the component (must be unique within the scope of the form) |
visibility | string Default: "visible" Enum: "visible" "hidden" "disabled" Component visibility :
|
row | string Row number. Components with the same row number will be aligned in one row |
w | string Relative width of the component in the row (%). If not specified, the width will be the same for all components in the row |
styleClass | string css class that is defined in 'styles.css' |
value | string Value of the component |
required | boolean Default: false Enum: true false If set to true, this will impact the visibility of the submit button on this form. “Labels” allows the user to display information to other users. |
error | boolean Default: false Enum: true false Error flag |
errorMsg | string Error message. Will be visible when component's 'error' flag is set to true |
helpMsg | string Help message. Will be visible when component's 'error' flag is set to false |
submitOnChange | boolean Default: false Enum: true false if true, changes of the element's value will trigger /send request. |
class required | string Value: "radio" Class of the component |
object extra settings | |
title | string Title text |
align | string (alignement) Default: "left" Enum: "left" "right" "center" |
Array of objects |
{- "id": "component-1",
- "visibility": "visible",
- "row": "",
- "w": "100",
- "styleClass": "my-custom-class",
- "value": "option-id",
- "required": false,
- "error": false,
- "errorMsg": "This field contains an error",
- "helpMsg": "This information is needed to make our product better",
- "submitOnChange": false,
- "class": "radio",
- "extra": {
- "direction": "column"
}, - "title": "Element title",
- "align": "left",
- "options": [
- {
- "title": "Option title",
- "value": "option-id",
- "visibility": "visible"
}
]
}
id required | string Identifier of the component (must be unique within the scope of the form) |
visibility | string Default: "visible" Enum: "visible" "hidden" "disabled" Component visibility :
|
row | string Row number. Components with the same row number will be aligned in one row |
w | string Relative width of the component in the row (%). If not specified, the width will be the same for all components in the row |
styleClass | string css class that is defined in 'styles.css' |
object Value of the component | |
required | boolean Default: false Enum: true false If set to true, this will impact the visibility of the submit button on this form. “Labels” allows the user to display information to other users. |
error | boolean Default: false Enum: true false Error flag |
errorMsg | string Error message. Will be visible when component's 'error' flag is set to true |
helpMsg | string Help message. Will be visible when component's 'error' flag is set to false |
submitOnChange | boolean Default: false Enum: true false if true, changes of the element's value will trigger /send request. |
class required | string Value: "phone" Class of the component |
title | string Title text |
object | |
regexp | string (Regular expression for validation of the countryCode+number) |
Array of objects | |
object extra settings |
{- "id": "component-1",
- "visibility": "visible",
- "row": "",
- "w": "100",
- "styleClass": "my-custom-class",
- "value": {
- "countryCode": "380",
- "number": "3567322"
}, - "required": false,
- "error": false,
- "errorMsg": "This field contains an error",
- "helpMsg": "This information is needed to make our product better",
- "submitOnChange": false,
- "class": "phone",
- "title": "Element title",
- "placeholder": {
- "countryCode": "380",
- "number": "3567322"
}, - "regexp": "^[0-9]{9,17}$",
- "options": [
- {
- "title": "+380",
- "value": "380"
}
], - "extra": {
- "placeholder": {
- "countryCode": "code",
- "number": "number"
}
}
}
id required | string Identifier of the component (must be unique within the scope of the form) |
visibility | string Default: "visible" Enum: "visible" "hidden" "disabled" Component visibility :
|
row | string Row number. Components with the same row number will be aligned in one row |
w | string Relative width of the component in the row (%). If not specified, the width will be the same for all components in the row |
styleClass | string css class that is defined in 'styles.css' |
class required | string Value: "tab" Class of the component |
value | string (Selected tab id) |
align | string Enum: "left" "right" "center" Horizontal alignement |
Array of objects | |
submitOnChange | boolean Enum: true false if true, changes of the element's value will trigger /send request. |
{- "id": "component-1",
- "visibility": "visible",
- "row": "",
- "w": "100",
- "styleClass": "my-custom-class",
- "class": "tab",
- "value": "first_tab",
- "align": "left",
- "options": [
- {
- "title": "First tab",
- "value": "first_tab",
- "error": false,
- "visibility": "visible",
- "styleClass": "my-custom-class"
}
], - "submitOnChange": false
}
id required | string Identifier of the component (must be unique within the scope of the form) |
visibility | string Default: "visible" Enum: "visible" "hidden" "disabled" Component visibility :
|
row | string Row number. Components with the same row number will be aligned in one row |
w | string Relative width of the component in the row (%). If not specified, the width will be the same for all components in the row |
styleClass | string css class that is defined in 'styles.css' |
class required | string Value: "comments" Class of the component |
placeholder | string (Placeholder text) |
Array of objects (message) |
{- "id": "component-1",
- "visibility": "visible",
- "row": "",
- "w": "100",
- "styleClass": "my-custom-class",
- "class": "comments",
- "placeholder": "There is no messages yet",
- "value": [
- {
- "date": "01.01.2021 14:01",
- "description": "description",
- "location": "location",
- "value": "Text 1",
- "user": {
- "name": "John Doe"
}
}
]
}
id required | string Identifier of the component (must be unique within the scope of the form) |
visibility | string Default: "visible" Enum: "visible" "hidden" "disabled" Component visibility :
|
row | string Row number. Components with the same row number will be aligned in one row |
w | string Relative width of the component in the row (%). If not specified, the width will be the same for all components in the row |
styleClass | string css class that is defined in 'styles.css' |
class required | any Value: "table" |
type | string Default: "default" The type of the table default default radio check group |
Array of objects | |
Array of objects (Table row) | |
submitOnScroll | boolean (If true, /send request will be triggered on scroll) Default: false |
object extra settings |
{- "id": "component-1",
- "visibility": "visible",
- "row": "",
- "w": "100",
- "styleClass": "my-custom-class",
- "class": "table",
- "type": "default",
- "head": [
- {
- "value": "firstName",
- "title": "First name",
- "visibility": "visible",
- "styleClass": "my-custom-class"
}
], - "body": [
- {
- "value": "firtsRow",
- "groupValue": "string",
- "styleClass": "my-custom-class",
- "clickable": true,
- "options": [
- {
- "value": "firstName",
- "title": "John",
- "button": {
- "title": "Edit",
- "visibility": "visible",
- "extra": {
- "icon": "phone",
- "options": [
- {
- "title": "Option title",
- "value": "option-id",
- "visibility": "visible"
}
]
}
}, - "file": {
- "fileName": "ADSEFEFJJ12314FGG",
- "type": "image/png",
- "size": "1024",
- "title": "Logo.svg"
}, - "check": {
- "value": false,
- "visibility": "visible",
- "error": false
}, - "copy": {
- "value": "1234567890",
- "title": "Copy",
- "tooltip": "CopyTooltip",
- "visibility": "visible",
- "extra": {
- "notificationText": "Copied!"
}
}, - "styleClass": "my-custom-class"
}
]
}
], - "submitOnScroll": false,
- "extra": {
- "page": "1",
- "totalPages": "10",
- "rowsPerPage": "10",
- "rowsPerPageOptions": [
- "10",
- "20",
- "30"
], - "rowsPerPageTitle": "Row per page:",
- "rowsPerPageDescr": "1-10 of 100",
- "sort": {
- "value": "firstName",
- "order": "desc"
}
}
}
id required | string Identifier of the component (must be unique within the scope of the form) |
visibility | string Default: "visible" Enum: "visible" "hidden" "disabled" Component visibility :
|
row | string Row number. Components with the same row number will be aligned in one row |
w | string Relative width of the component in the row (%). If not specified, the width will be the same for all components in the row |
styleClass | string css class that is defined in 'styles.css' |
class required | string Value: "stepper" Class of the component |
type | string Default: "default" default default mobile |
title | string Title text |
value | string value of the component |
align | string (alignement) Default: "left" Enum: "left" "right" "center" |
object extra settings | |
Array of objects |
{- "id": "component-1",
- "visibility": "visible",
- "row": "",
- "w": "100",
- "styleClass": "my-custom-class",
- "class": "stepper",
- "type": "default",
- "title": "Element title",
- "value": "option-id",
- "align": "left",
- "extra": {
- "mobileVisible": false
}, - "options": [
- {
- "title": "Option title",
- "value": "option-id",
- "visibility": "visible",
- "completed": false
}
]
}
id required | string Identifier of the component (must be unique within the scope of the form) |
visibility | string Default: "visible" Enum: "visible" "hidden" "disabled" Component visibility :
|
row | string Row number. Components with the same row number will be aligned in one row |
w | string Relative width of the component in the row (%). If not specified, the width will be the same for all components in the row |
styleClass | string css class that is defined in 'styles.css' |
object Value of the component | |
required | boolean Default: false Enum: true false If set to true, this will impact the visibility of the submit button on this form. “Labels” allows the user to display information to other users. |
error | boolean Default: false Enum: true false Error flag |
errorMsg | string Error message. Will be visible when component's 'error' flag is set to true |
helpMsg | string Help message. Will be visible when component's 'error' flag is set to false |
submitOnChange | boolean Default: false Enum: true false if true, changes of the element's value will trigger /send request. |
class required | string Value: "otp" Class of the component |
type | string Default: "text" Enum: "text" "int" With "int" type sets the keyboard to numeric input mode on mobile devices. |
title | string Title text |
autoFocus | boolean Default: false |
object extra settings |
{- "id": "component-1",
- "visibility": "visible",
- "row": "",
- "w": "100",
- "styleClass": "my-custom-class",
- "value": {
- "otp-0": "0",
- "otp-1": "1",
- "otp-2": "2",
- "otp-3": "3"
}, - "required": false,
- "error": false,
- "errorMsg": "This field contains an error",
- "helpMsg": "This information is needed to make our product better",
- "submitOnChange": false,
- "class": "otp",
- "type": "text",
- "title": "Element title",
- "autoFocus": false,
- "extra": {
- "length": 4
}
}
id required | string Identifier of the component (must be unique within the scope of the form) |
visibility | string Default: "visible" Enum: "visible" "hidden" "disabled" Component visibility :
|
row | string Row number. Components with the same row number will be aligned in one row |
w | string Relative width of the component in the row (%). If not specified, the width will be the same for all components in the row |
styleClass | string css class that is defined in 'styles.css' |
class required | string Value: "signature" Class of the component |
object Value of the component | |
title | string Title text |
object extra settings | |
required | boolean Default: false Enum: true false If set to true, this will impact the visibility of the submit button on this form. “Labels” allows the user to display information to other users. |
error | boolean Default: false Enum: true false Error flag |
errorMsg | string Error message. Will be visible when component's 'error' flag is set to true |
helpMsg | string Help message. Will be visible when component's 'error' flag is set to false |
submitOnChange | boolean Default: false Enum: true false if true, changes of the element's value will trigger /send request. |
{- "id": "component-1",
- "visibility": "visible",
- "row": "",
- "w": "100",
- "styleClass": "my-custom-class",
- "class": "signature",
- "value": null,
- "title": "Element title",
- "extra": {
- "strokeStyle": {
- "strokeColor": "#000000",
- "strokeWidth": 5,
- "lineCap": "round"
}, - "clearButtonTitle": "Clear",
- "saveButtonTitle": "Save"
}, - "required": false,
- "error": false,
- "errorMsg": "This field contains an error",
- "helpMsg": "This information is needed to make our product better",
- "submitOnChange": false
}
Injection of variable value into the page config: "Your personal discount is {{variableName}} %"
Example
{
"code":200,
"viewModel":{ "value": "10" }
}
+
{
"id":"label",
"value":"Your personal discount is {{value}} %"
}
=
{
"id":"label",
"value":"Your personal discount is 10 %"
}
Page localization is stored separately from the page configurtion
**Example**
/locale = common keys for all pages.
/pages/index/locale = keys for "index" page only.
this two objects will be merged together, and all keys founded in page config for 'index' page will be replaced with values.
```javascript
{
"code":200,
"viewModel":{ "localeKey": "[[sayHello]], [[sayGoodbye]]", "name": "world" },
"language": "en",
}
+
/pages/index/locale
{
"sayHello": "Hello {{name}}",
"sayGoodbye": {
"en": "goodbye!",
"uа": "до побачення!"
}
}
+
/pages/index/config
{
"id":"label",
"value":"[[localeKey]]"
}
=
{
"id":"label",
"value":"Hello world, goodbye!"
}
```
Forms, sections, components that are defined in /definitions, can be reused across the pages.
Example
Folder structure:
/definitions
info
test
next
File name equals value of $ref attribute
Form reference:
{
"id": "info_test",
"type": "body",
"$ref": "#/info"
}
Section reference:
{
"id": "info_test",
"type": "body",
"sections": [
{
"id": "common",
"$ref": "#/test"
}
]
}
Button reference:
{
"class": "button",
"$ref": "#/next"
}
Bbcode - it is a string with pseudo code, that will be converted into HTML.
bbcode | HTML |
---|---|
[b]Bold text[/b] | Bold text |
[i]Italic text[/i] | Italic text |
[u]Underline text[/u] | Underline text |
[ul][*]Unordered list[/*][/ul] |
|
[iurl=log_in]Internal link[/iurl] | Internal link |
[url=https://simulator.company] External link[/url] | External link |
[div]New line[/div] | New line |
[br] | |
[color=red]Text color[/color] | Text color |
[size=12]Font size[/size] | Font size |
[bg=green]Text back ground[/bg] | Text back ground |
Each component has a default class that can be accessed and styled.Additionally, to style a specific element, use the "styleClass" property in the component.All style changes should be made in the "style.css" file.
.yourClass {
/* your styles */
}
To style scripts, we use Less - language extension for css. The following example shows how you can change the color theme of a script:
/* Colors */
@fontColor: #000000;
@secondaryColor: #EC9704;
@primaryColor: #F7C815;
@primaryOpacityColor: rgba(236,151,2, 0.5);
/* Button */
.button {
&__menu{
background-color: @primaryOpacityColor !important;
&__item{
background-color: @primaryColor;
}
}
/* Default button*/
&__default {
background-color: @primaryColor;
border-color: @primaryColor;
color: @fontColor;
&:hover,
&:focus {
background-color: @secondaryColor !important;
border-color: @secondaryColor !important;
color: @fontColor !important;
}
}
/* Text button */
&__text {
color: @primaryColor;
&:hover,
&:focus {
background-color: @primaryOpacityColor !important;
border-color: @primaryOpacityColor !important;
color: @fontColor !important;
}
}
/* Secondary button */
&__secondary {
border-color: @primaryColor;
color: @primaryColor;
&:hover,
&:focus {
background-color: @primaryOpacityColor !important;
border-color: @primaryColor !important;
color: @fontColor !important;
}
}
/* Tertiary button */
&__tertiary {
color: @fontColor;
&:hover,
&:focus {
background-color: @primaryOpacityColor !important;
border-color: @primaryOpacityColor !important;
color: @secondaryColor !important;
.fill{
fill: @secondaryColor !important;
}
}
}
/* Quaternary button */
&__quaternary {
background-color: @primaryOpacityColor;
border-color: @primaryColor;
color: @secondaryColor;
&:hover,
&:focus {
background-color: @primaryOpacityColor !important;
border-color: @primaryOpacityColor !important;
color: @secondaryColor !important;
}
}
}
/* Check */
.check {
.fill {
fill: @primaryColor !important;
}
}
/* Label */
.label{
}
/* Divider */
.divider{
}
/* Image */
.image{
}
/* File */
.file{
}
/* Carousel */
.carousel{
}
/* Copy */
.copy{
&__container{
&:hover,
&:focus {
.fill{
fill: @primaryColor
}
}
}
}
/* Upload */
.upload {
&__corner {
border-color: @primaryColor !important;
}
&__icon {
path {
fill: @primaryColor !important;
}
}
}
/* Widget */
.widget{
}
/* Edit */
.edit.focus {
.field {
border-color: @primaryColor !important;
}
.label {
color: @primaryColor !important;
}
}
.calendar {
background-color: @primaryOpacityColor !important;
.selected {
border-color: @primaryColor !important;
background-color: @primaryColor !important;
}
.button {
border-color: @primaryColor !important;
background-color: @primaryColor !important;
}
}
/* Select */
.select {
.focus {
.field {
border-color: @primaryColor !important;
}
.label {
color: @primaryColor !important;
}
}
}
/* Multiselect */
.multiselect.focus {
.field {
border-color: @primaryColor !important;
}
.label {
color: @primaryColor !important;
}
.chip {
border-color: @primaryColor !important;
}
}
/* Radio */
.radio {
.fill {
fill: @primaryColor !important;
}
}
/* Phone */
.phone{
}
/* Tab */
.tab {
&__item {
border-color: @primaryColor !important;
span {
color: @primaryColor !important;
}
}
}
/* Comments */
.comments{
}
/* Table */
.table {
.fill {
fill: @primaryColor !important;
}
&__pagination {
&__button {
color: @primaryColor !important;
border-color: @primaryColor !important;
}
}
&__button{
border-color: @primaryColor;
color: @primaryColor;
&:hover,
&:focus {
background-color: @primaryOpacityColor !important;
border-color: @primaryColor !important;
color: @fontColor !important;
}
}
}
/* Stepper */
.stepper{
}
.stepperMobile{
}
/* Otp */
.otp {
&__edit.focus {
.field {
border-color: @primaryColor !important;
}
}
}
/* Change the color of the progress bar */
.progressBar {
color: @primaryColor !important;
}
/* Section */
.section{
.close_btn{
.fill{
fill: @primaryColor !important;
}
}
&__modal__header{
background-color: @primaryColor;
}
}
/* Modal width */
.section {
&.modal {
.section__wrap {
max-width: 700px;
}
}
}
/* Slider */
.slider{
.rc-slider-track{
background-color: @primaryColor;
}
.rc-slider-handle{
background-color: @primaryColor;
}
.rc-slider-dot-active{
border-color: @primaryColor;
}
.rc-slider-rail {
height: 20px;
background-color: grey;
border-radius: 0;
}
.slider__footer {
display: none;
margin-top: 8px;
}
.rc-slider-dot {
height: 24px;
width: 8px;
border-radius: 4px;
}
.rc-slider-step {
height: 20px;
}
}
/* Toggle */
.toggle{
&__button{
border-color: @primaryColor !important;
.active{
background-color: @primaryColor !important;
}
}
}
/* Attachment */
.attachment{
background-color: @secondaryColor !important;
}
/* Signature */
.signature{
&__content{
background-color: @secondaryColor !important;
}
}