Model Definition
AI Assistant
AiAgentContent
AI Message
interface AiAgentContent {
type: string; //Type
text: string; //Text
imageUrl: string; //Image URL
}AiAgentThread
AI Session
interface AiAgentThread {
id: string; //ID
companyId: string; //Team ID
applicationId: string; //Application ID
moduleId: string; //Module ID
name: string; //Name
isDebug: boolean; //Whether it is debug mode
rowNumber: number; //Sorting field
createAccountId: string; //Creator ID
createAccountAvatar: string; //Creator avatar
createAccountName: string; //Creator name
createTime: Date; //Creation time
updateTime: Date; //Last update time
}AiAgentThreadMessage
AI Session Message
interface AiAgentThreadMessage {
id: number; //ID
companyId: string; //Team ID
applicationId: string; //Application ID
moduleId: string; //Module ID
threadId: string; //Session ID
messageId: string; //Message ID
content: string; //Content
toolCalls: string; //Tool calls
role: string; //Role
finishReason: string; //Finish reason
promptTokens: number; //Prompt token count
completionTokens: number; //Generated content token count
totalTokens: number; //Total token count
startTime: Date; //Start time
endTime: Date; //End time
createTime: Date; //Creation time
images: string; //Images
}OpenAIChatApproximate
AI Chat Approximate Location
interface OpenAIChatApproximate {
city:string;//City name (free text input)
Example: "Beijing"
country:string;//Country code (ISO 3166-1 two-letter standard)
Example: "CN" (China)
Validation suggestions:
1. Length must be 2 characters
2. Only uppercase letters allowed
region:string;//Administrative region name (free text input)
Example: "Guangdong Province" or "California"
Note:
- Different from province, can include smaller administrative units
timezone:string;//Timezone configuration (IANA format)
Example: "Asia/Shanghai"
Typical values:
- China Standard Time: Asia/Shanghai
- Pacific Time: America/Los_Angeles
longitude:Double;//Longitude (-180~180)
latitude:Double;//Latitude (-90~90)
radius:number;//Search radius (meters)
}OpenAIChatAudioOptions
AI Chat Message Audio Output Parameters
interface OpenAIChatAudioOptions {
voice: string; //Voice type (e.g., alloy, ash, ballad, coral, echo, fable, nova, onyx, sage, shimmer)
format: string; //Format (e.g., wav, mp3, flac, opus, pcm16)
}OpenAIChatMessage
AI Chat Message
interface OpenAIChatMessage {
role:string;//Role (e.g., "system", "user", "assistant")
content:object;//Message content (supports multiple formats)
Allowed types:
1. Plain text string
2. Content parts array (currently only supports text type)
Example:
- Simple text: "Hello, world"
- Multiple paragraphs: [
{"type":"text", "text":"First paragraph"},
{"type":"text", "text":"Second paragraph"}
]
tool_call_id:string;//Tool call ID
name:string;//Role name (optional)
tool_calls:object;//Tool call information (may be a JSON structure)
}OpenAIChatMessageContent
AI Chat Message Content
interface OpenAIChatMessageContent {
text:string;//Text content
Format requirements:
- Non-empty string
- Length limit: 4096 characters
}OpenAIChatMessageSetting
AI Chat Message Setting
interface OpenAIChatMessageSetting {
role: string; //Role
content: object; //Content
}OpenAIChatPredictionOptions
AI Chat Message Prediction Output Configuration
interface OpenAIChatPredictionOptions {
type:string;//Prediction content type (currently only supports 'content')
Required field
content:object;//Static prediction content (must match model-generated content)
Format: string or array
Typical use cases:
- Regenerating code files (90% content unchanged)
- Template filling scenarios (only a few variables change)
Example:
content = "public class User {\n private String id;\n"
}OpenAIChatReq
AI Chat Request Package
interface OpenAIChatReq {
model:string;//Model ID, e.g., gpt-4o, determines generation capability and price
messages:array<OpenAIChatMessage>;//Conversation message list (supports text/image/audio multi-modal input)
audio:InformatOpenAIChatAudioOptions;//Audio output parameters, required when modalities include audio
frequency_penalty:double;//Frequency penalty value, between -2.0 and 2.0, positive values reduce repetition
logit_bias:Map;//Token bias mapping table (token ID → bias value -100~100) adjusts generation probability of specific tokens: positive values increase appearance probability (100 forces selection), negative values decrease appearance probability (-100 forces exclusion). Example: When disabling politically sensitive words, set corresponding token IDs to -100
logprobs:boolean;//Whether to return log probabilities of output tokens (requires top_logprobs)
max_tokens:number;//Maximum number of tokens to generate (including visible output and reasoning tokens)
max_completion_tokens:number;//Maximum number of tokens to generate (including visible output and reasoning tokens)
metadata:Map;//Metadata key-value pairs (maximum 16 pairs)
Technical specifications:
1. Key: string (maximum 64 characters)
2. Value: string (maximum 512 characters)
Typical use cases:
1. Request tracking (e.g., session_id)
2. Environment tagging (e.g., env=production)
3. Data classification (e.g., category=finance)
modalities:array<String>;//Output type configuration (must match model capabilities)
Supported values:
- Text: ["text"] (default)
- Multi-modal: ["text", "audio"]
Audio output requires simultaneous audio parameter configuration
n:number;//Number of message options to generate (recommended to keep at 1 to save costs)
parallel_tool_calls:boolean;//Whether to enable parallel tool calls (default true)
When enabled, allows simultaneous execution of multiple tool calls
Applicable scenarios:
- Complex tasks that require calling multiple APIs simultaneously
- When tool calls have no dependencies
Disabled scenarios:
- When tool calls have strict sequence requirements
prediction:InformatOpenAIChatPredictionOptions;//Prediction output configuration (accelerates content regeneration)
Used when most response content is known:
1. Document template filling (90% content unchanged)
2. Partial code file modifications (function body remains unchanged)
3. Structured data updates (only some fields change)
Requires prediction_options configuration
presence_penalty:double;//Topic novelty penalty, between -2.0 and 2.0, positive values increase new topic likelihood
response_format:InformatOpenAIChatResponseFormatConfig;//Response format constraint configuration
Supported modes:
1. Default text: { type: "text" }
2. Legacy JSON: { type: "json_object" }
3. Structured JSON: { type: "json_schema", json_schema: {...} }
Recommended to use json_schema mode first
seed:number;//Deterministic generation seed (Beta feature)
Technical characteristics:
- Same seed + parameter combination produces as consistent output as possible
- Requires system_fingerprint to monitor backend changes
Usage scenarios:
1. Result reproducibility testing (seed=123)
2. Keeping some parameters constant in A/B testing
Note: There may still be minor differences in practice
service_tier:string;//Service tier configuration (default auto)
Optional values:
auto - Auto selection (prioritizes scale tier quota)
default - Basic service (no latency guarantee)
flex - Elastic processing (dedicated resource pool)
Response will include the actual service_tier value used
stop:object;//Stop sequences (maximum 4), not applicable to latest inference models like o3/o4-mini
store:boolean;//Whether to store output (for model distillation)
stream:boolean;//Whether to enable streaming, true for streaming output
stream_options:InformatOpenAIChatStreamOptions;//Streaming configuration options (only effective when stream=true)
Functionality description:
- Control streaming response data format
- Monitor real-time resource consumption
Typical configuration:
new StreamOptions().setIncludeUsage(true)
temperature:double;//Sampling temperature (0-2), higher values produce more random output, recommend choosing between temperature and top_p
tool_choice:object;//Tool call strategy configuration
Supported formats:
1. String mode:
- 'none': Disable tool calls
- 'auto': Auto selection (default)
- 'required': Must call tools
2. Object mode:
{"type":"function","function":{"name":"get_weather"}}
tools:array<OpenAIChatReqTool>;//Callable tools list (currently only supports functions)
Technical specifications:
- Maximum 128 functions
- Each tool must include a function definition
Typical use cases:
1. Data query API integration
2. Mathematical calculation toolset
3. Third-party service connectors
top_logprobs:number;//Return top N possible tokens for each token position
Technical specifications:
- Value range: 0-20
- Must be used with logprobs=true
Example:
Setting to 5 returns the top 5 tokens by probability for each position
Output structure includes:
- Token text
- Log probability value
- Offset information
top_p:Double;//Nucleus sampling threshold (default 1.0)
How it works:
0.1 → Only consider tokens with top 10% probability mass
Typical configurations:
- Creative generation: 0.9
- Precise answers: 0.5
Note:
Choose between temperature and top_p parameters
user:string;//End user identifier
Functionality description:
- Used for abuse monitoring
- Supported format: Mixed letters/numbers/special characters
Compliance requirements:
1. Must not contain PII information
2. Recommended to use anonymous UUID
Example: "user_9FQ3Z"
web_search_options:InformatOpenAIChatWebSearchOptions;//Web search tool configuration
When enabled, the model will automatically retrieve information online
Typical use cases:
1. Real-time information queries
2. Localized information retrieval
3. Factual data verification
}OpenAIChatReqTool
AI chat request callable tool definition
interface OpenAIChatReqTool {
type: string; //Tool type (fixed value 'function')
function: InformatOpenAIChatReqToolFunction; //Function detailed definition (name/description/parameter schema)
}OpenAIChatReqToolFunction
AI chat request function detailed definition
interface OpenAIChatReqToolFunction {
name:string;//Function name (must match [a-zA-Z0-9_-] format, max 64 characters)
Example: calculate_loan_payment
description:string;//Function functionality description (affects model calling decisions)
Example: "Calculate commercial loan monthly payment amount"
parameters:object;//Parameter JSON Schema definition
Example: {"type":"object", "required":["amount"],
"properties":{"amount":{"type":"number", "description":"Loan total amount"}}}
strict_mode:boolean;//Strict mode (default false)
When enabled:
- Force parameter type checking
- Must provide required fields
- Does not support complex constraints like regular expressions
}OpenAIChatResp
AI chat return value
interface OpenAIChatResp {
choices:array<OpenAIChatRespChoices>;//Response options list (quantity determined by request parameter n)
Each option contains:
- Generated content
- Termination reason
- Index number
created:number;//Response creation timestamp (Unix seconds)
Example: 1715751234 → 2024-05-15 10:33:54
id:string;//Response unique identifier (format: chatcmpl-XXXXXX)
Used for log tracking and auditing
model:string;//Actual model identifier used
May differ from requested model (during automatic upgrades)
Example: gpt-4o-2024-05-13
object:string;//Object type fixed value (chat.completion)
Used for response type identification
service_tier:string;//Actual service tier used
Possible values: auto/default/flex
Used for billing analysis and performance monitoring
system_fingerprint:string;//Backend configuration fingerprint (format: fp_xxxxxx)
Technical characteristics:
1. Identifies model runtime environment
2. Detects backend configuration changes
3. Ensures deterministic output together with seed parameter
usage:InformatOpenAIChatRespUsage;//Consumed token statistics
error:InformatOpenAIChatRespError;//Error information
}OpenAIChatRespChoices
AI chat response choices
interface OpenAIChatRespChoices {
index:number;//Generated result index number (starts from 0)
message:InformatOpenAIChatMessage;//Generated chat message
May contain multimodal content (text/audio)
finish_reason:string;//Generation termination reason
Possible values:
stop - Normal termination
length - Reached token limit
tool_calls - Triggered tool call
}OpenAIChatRespCompletionTokensDetails
AI token usage breakdown
interface OpenAIChatRespCompletionTokensDetails {
accepted_prediction_tokens:number;//Number of tokens accepted from prediction output
Application scenario:
When using Predicted Outputs, the number of predicted content tokens actually accepted by the model
Example:
Prediction provides 100 tokens, 80 of which are used → accepted=80
audio_tokens:number;//Tokens consumed for audio generation
Billing rules:
1 second of audio ≈ 50 tokens
Example:
Generate 30 seconds of speech → approximately 1500 tokens
reasoning_tokens:number;//Tokens consumed for reasoning process
Technical characteristics:
1. Reflects model's internal thinking process
2. Can be adjusted via reasoning_effort parameter
Optimization suggestions:
Set to low for simple tasks to reduce reasoning tokens by 30%
rejected_prediction_tokens:number;//Number of tokens rejected from prediction output
Billing note:
Not adopted but still counted in the bill
Best practice:
Optimize prediction content matching rate to reduce waste
}OpenAIChatRespError
AI interface call error information
interface OpenAIChatRespError {
message: string; //Error message
type: string; //Error type
param: object; //Parameter
code: string; //Error code
}OpenAIChatRespPromptTokensDetails
Input prompt token usage breakdown
interface OpenAIChatRespPromptTokensDetails {
audio_tokens:number;//Audio input token count
Conversion rules:
1 second of audio ≈ 50 tokens
Example:
30 seconds of speech input → approximately 1500 tokens
Billing note: Uses the same rate as text tokens
cached_tokens:number;//Cached reused token count
Technical characteristics:
1. Cached from similar historical requests
2. Not counted in actual billing tokens
Optimization suggestion:
Repeating content requests can improve cache hit rate
}OpenAIChatRespTool
AI chat response ToolCall
interface OpenAIChatRespTool {
id: string; //ID
type: string; //Tool type (fixed value 'function')
function: InformatOpenAIChatRespToolFunction; //ToolCall function
}OpenAIChatRespToolFunction
AI chat response toolcall function
interface OpenAIChatRespToolFunction {
name: string; //Function ID
arguments: string; //Arguments
}OpenAIChatRespUsage
AI token consumption statistics
interface OpenAIChatRespUsage {
completion_tokens:number;//Token count for generated content
Includes:
- Text generation
- Audio/image generation (if multimodal is enabled)
Billing basis: $0.002 per 1000 tokens (example)
prompt_tokens:number;//Token count for input prompts
Calculation method:
(Text character count ÷ 4) + multimodal content token surcharge
total_tokens:number;//Total token consumption
Calculation rule:
prompt_tokens + completion_tokens
Monitoring suggestion:
Set threshold alerts (e.g., single request > 4096 tokens)
completion_tokens_details:InformatOpenAIChatRespCompletionTokensDetails;//Generated content token usage details
Detailed breakdown:
- Text tokens
- Audio tokens (if enabled)
- Image tokens (if enabled)
Uses:
1. Multimodal cost analysis
2. Generated content optimization
prompt_tokens_details:InformatOpenAIChatRespPromptTokensDetails;//Input prompt token details
}OpenAIChatResponseFormatConfig
AI chat message auxiliary configuration class
interface OpenAIChatResponseFormatConfig {
type:string;//Format type (required)
Optional values: text/json_object/json_schema
json_schema:object;//JSON Schema definition (required when type=json_schema)
}Example: {"type":"object","properties":{"name":{"type":"string"}}}
OpenAIChatSetting
AI chat configuration
interface OpenAIChatSetting {
url: string; //OpenAI API request address, default is https://api.openai.com/v1/chat/completions
model: string; //GPT model to use, default is gpt-4o
apiKey: string; //OpenAI API key
temperature: double; //Sampling temperature, higher values mean more random outputs, default is 1
topp: double; //Top-p sampling (nucleus sampling) parameter, default is 1
timeout: number; //Timeout time (seconds), default is 0
presencePenalty: double; //Topic novelty penalty, default is 0
frequencyPenalty: double; //Frequency penalty, prevents repetitive content, default is 0
maxTokens: number; //Maximum number of tokens to generate, default is 0
n: number; //Number of answers to generate, default is 1
stop: string; //Stop words (stop generation when these words are encountered, multiple stop words separated by commas. Maximum 4
messages: array<OpenAIChatMessageSetting>; //Content to send
}OpenAIChatStreamOptions
AI chat message streaming configuration options
interface OpenAIChatStreamOptions {
include_usage:boolean;//Whether to include usage statistics
When enabled:
1. Send final statistics block before stream ends
2. Each data block contains empty usage field
Note:
- Final statistics may be lost if stream is interrupted
}OpenAIChatToolChoice
AI chat tool call strategy configuration (when using object configuration)
interface OpenAIChatToolChoice {
type: string; //Tool type (currently only supports function)
function: InformatOpenAIChatToolChoiceFunction; //Function detailed definition
}OpenAIChatToolChoiceFunction
AI chat tool call strategy configuration function definition
interface OpenAIChatToolChoiceFunction {
name: string; //Function name (must comply with naming conventions)
Example: get_current_weather;
}OpenAIChatUserLocation
AI chat approximate geographic location configuration
interface OpenAIChatUserLocation {
approximate: InformatOpenAIChatApproximate; //Approximate location parameters (required)
type: string; //Location approximation type. Always approximate
}OpenAIChatWebSearchOptions
AI chat message web search configuration
interface OpenAIChatWebSearchOptions {
search_context_size:string;//Search context window size (default medium)
Optional values:
- low: Compact context (approximately 500 tokens)
- medium: Balanced mode (approximately 1500 tokens)
- high: Extended context (approximately 3000 tokens)
user_location:InformatOpenAIChatUserLocation;//Approximate geographic location configuration
Used for region-relevant searches
Example: Set user's city range
}Application
Account
Account
interface Account {
id: string; //ID
name: string; //Name
avatar: string; //Avatar
userName: string; //Username
mobileNo: string; //Phone number
email: string; //Email
companyId: string; //Team ID
companyList: string; //Team ID list
oid: string; //Third-party ID
createTime: Date; //Creation time
updateTime: Date; //Last update time
language: string; //Language
needUpdatePassword: boolean; //Whether password reset is required
isValid: boolean; //Whether valid
}AccountAddForm
Add Account
interface AccountAddForm {
id: string; //Account ID
name: string; //Name
userName: string; //Username
mobileNo: string; //Phone number
email: string; //Email
password: string; //Password
oid: string; //Third-party ID
avatar: string; //Avatar
remark: string; //Remark
needUpdatePassword: boolean; //Whether password reset is required
}AccountToken
Account Login Credential
interface AccountToken {
type: string; //Type
accountId: string; //Account ID
companyId: string; //Team ID
token: string; //Credential
expireTime: Date; //Expiration time
createTime: Date; //Creation time
dbIndex: number; //Database index
}App
Application
interface App {
id: string; //ID
name: string; //Name
icon: string; //Icon
color: string; //Color
appDefineId: string; //Application identifier
logLevel: string; //Log level
env: string; //Runtime environment
enableAppLog: boolean; //Whether to output logs to file (text)
enableAppJsonLog: boolean; //Whether to output logs to file (JSON)
appDefineBuild: number; //Release number
appDefineVersion: string; //Application version
appDefineEditable: boolean; //Whether application design is allowed
groupId: string; //Group
createAccountId: string; //Creator
updateAccountId: string; //Updater
createTime: Date; //Creation time
updateTime: Date; //Last update time
}AppChangeLog
Application Operation Log
interface AppChangeLog {
id: string; //ID
type: string; //Type
content: string; //Content
createAccountId: string; //Creator
createAccountAvatar: string; //Creator avatar
createAccountName: string; //Creator name
createTime: Date; //Creation time
}AppDefine
Application Configuration
interface AppDefine {
id: string; //ID
name: string; //Name
color: string; //Color
roleList: array<ObjectRef>; //Role list
moduleList: array<ObjectRef>; //Module list
automaticList: array<ObjectRef>; //Automation list
scriptList: array<ObjectRef>; //Script list
scheduleList: array<ObjectRef>; //Scheduled task list
apiList: array<ObjectRef>; //API list
versionList: array<ObjectRef>; //Version list
eventList: array<AppEventDefine>; //Event list
}AppEvent
Application Event
interface AppEvent {
id: string; //ID
content: object; //Content
}AppEventDefine
Application Event Definition
interface AppEventDefine {
id: string; //ID
key: string; //Identifier
name: string; //Name
remark: string; //Remark
}ApplicationProcess
Application Process
interface ApplicationProcess {
id: string; //ID
type: string; //Type
associatedId: string; //Associated ID
associatedName: string; //Associated name
associatedKey: string; //Associated identifier
startTime: Date; //Start time
endTime: Date; //End time
status: string; //Status
serverId: string; //Server ID
}CustomRole
Application Custom Role
interface CustomRole {
id: string; //ID
name: string; //Name
remark: string; //Remark
permissionList: array<String>; //Permission list
createTime: Date; //Creation time
updateTime: Date; //Last update time
}ModuleAlert
Module Alert
interface ModuleAlert {
moduleId: string; //Module identifier
title: string; //Alert title
description: string; //Alert description
closeable: boolean; //Whether closeable
modal: boolean; //Whether modal display
center: boolean; //Whether center display
descriptionHtml: boolean; //Whether description uses html format
showIcon: boolean; //Whether to show icon
type: string; //Alert type, optional values: success warning info error
}ModuleFavorite
My Favorites
interface ModuleFavorite {
id: string; //ID
accountId: string; //Account ID
applicationId: string; //Application ID
moduleId: string; //Module ID
moduleName: string; //Module name
moduleType: string; //Module type
moduleIcon: string; //Module icon
}ObjectRef
Object Reference
interface ObjectRef {
id: string; //ID
key: string; //Identifier
name: string; //Name
icon: string; //Icon
type: string; //Type
remark: string; //Remark
isDirectory: boolean; //Whether directory
children: array<ObjectRef>; //Child nodes
expand: boolean; //Expand
displayName: string; //Display name
}PushEvent
Push Event
interface PushEvent {
eventId: string; //Event ID, ModuleRefresh: refresh module, RecordFormRefresh: refresh form, Toast: display toast message
moduleRefreshModuleId: string; //Module identifier to refresh
recordFormRefreshTableId: string; //Data table identifier of the form to refresh
recordFormRefreshRecordId: string; //Record ID of the form to refresh
toastMessage: string; //Toast message content
recordFormCloseTableId: string; //Data table of the record
recordFormCloseRecordId: string; //Form record ID
scriptContent: string; //
scriptVarList: array<Object>; //
sendType: string; //Push type: currentUser, allCompanyMember, allApplicationMember, specificUser
accountIdList: array<String>; //Only valid when push type is specificUser
}ScriptDefine
Script
interface ScriptDefine {
id: string; //ID
name: string; //Name
}Automation
FormContent
Event Content
interface FormContent {
formRecord: Map; //Form data, returned when event type is form.field.change or form.init
formFieldId: string; //Changed field ID, returned when event type is form.field.change or form.init
record: Map; //Clicked record data, returned when event type is record.dblclick or record.click
field: string; //Clicked field, returned when event type is record.dblclick or record.click
date: number; //Timestamp of clicked date, returned when event type is calendar.datedblclick
pageIndex: number; //Current page number, returned when event type is table.loaded
pageSize: number; //Page size, returned when event type is table.loaded
tableViewCondition: number; //Query conditions, returned when event type is table.loaded
queryFilterKey: number; //Combined filter identifier used, returned when event type is table.loaded
type: number; //Trigger type: view.setup: after view initialization; view.reload: after view internally throws data reload; view.page.change: after view pagination information changes; view.fullpath.change: after view tree structure full path display switches; view.orderby.change: after non-table view adjusts sorting; view.inner.query.change: after view internal query condition changes (calendar view); view.query.change: after view filter query conditions; view.filter.change: after view combination filter switches; view.root.change: after view tree structure sets query root node; record.create.refresh: after record creation refresh; record.update.refresh: after record update refresh; record.delete.refresh: after record deletion refresh; record.parent.change: after record parent change refresh; automatic.output.refresh: automation interaction settings module refresh; automatic.output.set.filter: automation interaction settings view filter conditions; automatic.output.set.root: automation settings view data root node, returned when event type is record.dblclick
platform: number; //Access device platform web, mobile, returned when event type is table.loaded
moduleKey: number; //Module identifier, returned when event type is table.loaded
}FormEvent
Form Event
interface FormEvent {
id: string; //Event type, optional values: form field change form.field.change, form initialization form.init
tableId: string; //Data table ID
content: InformatFormContent; //Event content
}RecordFormCloseEvent
Data Table Form Close Event
interface RecordFormCloseEvent {
record: Map; //Form data
list: array; //Custom table row data (selected or all)
formModuleKey: string; //Data table form identifier
type: string; //Form type
RecordCreateForm: Data table record creation form;
RecordInfoForm: Data table record detail form;
OutputDynamicForm: Automation custom form;
OutputDynamicTable: Automation custom table;
}TableQueryEvent
Data Table Query Event
interface TableQueryEvent {
type: string; //Event type, optional values: before query table.query.before, after query table.query.after
tableId: string; //Identifier of the data table to query
moduleId: string; //Query module ID
condition: InformatQuery; //Query conditions
list: array; //Query record list
count: number; //Total number of query records
}ViewCondition
Data Table Query Conditions
interface ViewCondition {
pageIndex: number; //Current page number
pageSize: number; //Pagination size
childrenRootRecordId: string; //Root node ID for tree structure query
childrenFieldId: string; //Field for tree structure query
filter: InformatViewFilter; //Filter conditions
orderByList: array<String>; //Sorting fields
}ViewEvent
Data Table View Event
interface ViewEvent {
id: string; //Event type, optional values: double-click record record.dblclick, single-click record record.click, double-click blank date in calendar view calendar.datedblclick, after view data loading completes table.loaded
moduleId: string; //Module ID
content: InformatFormContent; //Event content
}ViewFilter
Data Table Filter
interface ViewFilter {
opt: string; //Operator: and or or
conditionList: array<String>; //Filter field list
}Workflow
BpmnComment
Workflow Comment
interface BpmnComment {
id: string; //Comment ID
createTime: Date; //Creation time
userId: string; //User ID
taskId: string; //Task ID
procInstId: string; //Process instance ID
message: string; //Message
type: string; //Type
}BpmnCommentQuery
Workflow Comment Query
interface BpmnCommentQuery {
procInstId: string; //Process instance ID
taskId: string; //Task ID
executionId: string; //Execution ID
filter: InformatFilter; //Filter
pageIndex: number; //Page number, default: 1
pageSize: number; //Page size, default: 50
orderByList: array<OrderBy>; //Sorting method
includeFields: LinkedHashSet; //Return field list
excludeFields: Set; //Include field list
}BpmnIdentityLink
Workflow Identity Link
interface BpmnIdentityLink {
id: string; //IdentityLink unique identifier
type: string; //IdentityLink type, usually participant or candidate
userId: string; //User ID associated with IdentityLink
groupId: string; //User role ID associated with IdentityLink
taskId: string; //Workflow task ID
}BpmnInstance
Workflow Instance
interface BpmnInstance {
id: string; //ID
name: string; //Instance name
procInstId: string; //Workflow instance ID
businessKey: string; //Business key
procDefId: string; //Workflow definition ID
isActive: boolean; //Whether active
startTime: Date; //Start time
endTime: Date; //End time
taskCount: number; //Task count
startUserId: string; //Initiator
startUserName: string; //Initiator name
startUserAvatar: string; //Initiator avatar
procDefName: string; //Workflow definition name
tenantId: string; //Application ID and module ID
deleteReason: string; //Revocation reason
}BpmnInstanceQuery
Workflow Instance Query
interface BpmnInstanceQuery {
status: string; //Instance status: doing, done
processDefineId: string; //Workflow definition identifier
name: string; //Instance name
startUserId: string; //Initiator ID
startUserIdInList: array<String>; //Initiator ID list
startTimeStart: Date; //Start time (start)
startTimeEnd: Date; //Start time (end)
endTimeStart: Date; //End time (start)
endTimeEnd: Date; //End time (end)
varList: array<BpmnVar>; //Workflow variable list
businessKey: string; //businessKey
idList: array<String>; //ID list
filter: InformatFilter; //Filter
pageIndex: number; //Page number, default: 1
pageSize: number; //Page size, default: 50
orderByList: array<OrderBy>; //Sorting method
includeFields: LinkedHashSet; //Return field list
excludeFields: Set; //Include field list
}BpmnProcess
Workflow Definition
interface BpmnProcess {
id: string; //Process ID
defineId: string; //Process definition ID
key: string; //Identifier
name: string; //Name
icon: string; //Icon
remark: string; //Description
color: string; //Color identifier
rowNumber: number; //Sorting
createTime: Date; //Creation time
updateTime: Date; //Last modification time
}BpmnProcessDiagramConfig
Workflow Diagram
interface BpmnProcessDiagramConfig {
imageType: string; //Image type, default: png
highLightedActivities: array<String>; //Completed process tasks
highLightedFlows: array<String>; //Completed sequence flows
activityFontName: string; //Process task font name
labelFontName: string; //Label font name
annotationFontName: string; //Annotation font name
scaleFactor: double; //Scale
drawSequenceFlowNameWithNoLabelDI: boolean; //
}BpmnProcessQuery
Workflow Definition Query
interface BpmnProcessQuery {
accountId: string; //Account ID that can initiate processes
name: string; //Workflow name
filter: InformatFilter; //Filter
pageIndex: number; //Page number, default: 1
pageSize: number; //Page size, default: 50
orderByList: array<OrderBy>; //Sorting method
includeFields: LinkedHashSet; //Return field list
excludeFields: Set; //Include field list
}BpmnStartSetting
Process Definition Start Setting
interface BpmnStartSetting {
instanceNameVar: string; //
draftNameVar: string; //
enableStartForm: boolean; //
formSetting: InformatFormSetting; //
startFormToolbarButtonList: array<Button>; //
instanceToolbarButtonList: array<Button>; //
startVarList: array<BpmnFormSettingVar>; //
activityUserList: array<NodeUser>; //
}BpmnTableFieldSetting
Process Form Field Definition
interface BpmnTableFieldSetting {
id: string; //
editable: boolean; //
visible: boolean; //
defaultValue: object; //
}BpmnTask
Workflow Task
interface BpmnTask {
id: string; //ID
name: string; //Instance name
procDefId: string; //Workflow definition ID
procDefName: string; //Workflow definition name
procInstId: string; //Workflow instance ID
procInstName: string; //Workflow instance name
taskDefKey: string; //Task definition key
executionId: string; //Task execution ID
tenantId: string; //Application ID and module ID
assignee: string; //Responsible person ID
assigneeName: string; //Responsible person name
assigneeAvatar: string; //Responsible person avatar
delegation: string; //Delegation status: PENDING (task responsible person delegated), RESOLVED (delegate has completed the task)
owner: string; //Delegator or transferor
ownerName: string; //Delegator or transferor name
ownerAvatar: string; //Delegator or transferor avatar
startUserId: string; //Initiator
startUserName: string; //Initiator name
startUserAvatar: string; //Initiator avatar
dueDate: Date; //Overdue time
claimTime: Date; //Claim or assignment time
startTime: Date; //Start time
endTime: Date; //Completion time
duration: number; //Duration
deleteReason: string; //Revocation reason
lastUpdatedTime: Date; //Last update time
}BpmnTaskCc
Workflow Task CC
interface BpmnTaskCc {
id: string; //ID
taskId: string; //Task ID
copyUserId: string; //CC user
startUserId: string; //Initiator
copyUserAvatar: string; //CC user avatar
copyUserName: string; //CC user name
}BpmnTaskQuery
Workflow Task Query
interface BpmnTaskQuery {
accountId: string; //Responsible person account ID
status: string; //Status: doing (in progress), done (completed)
assignee: string; //Assignment type: all (all), assignee (assigned to me), candidate (to be claimed), copy (CC to me)
taskName: string; //Task name
procInstId: string; //Process ID
createTimeStart: Date; //Creation time (start)
createTimeEnd: Date; //Creation time (end)
executionId: string; //Task execution ID
filter: InformatFilter; //Filter
pageIndex: number; //Page number, default: 1
pageSize: number; //Page size, default: 50
orderByList: array<OrderBy>; //Sorting method
includeFields: LinkedHashSet; //Return field list
excludeFields: Set; //Include field list
}BpmnVar
Workflow Variable
interface BpmnVar {
name: string; //Variable name
value: object; //Value
opt: string; //
}FormSetting
Process Form Setting
interface FormSetting {
id: string; //
tableId: string; //
tableFieldSettingList: array<BpmnTableFieldSetting>; //
toolBarButtonList: array<Button>; //
localVariable: boolean; //
completeSetVarList: array<CompleteSetVar>; //
enableShowProcessInfo: boolean; //
formType: string; //
formDesignerModuleId: string; //
formDesignerFormId: string; //
formDesignerFieldSettingList: array<BpmnTableFieldSetting>; //
}Team
AppGroup
Application Group
interface AppGroup {
id: string; //ID
name: string; //Name
rowNumber: number; //Sort order
createTime: Date; //Creation time
updateTime: Date; //Last update time
}Company
Team
interface Company {
id: string; //ID
name: string; //Name
dbIndex: number; //Database index
avatar: string; //Team logo
favicon: string; //Browser icon
version: string; //Current plan
createAccountId: string; //Creator
maxUserNum: number; //
maxApplicationNum: number; //
createTime: Date; //Creation time
updateTime: Date; //Last update time
}CompanyMember
Team Member
interface CompanyMember {
id: string; //Account ID
name: string; //Account name
leaderList: array<String>; //Direct superior list
roleList: array<String>; //Role list
departmentList: array<String>; //Department list
departmentKeyList: array<String>; //Department identifier list
dingtalkUserId: string; //DingTalk account ID
weworkUserId: string; //WeChat Work account ID
feishuUserId: string; //Feishu account ID
rowNumber: number; //Sort weight
createTime: Date; //Creation time
updateTime: Date; //Last update time
}CompanyRole
Team Role
interface CompanyRole {
id: string; //Identifier
name: string; //Name
isAdmin: boolean; //Whether it's an administrator
permissionIds: Set; //Permission list
createTime: Date; //Creation time
}InstallAppRequest
Install App Request
interface InstallAppRequest {
imrUrl: string; //imr file URL
groupId: string; //Group ID
isForce: boolean; //Whether to force
}OptLog
Operation Log
interface OptLog {
id: string; //ID
name: string; //Name
accountId: string; //Operation account ID
accountName: string; //Operation account name
accountAvatar: string; //Operation account avatar
companyId: string; //Team ID
companyName: string; //Team name
associatedId: string; //Associated ID
type: string; //Type
remark: string; //Remark
createTime: Date; //Creation time
updateTime: Date; //Update time
}UpdateAppGroupRequest
Update App Group Request
interface UpdateAppGroupRequest {
imrUrl: string; //imr file URL
groupId: string; //Group ID
}UpgradeAppRequest
Upgrade App Request
interface UpgradeAppRequest {
appId: string; //App ID
imrUrl: string; //imr file URL
isForce: boolean; //Whether to force
}UserAppList
User App List
interface UserAppList {
appList: array<App>; //
appGroupList: array<AppGroup>; //
}Data Source
DataSourceConnnectionSetting
Data Source Configuration
interface DataSourceConnnectionSetting {
autoCommit: boolean; //Whether to automatically commit transactions, default is true
}Department
Department
Department
interface Department {
id: string; //ID
name: string; //Department name
shortName: string; //Abbreviation
remark: string; //Description
parentId: string; //Parent department ID
ownerList: array<String>; //Owner list
rowNumber: number; //Sort order
isDisable: boolean; //Whether disabled
}Application Design
DefineObject
Application Design Model
interface DefineObject {
id: string; //ID
key: string; //Identifier
scope: string; //Scope
name: string; //Name
displayName: string; //Display name
remark: string; //Remark
build: number; //
draftVersion: number; //
isDeleted: boolean; //
parentId: string; //
parentName: string; //
createUser: string; //
updateUser: string; //
createTime: string; //
updateTime: string; //
}DefineObjectQuery
DefineObject Query Object
interface DefineObjectQuery {
name: string; //Name
key: string; //key
type: string; //Type
scope: string; //Scope
pageIndex: number; //Page number, default value 1
pageSize: number; //Page size, default value 50
}ScriptDefine
Application Script Definition
interface ScriptDefine {
content: string; //Content
id: string; //ID
key: string; //Identifier
scope: string; //Scope
name: string; //Name
displayName: string; //Display name
remark: string; //Remark
build: number; //
draftVersion: number; //
isDeleted: boolean; //
parentId: string; //
parentName: string; //
createUser: string; //
updateUser: string; //
createTime: string; //
updateTime: string; //
}TableFieldDefineSimple
Table Field Definition
interface TableFieldDefineSimple {
id: string; //ID
name: string; //Name
key: string; //Identifier
scope: string; //Scope
type: string; //Type
}Email
EmailRecipient
Email Recipient
interface EmailRecipient {
address: string; //Address
personal: string; //Name
type: string; //Send type
}EmailServer
Email Server
interface EmailServer {
host: string; //Host
port: number; //Port
ssl: boolean; //Whether to enable SSL
auth: boolean; //Whether to enable authentication
account: string; //Account
password: string; //Password
protocol: string; //Protocol
}Excel
TemplateCell
Cell Template
interface TemplateCell {
content: object; //Cell value
rowspan: number; //
colspan: number; //
}File
File
File
interface File {
name: string; //File name
path: string; //File path
absolutePath: string; //Absolute path
isAbsolute: boolean; //Whether to use absolute path
canRead: boolean; //Whether readable
canWrite: boolean; //Whether writable
isDirectory: boolean; //Whether directory
isFile: boolean; //Whether file
totalSpace: number; //File size
usableSpace: number; //Available space
lastModified: number; //Last modified time
length: number; //Length
}FTP
FtpFile
File Transfer
interface FtpFile {
group: string; //File group
hardLinkCount: number; //Link count
link: string; //Link
name: string; //File name
size: number; //File size
timestamp: Calendar; //Last modified timestamp
timestampInstant: Instant; //Instant timestamp
type: number; //File type
user: string; //File owner
directory: boolean; //Whether directory
file: boolean; //Whether file
}Http
HttpRequest
HTTP Request
interface HttpRequest {
url: string; //Request URL
method: string; //Request method
timeout: number; //Timeout in milliseconds
body: string; //Request body
charset: string; //Character set
followRedirect: boolean; //
maxRedirectCount: number; //Redirect count
headers: Map; //Request headers
overrideHeaders: Map; //Override request headers
form: Map; //Request form
files: Map; //Request files
storages: Map; //
bodyBytes: byte[]; //
}Jdbc
ConnnectionInfo
Database Connection
interface ConnnectionInfo {
dburl: string; //Database connection string
dbuser: string; //Username
dbpassword: string; //Password
driverClassName: string; //Driver name
autoCommit: boolean; //Whether to automatically commit transactions, default is true
}JDBCResultSet
JDBC Result Set
interface JDBCResultSet {
rs: ResultSet; //Result set
}ProcParam
Stored Procedure Input Parameters
interface ProcParam {
name: string; //Parameter name (optional)
value: object; //Parameter value
sqlType: number; //Parameter type
isOut: boolean; //Whether it's an OUT parameter
isOutOnly: boolean; //Whether it's pure OUT (not INOUT)
}Ldap
LdapConnectionInfo
LDAP Connection
interface LdapConnectionInfo {
initialContextFactory: string; //Context service provider
providerURL: string; //Server address
securityAuthentication: string; //Authentication method: none (no authentication), simple (username/password authentication)
securityPrincipal: string; //Username
securityCredentials: string; //Password
referral: string; //Server address
}LdapListResult
LDAP List Result
interface LdapListResult {
className: string; //
name: string; //
nameInNamespace: string; //
isRelative: boolean; //
}LdapModifyAttribute
LDAP Attribute List
interface LdapModifyAttribute {
id: string; //Attribute ID
value: object; //Attribute value
}LdapSearchControl
Search Control
interface LdapSearchControl {
returningAttributes: String[]; //Returned attribute list
searchScope: string; //Search scope, default is SUBTREE. SUBTREE returns all matching entries, ONELEVEL returns entries at the same level, OBJECT returns only the matching object
countLimit: number; //Maximum number of returned entries
timeLimit: number; //Connection timeout in milliseconds
returningObjFlag: boolean; //Whether to return object
derefLinkFlag: boolean; //JNDI links are dereferenced during
}LdapSearchResult
LDAP Search Result
interface LdapSearchResult {
className: string; //
name: string; //Entry name
nameInNamespace: string; //Full path of entry
object: object; //
attributes: array<LdapSearchResultAttribute>; //Entry attribute list
}LdapSearchResultAttribute
LDAP Entry Attribute
interface LdapSearchResultAttribute {
id: string; //Attribute ID
values: Object[]; //Attribute value list
}Mpp
MppCustomFieldValueDataType
Custom Field Data Type
interface MppCustomFieldValueDataType {
value: number; //Value
maskValue: number; //Mask
dataType: string; //Data type
}MppCustomFieldValueMask
MPP Custom Field Mask
interface MppCustomFieldValueMask {
length: number; //Length
level: number; //Level
separator: string; //Separator
type: InformatMppCustomFieldValueDataType; //
}MppWriterConfig
MPP Configuration File
interface MppWriterConfig {
microsoftProjectCompatibleOutput: boolean; //Whether the output can be read by MS Project, default value is true
splitTimephasedAsDays: boolean; //Controls whether to split timephased allocation data into days. Default value is true
writeTimephasedData: boolean; //Controls whether to write timephased resource allocation data to the file. Default value is false
saveVersion: string; //Sets the save version to use when generating MSPDI files, default value is Project2016
}Message Queue
MqMessage
Message Queue Message
interface MqMessage {
body: object; //Message body
props: InformatMqMessageProperties; //Message properties
}MqMessageProperties
Message Properties
interface MqMessageProperties {
headers: Map; //Message headers
timestamp: Date; //Message timestamp, time when the message was generated.
messageId: string; //Message ID
userId: string; //Sending user
appId: string; //Application ID
clusterId: string; //Cluster ID
type: string; //Message type
correlationId: string; //ID correlating request and response
replyTo: string; //Queue name to receive response
contentType: string; //MIME type of message content
contentEncoding: string; //Encoding of message content
contentLength: number; //Message content length
deliveryMode: string; //Message persistence: 2 for persistent messages, 1 for non-persistent messages.
expiration: string; //Message expiration time in milliseconds.
priority: number; //Message priority, higher numbers mean higher priority.
redelivered: boolean; //Whether already sent
receivedExchange: string; //Receiving exchange
receivedRoutingKey: string; //Receiving routing key
receivedUserId: string; //Receiving user
deliveryTag: number; //Delivery tag
messageCount: number; //Message count
consumerTag: string; //Consumer tag
consumerQueue: string; //Consumer queue
receivedDelay: number; //Received delay
receivedDeliveryMode: string; //Received delivery mode
finalRetryForMessageWithNoId: boolean; //Final retry
publishSequenceNumber: number; //Publish sequence number
lastInBatch: boolean; //Whether last in batch
projectionUsed: boolean; //Projection
}MqPublishSetting
Message Publishing Settings
interface MqPublishSetting {
expiration: number; //Effective duration in milliseconds
priority: number; //Priority
deliveryMode: number; //Delivery mode
waitForConfirms: boolean; //Whether to wait for confirmation
}Notification
Notification
Notification
interface Notification {
id: string; //System notification ID
accountId: string; //Account ID
companyId: string; //Team ID
applicationId: string; //Application ID
name: string; //Notification title
type: string; //Type. openbpmntask: Open Bpmn task, openurl: Open link, openrecord: Open data table record
content: string; //Notification content
data: string; //Additional information corresponding to the type
isRead: boolean; //Whether read
isWebSend: boolean; //Whether web is sent
isWeworkSend: boolean; //Whether WeChat Work is sent
isDingTalkSend: boolean; //Whether DingTalk is sent
isFeishuSend: boolean; //Whether Feishu is sent
isCustomSend: boolean; //Whether custom notification is sent
createTime: Date; //Creation time
updateTime: Date; //Update time
}NotificationAutomaticSetting
Automation Call Configuration
interface NotificationAutomaticSetting {
automaticId: string; //Automation ID
args: array<Object>; //Parameter list
}NotificationBpmnTaskSetting
Workflow Task Configuration Information
interface NotificationBpmnTaskSetting {
taskId: string; //Task ID
moduleId: string; //Module ID
}NotificationForm
System Notification Form
interface NotificationForm {
title: string; //Title
content: string; //Content
accountId: string; //Account ID
type: string; //Type. openbpmntask: Open Bpmn task, openurl: Open link, openrecord: Open data table record
name: string; //
urlSetting: InformatNotificationUrlSetting; //Link configuration information. Takes effect when type is openurl
recordSetting: InformatNotificationReocrdSetting; //Data table record configuration information. Takes effect when type is openrecord
bpmnTaskSetting: InformatNotificationBpmnTaskSetting; //Workflow task configuration information. Takes effect when type is openbpmntask
automaticSetting: InformatNotificationAutomaticSetting; //Automation configuration. Takes effect when type is openbpmntask
}NotificationReocrdSetting
Data Table Record Configuration Information
interface NotificationReocrdSetting {
recordId: string; //Record ID
moduleId: string; //Module ID
}NotificationUrlSetting
Link Configuration Information
interface NotificationUrlSetting {
url: string; //Link address
isAppURL: boolean; //Whether it is an in-app link
}Query Conditions
AggregationQuery
Aggregation Query
interface AggregationQuery {
func: string; //Aggregation function
fieldId: string; //Aggregation field
distinct: boolean; //Whether to deduplicate
}Condition
Condition
interface Condition {
fieldId: string; //Field ID
opt: string; //Operator type description: Basic comparison: eq=equals(exact match value, not applicable for list fields), ne=not equals(exclude value, not applicable for list fields), gt=greater than(number/date), ge=greater than or equal(number/date), lt=less than(number/date), le=less than or equal(number/date); String set matching: contains=contains substring(fuzzy search; list contains), notcontains=does not contain substring(exclude keywords, list does not contain), startswith=starts with specified string(prefix matching), endswith=ends with specified string(suffix matching); Null value judgment: isnull=field is empty(missing data), isnotnull=field is not empty(valid data); Set operations: in=value is in set(multiple selection matching), notin=value is not in set(exclude multiple selection); Range judgment: between=value is in range(range query), notbetween=value is outside range(range exclude); Tree structure: parentrooteq=root node matching(direct root node), parenteq=parent node matching(specified parent node), parentcontains=parent node path contains(tree path), intree=in subtree(all child nodes)
value: object; //Comparison value
func: string; //Function dayofyear=days of current year, dayofmonth=day of current month, week=days of current week, weekofyear=week of current year, month=month, quarter=quarter, year=year, daytonow=days until today, weektonow=weeks until today, yeartonow=years until today, monthtonow=months until today, quartertonow=quarters until today, fmtday=year-month-day format:2021-01-01, fmtweek=year-week format:2021-1, fmtmonth=year-month format:2021-01, fmtquarter=year-quarter format:2021-1, nlevel=child object level
var: boolean; //Whether it is an expression
formula: boolean; //Whether it is a function
ignoreNull: boolean; //Whether to ignore null values
}Filter
Filter
interface Filter {
opt: string; //Operator
conditionList: array<Condition>; //Filter conditions
children: array<Filter>; //Child filter conditions
}OrderBy
Order By
interface OrderBy {
field: string; //Field name
type: string; //Sort type
}Query
Query Conditions
interface Query {
filter: InformatFilter; //Filter
pageIndex: number; //Page index, default: 1
pageSize: number; //Page size, default: 50
orderByList: array<OrderBy>; //Sorting method
includeFields: LinkedHashSet; //Return field list
excludeFields: Set; //Include field list
}SFTP
SftpFile
SFTP File
interface SftpFile {
filename: string; //File name
longname: string; //Long name
attrs: SftpFileAttr; //File attribute list
}Shared Storage
ConvertFormatResult
Format Conversion Result
interface ConvertFormatResult {
endConvert: boolean; //Whether conversion is complete
error: number; //Error type
fileTyp: string; //Converted file extension
fileUrl: string; //File url
percent: number; //Conversion percentage
}ConvertFormatSetting
Format Conversion Configuration
interface ConvertFormatSetting {
fileType: string; //Define the type of document file to convert. (Required)
outputtype: string; //Define the type of converted document to generate. (Required)
password: string; //Define the password for the document file if it is password protected. (Optional)
region: string; //Define the default display format for currency, date, and time when converting from spreadsheet format to pdf. (Optional)
spreadsheetLayout: SpreadsheetLayout; //Define settings for converting spreadsheets to pdf. (Optional)
thumbnail: Thumbnail; //Define thumbnail settings when specifying image formats (bmp, gif, jpg, png) as outputtype
title: string; //Define the filename after conversion
}SpreadsheetLayout
Spreadsheet Layout
interface SpreadsheetLayout {
fitToHeight: number; //Set the height of the conversion area in pages. Default value is 0.
fitToWidth: number; //Set the width of the conversion area in pages. Default value is 0.
gridLines: boolean; //Allow including or excluding gridlines in the output PDF file. Default value is false.
headings: boolean; //Allow including or excluding headings in the output PDF file. Default value is false.
ignorePrintArea: boolean; //Determine whether to ignore the print area selected for the spreadsheet file. Default value is true.
margins: SpreadsheetLayoutMargins; //Set the margins for the output PDF file.
orientation: string; //Set the orientation of the output PDF file. Can be landscape or portrait. Default value is portrait.
pageSize: SpreadsheetLayoutPageSize; //Set the size of the output PDF file.
scale: number; //Allow setting the scale of the output PDF file. Default value is 100.
}SpreadsheetLayoutMargins
Spreadsheet Layout Margins
interface SpreadsheetLayoutMargins {
bottom: string; //Set the bottom margin of the output PDF file. Default value is 19.1 mm.
left: string; //Set the left margin of the output PDF file. Default value is 17.8 mm.
right: string; //Set the right margin of the output PDF file. Default value is 17.8 mm.
top: string; //Set the top margin of the output PDF file. Default value is 19.1 mm.
}SpreadsheetLayoutPageSize
Spreadsheet Size
interface SpreadsheetLayoutPageSize {
height: string; //Set the page height of the output PDF file. Default value is 297 mm.
width: string; //Set the page width of the output PDF file. Default value is 210 mm.
}Thumbnail
Thumbnail
interface Thumbnail {
aspect: number; //Define the mode to fit the image to the specified height and width.
first: boolean; //Define whether to generate thumbnails only for the first page or for all document pages. Default value is true
height: number; //Define thumbnail height in pixels. Default value is 100.
width: number; //Define thumbnail width in pixels. Default value is 100
}Questionnaire
SurveyField
Questionnaire Fields
interface SurveyField {
id: string; //Field ID
icon: string; //Field icon
group: string; //Field group
type: string; //Field type
name: string; //Field name
setting: Map; //Field configuration
}SurveyItem
Questionnaire
interface SurveyItem {
applicationId: string; //Application ID
moduleId: string; //Module ID
id: string; //Survey ID
tableId: string; //Survey table ID
name: string; //Survey name
remark: string; //Remark
startTime: Date; //Start time
endTime: Date; //End time
submitCount: number; //Submission count
lastSubmitTime: Date; //Last submission time
createAccountId: string; //Creator Account ID
updateAccountId: string; //Updater Account ID
sourceId: string; //Source ID
createTime: Date; //Creation time
updateTime: Date; //Update time
uuid: string; //UUID
isEnable: boolean; //Whether enabled
rowNumber: number; //Sort order
fieldList: array<SurveyItemField>; //Questionnaire fields
createAccountAvatar: string; //Creator avatar
createAccountName: string; //Creator name
defineId: string; //Questionnaire Definition ID
}SurveyItemDefine
Questionnaire Definition
interface SurveyItemDefine {
id: string; //ID
key: string; //Identifier
scope: string; //Scope
name: string; //Name
remark: string; //Remark
createTime: string; //Creation time
tableId: string; //Data TableID
fieldList: array<SurveyField>; //Field list
submitEdit: boolean; //Whether editable after submission
allowResubmit: boolean; //Allow resubmission
openIdFieldId: string; //Store WeChat openId
finishText: string; //Prompt after submission completes
authType: string; //Authentication method
hideSupport: boolean; //Hide support
}SurveyItemField
Questionnaire Field Default Values
interface SurveyItemField {
id: string; //Field ID
value: object; //Default value
}System
LoginForm
Login Form
interface LoginForm {
userName: string; //Username
password: string; //Password
type: string; //Login type
ip: string; //IP
}LoginResult
Login Result
interface LoginResult {
errorCode: number; //Error code
errorMessage: string; //Error message
token: string; //token
accountId: string; //Account ID
companyId: string; //Team ID
defaultApplicationId: string; //Default application ID
}ProcessRunArgs
Process Run Args
interface ProcessRunArgs {
cmds: String[]; //Commands
timeout: number; //Timeout time, in milliseconds, 0 means ignore timeout
}ProcessRunResult
Process Run Result
interface ProcessRunResult {
exitValue: number; //Exit code
out: string; //Standard output
err: string; //Error output
}RunNodeJSArgs
NodeJS Run Args
interface RunNodeJSArgs {
script: string; //Executed script file e.g.: test/helloworld.js
cmdline: array<String>; //Operating system has restrictions on command line parameter length, max 131071 on Linux. If you need to pass large amounts of data, use stdin
stdin: string; //Standard input
env: Map; //Environment variables
}RunWithContext
Execution Context
interface RunWithContext {
companyId: string; //Team ID
appDefineId: string; //Application identifier
}Data Table
DataAutomaticVar
Automation Parameters
interface DataAutomaticVar {
value: string; //Parameter value
}DefaultValue
Data Table Default Values
interface DefaultValue {
fieldId: string; //Field ID
value: string; //Expression
}DeleteRecordConfig
Delete Record Configuration
interface DeleteRecordConfig {
disableCalculateRollupField: boolean; //Whether to not calculate lookup rollup fields, default false means calculate rollup fields
}InsertRecordConfig
Insert Record Configuration
interface InsertRecordConfig {
disableCalculateRollupField: boolean; //Whether to not calculate lookup rollup fields, default false means calculate rollup fields
}Table
Data Table
interface Table {
id: string; //ID
name: string; //Name
key: string; //Identifier
}TableAccountSimple
Account
interface TableAccountSimple {
id: string; //ID
name: string; //Name
avatar: string; //Avatar
}TableAttachment
Attachment
interface TableAttachment {
name: string; //Name
size: number; //Size
id: string; //ID
thumbnail: string; //Thumbnail
path: string; //Path
md5: string; //MD5 value
}TableChangeLog
Change Log
interface TableChangeLog {
id: string; //ID
recordId: string; //Record ID
fieldId: string; //Field ID
fieldName: string; //Field name
beforeValue: string; //Value before change
afterValue: string; //Value after change
createTime: Date; //Creation time
createUserId: string; //Creator ID
createUserName: string; //Creator name
}TableComment
Comment
interface TableComment {
comment: string; //Content
createTime: Date; //Creation time
createUserAvatar: string; //Creator avatar
createUserId: string; //Creator user ID
createUserName: string; //Creator user name
id: number; //ID
isDelete: boolean; //Whether deleted
parentId: number; //Parent comment ID
recordId: string; //Record ID
}TableCommentForm
Comment Form
interface TableCommentForm {
recordId: string; //Record ID
parentId: number; //Parent comment ID
content: string; //Content
createUserId: string; //Creator account ID
}TableCommentItem
Comment
interface TableCommentItem {
type: string; //Type
text: string; //Comment value
content: array<TableCommentItem>; //Child comments
}TableField
Data Table Field
interface TableField {
id: string; //ID
name: string; //Field name
key: string; //Identifier
type: string; //Field type
group: string; //Group
}TableFieldGroup
Data Table Field Group
interface TableFieldGroup {
id: string; //ID
name: string; //Group name
key: string; //Identifier
color: string; //Color
showInTab: boolean; //Display group as tab
createAsStep: boolean; //Display as step in create form
}TableFieldInfo
Data Table Field Information
interface TableFieldInfo {
id: string; //ID
name: string; //Field name
key: string; //Identifier
type: string; //Field type
icon: string; //Icon
group: string; //Group
displayWidth: number; //Display width
readonly: boolean; //Whether read-only
editableExpression: string; //Editable condition expression
hidden: boolean; //Whether hidden
visibleExpression: string; //Visible condition expression
attachmentSetting: InformatAttachmentSetting; //Attachment configuration
treeSetting: InformatTreeSetting; //Tree selection configuration
cascaderSetting: InformatCascaderSetting; //Cascade selection configuration
checkboxSetting: InformatCheckboxSetting; //Checkbox configuration
childrenSetting: InformatChildrenSetting; //Child object configuration
colorSetting: InformatColorSetting; //Color configuration
coordinateSetting: InformatCoordinateSetting; //Geographic coordinate configuration
createTimeSetting: InformatCreateTimeSetting; //Creation time configuration
createUserSetting: InformatCreateUserSetting; //Creator configuration
customSetting: InformatCustomSetting; //Custom component configuration
dateSetting: InformatDateSetting; //Date configuration
departmentSetting: InformatDepartmentSetting; //Department selection configuration
doubleSetting: InformatDoubleSetting; //Decimal
formulaSetting: InformatFormulaSetting; //Function
iDSetting: InformatIDSetting; //Number
indexNumberSetting: InformatIndexNumberSetting; //Child object number
integerSetting: InformatIntegerSetting; //Integer configuration
lastModifyTimeSetting: InformatLastModifyTimeSetting; //Last modification time configuration
lastModifyUserSetting: InformatLastModifyUserSetting; //Last modifier configuration
memberSetting: InformatUserSetting; //Member configuration
multiTextSetting: InformatMultiTextSetting; //Multi-line text configuration
rateSetting: InformatRateSetting; //Rating
relationRecordFieldSetting: InformatRelationRecordFieldSetting; //Related record field configuration
lookupListSetting: InformatLookupListSetting; //Lookup list configuration
lookupRollupSetting: InformatLookupRollupSetting; //Lookup rollup configuration
relationRecordSetting: InformatRelationRecordSetting; //Related record configuration
relationRollupSetting: InformatRelationRollupSetting; //Related rollup configuration
relationSetting: InformatRelationSetting; //Related list configuration
richTextSetting: InformatRichTextSetting; //Rich text configuration
signatureSetting: InformatSignatureSetting; //Signature configuration
listSelectSetting: InformatListSelectSetting; //List selection configuration
singleTextSetting: InformatSingleTextSetting; //Single-line text configuration
staticTextSetting: InformatStaticTextSetting; //Static text configuration
timeSetting: InformatTimeSetting; //Time configuration
userSetting: InformatUserSetting; //User configuration
uUIDSetting: InformatUUIDSetting; //UUID configuration
seqSetting: InformatSeqSetting; //Sequence number configuration
validateRuleList: array<ValidateRule>; //Validation rules
defaultValueExpression: string; //Dynamic value used during creation
defaultValueRuleList: array<DefaultValueRule>; //Dynamic default value, used when fields change
appId: string; //Application ID
tableId: string; //Data table ID
targetAppId: string; //Target application ID, only has value for related record fields
requiredExpression: string; //Required condition expression
enableChangeLog: boolean; //Whether to enable change records
changeLogAccessRoleList: array<String>; //Change record accessible role list
disableTooltipExpression: string; //Field tooltip when not editable in form
}TableInfo
Data Table Information
interface TableInfo {
id: string; //ID
table: InformatTable; //Data table
tableFieldList: array<TableField>; //Data table field list
tableFieldGroupList: array<TableFieldGroup>; //Data table field group list
}TableQuerySetting
Data Table Query Configuration
interface TableQuerySetting {
forUpdate: boolean; //Whether to lock rows
returnOptionName: boolean; //If there are "list selection", "cascading selection", or "tree selection" fields, also return option value names
includeFields: LinkedHashSet; //Include fields to return
}TableRecordQuery
Data Table Query Conditions
interface TableRecordQuery {
filter: InformatFilter; //Filter condition
pageIndex: number; //Page number
pageSize: number; //Page size
orderByList: array<OrderBy>; //Sorting method
groupByList: array<String>; //Group by query
returnOptionName: boolean; //Return optionName
aggregationQueryList: array<AggregationQuery>; //Aggregation query
includeFields: LinkedHashSet; //Return field list
excludeFields: Set; //Excluded field list
}TableSearchSetting
Data Table Search Configuration
interface TableSearchSetting {
searchChildrenFieldId: string; //Search child object ID
searchTableIndex: boolean; //Show serial number
searchTableBorderStyle: string; //Table border style
searchTableStripe: boolean; //Show stripes
searchTableHideHeader: boolean; //Hide table header
searchChildrenFullPath: boolean; //Show full path of child objects
searchChildrenDefaultLevel: number; //Default level of child objects is 1
searchColumnList: array<TableColumnSetting>; //Searchable field list
searchFilterId: string; //Optional data filter in form
searchFilterConditionList: array<ConditionSetting>; //Filter conditions
searchOrderByList: array<OrderBy>; //Sorting method
searchTableCellStyleList: array<TableViewSettingCellStyle>; //Cell style
searchTableSelectionDisableExpression: string; //Row record hide expression
filterSearchFilterId: string; //Optional data filter for filter conditions
searchFilterVarList: array<SearchFilterVar>; //Filter conditions
}TableSignature
Handwritten Signature
interface TableSignature {
id: string; //ID
accountId: string; //Account ID
accountName: string; //Account name
uploadTime: Date; //Upload time
path: string; //Path
}TableValidateFormResult
Data Table Form Validation Result
interface TableValidateFormResult {
itemList: array<TableValidateFormItem>; //
}UpdateRecordConfig
Record Update Configuration
interface UpdateRecordConfig {
enableChangeLog: boolean; //Whether to enable change log, default false
disableCalculateRollupField: boolean; //Whether to not calculate lookup rollup fields, default false means calculate rollup fields
}SearchFilterVar
Search Filter Variable
interface SearchFilterVar {
id: string; //ID
valueExpression: string; //Condition expression
}Search Engine
TextindexDocument
Document Object
interface TextindexDocument {
applicationId: string; //Application ID
tableId: string; //
tableName: string; //
recordId: string; //Record ID
title: string; //Title
content: string; //Content
openAutomaticId: string; //Open call automation ID
contentHighlight: array<String>; //Highlighted parts
fieldValueList: array<TextindexDocumentField>; //
}TextindexDocumentField
Document Field Object
interface TextindexDocumentField {
fieldId: string; //Field ID
fieldName: string; //Field name
fieldType: string; //Field type
value: object; //Original value
stringValue: string; //Display value
isTitle: boolean; //Whether it is a title
isAttr: boolean; //Whether it is an attribute
}TextindexSearchQuery
Search Engine Query Object
interface TextindexSearchQuery {
keyword: string; //Keyword
tableIdList: array<String>; //Data source identifier list
pageIndex: number; //Page number, starting from 1
pageSize: number; //Page size
}TextindexSearchResult
Search Engine Search Result
interface TextindexSearchResult {
count: number; //Total count
list: array<TextindexDocument>; //Document list
}User
User
User
interface User {
id: string; //ID
name: string; //Name
avatar: string; //Avatar
roleList: array<String>; //Role
departmentList: array<String>; //Department
leaderList: array<String>; //Direct supervisor
companyRoleList: array<String>; //Team role list
weworkUserId: string; //WeChat Work account ID
dingtalkUserId: string; //DingTalk account ID
feishuUserId: string; //Feishu account ID
userInfo: object; //Automation extension information
permissionList: Set; //Permission list
}UserInfo
User Information
interface UserInfo {
userName: string; //Username
mobileNo: string; //Phone number
email: string; //Email
oid: string; //OID
remark: string; //Remark
id: string; //ID
name: string; //Name
avatar: string; //Avatar
roleList: array<String>; //Role
departmentList: array<String>; //Department
leaderList: array<String>; //Direct supervisor
companyRoleList: array<String>; //Team role list
weworkUserId: string; //WeChat Work account ID
dingtalkUserId: string; //DingTalk account ID
feishuUserId: string; //Feishu account ID
userInfo: object; //Automation extension information
permissionList: Set; //Permission list
}UserRole
Application Role
interface UserRole {
id: string; //ID
name: string; //Name
isAdmin: boolean; //Whether it's an administrator
permissionList: array<String>; //Permission list
}Website
WebsiteResource
Website Resource
interface WebsiteResource {
id: string; //ID
name: string; //Name
path: string; //Path
isDirectory: boolean; //Whether it's a directory
fileId: string; //File ID
}Word
WordPicture
Word Picture
interface WordPicture {
url: string; //URL
path: string; //Path
storagePath: string; //Storage path
width: number; //Width
height: number; //Height
}
