Skip to content

Model Definition

AI Assistant

AiAgentContent

AI Message

ts
interface AiAgentContent {
  type: string; //Type
  text: string; //Text
  imageUrl: string; //Image URL
}

AiAgentThread

AI Session

ts
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

ts
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

ts
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

ts
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

ts
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

ts
interface OpenAIChatMessageContent {
	text:string;//Text content
Format requirements:
- Non-empty string
- Length limit: 4096 characters
}

OpenAIChatMessageSetting

AI Chat Message Setting

ts
interface OpenAIChatMessageSetting {
  role: string; //Role
  content: object; //Content
}

OpenAIChatPredictionOptions

AI Chat Message Prediction Output Configuration

ts
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

ts
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.1Only 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

ts
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

ts
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

ts
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: 17157512342024-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

ts
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

ts
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 audio50 tokens
Example:
Generate 30 seconds of speechapproximately 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

ts
interface OpenAIChatRespError {
  message: string; //Error message
  type: string; //Error type
  param: object; //Parameter
  code: string; //Error code
}

OpenAIChatRespPromptTokensDetails

Input prompt token usage breakdown

ts
interface OpenAIChatRespPromptTokensDetails {
	audio_tokens:number;//Audio input token count
Conversion rules:
1 second of audio50 tokens
Example:
30 seconds of speech inputapproximately 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

ts
interface OpenAIChatRespTool {
  id: string; //ID
  type: string; //Tool type (fixed value 'function')
  function: InformatOpenAIChatRespToolFunction; //ToolCall function
}

OpenAIChatRespToolFunction

AI chat response toolcall function

ts
interface OpenAIChatRespToolFunction {
  name: string; //Function ID
  arguments: string; //Arguments
}

OpenAIChatRespUsage

AI token consumption statistics

ts
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

ts
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

ts
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

ts
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)

ts
interface OpenAIChatToolChoice {
  type: string; //Tool type (currently only supports function)
  function: InformatOpenAIChatToolChoiceFunction; //Function detailed definition
}

OpenAIChatToolChoiceFunction

AI chat tool call strategy configuration function definition

ts
interface OpenAIChatToolChoiceFunction {
  name: string; //Function name (must comply with naming conventions)
  Example: get_current_weather;
}

OpenAIChatUserLocation

AI chat approximate geographic location configuration

ts
interface OpenAIChatUserLocation {
  approximate: InformatOpenAIChatApproximate; //Approximate location parameters (required)
  type: string; //Location approximation type. Always approximate
}

OpenAIChatWebSearchOptions

AI chat message web search configuration

ts
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

ts
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

ts
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

ts
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

ts
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

ts
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

ts
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

ts
interface AppEvent {
  id: string; //ID
  content: object; //Content
}

AppEventDefine

Application Event Definition

ts
interface AppEventDefine {
  id: string; //ID
  key: string; //Identifier
  name: string; //Name
  remark: string; //Remark
}

ApplicationProcess

Application Process

ts
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

ts
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

ts
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

ts
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

ts
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

ts
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

ts
interface ScriptDefine {
  id: string; //ID
  name: string; //Name
}

Automation

FormContent

Event Content

ts
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

ts
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

ts
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

ts
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

ts
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

ts
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

ts
interface ViewFilter {
  opt: string; //Operator: and or or
  conditionList: array<String>; //Filter field list
}

Workflow

BpmnComment

Workflow Comment

ts
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

ts
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
}

Workflow Identity Link

ts
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

ts
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

ts
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

ts
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

ts
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

ts
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

ts
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

ts
interface BpmnTableFieldSetting {
  id: string; //
  editable: boolean; //
  visible: boolean; //
  defaultValue: object; //
}

BpmnTask

Workflow Task

ts
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

ts
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

ts
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

ts
interface BpmnVar {
  name: string; //Variable name
  value: object; //Value
  opt: string; //
}

FormSetting

Process Form Setting

ts
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

ts
interface AppGroup {
  id: string; //ID
  name: string; //Name
  rowNumber: number; //Sort order
  createTime: Date; //Creation time
  updateTime: Date; //Last update time
}

Company

Team

ts
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

ts
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

ts
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

ts
interface InstallAppRequest {
  imrUrl: string; //imr file URL
  groupId: string; //Group ID
  isForce: boolean; //Whether to force
}

OptLog

Operation Log

ts
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

ts
interface UpdateAppGroupRequest {
  imrUrl: string; //imr file URL
  groupId: string; //Group ID
}

UpgradeAppRequest

Upgrade App Request

ts
interface UpgradeAppRequest {
  appId: string; //App ID
  imrUrl: string; //imr file URL
  isForce: boolean; //Whether to force
}

UserAppList

User App List

ts
interface UserAppList {
  appList: array<App>; //
  appGroupList: array<AppGroup>; //
}

Data Source

DataSourceConnnectionSetting

Data Source Configuration

ts
interface DataSourceConnnectionSetting {
  autoCommit: boolean; //Whether to automatically commit transactions, default is true
}

Department

Department

Department

ts
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

ts
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

ts
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

ts
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

ts
interface TableFieldDefineSimple {
  id: string; //ID
  name: string; //Name
  key: string; //Identifier
  scope: string; //Scope
  type: string; //Type
}

Email

EmailRecipient

Email Recipient

ts
interface EmailRecipient {
  address: string; //Address
  personal: string; //Name
  type: string; //Send type
}

EmailServer

Email Server

ts
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

ts
interface TemplateCell {
  content: object; //Cell value
  rowspan: number; //
  colspan: number; //
}

File

File

File

ts
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

ts
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

ts
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

ts
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

ts
interface JDBCResultSet {
  rs: ResultSet; //Result set
}

ProcParam

Stored Procedure Input Parameters

ts
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

ts
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

ts
interface LdapListResult {
  className: string; //
  name: string; //
  nameInNamespace: string; //
  isRelative: boolean; //
}

LdapModifyAttribute

LDAP Attribute List

ts
interface LdapModifyAttribute {
  id: string; //Attribute ID
  value: object; //Attribute value
}

LdapSearchControl

Search Control

ts
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

ts
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

ts
interface LdapSearchResultAttribute {
  id: string; //Attribute ID
  values: Object[]; //Attribute value list
}

Mpp

MppCustomFieldValueDataType

Custom Field Data Type

ts
interface MppCustomFieldValueDataType {
  value: number; //Value
  maskValue: number; //Mask
  dataType: string; //Data type
}

MppCustomFieldValueMask

MPP Custom Field Mask

ts
interface MppCustomFieldValueMask {
  length: number; //Length
  level: number; //Level
  separator: string; //Separator
  type: InformatMppCustomFieldValueDataType; //
}

MppWriterConfig

MPP Configuration File

ts
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

ts
interface MqMessage {
  body: object; //Message body
  props: InformatMqMessageProperties; //Message properties
}

MqMessageProperties

Message Properties

ts
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

ts
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

ts
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

ts
interface NotificationAutomaticSetting {
  automaticId: string; //Automation ID
  args: array<Object>; //Parameter list
}

NotificationBpmnTaskSetting

Workflow Task Configuration Information

ts
interface NotificationBpmnTaskSetting {
  taskId: string; //Task ID
  moduleId: string; //Module ID
}

NotificationForm

System Notification Form

ts
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

ts
interface NotificationReocrdSetting {
  recordId: string; //Record ID
  moduleId: string; //Module ID
}

NotificationUrlSetting

Link Configuration Information

ts
interface NotificationUrlSetting {
  url: string; //Link address
  isAppURL: boolean; //Whether it is an in-app link
}

Query Conditions

AggregationQuery

Aggregation Query

ts
interface AggregationQuery {
  func: string; //Aggregation function
  fieldId: string; //Aggregation field
  distinct: boolean; //Whether to deduplicate
}

Condition

Condition

ts
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

ts
interface Filter {
  opt: string; //Operator
  conditionList: array<Condition>; //Filter conditions
  children: array<Filter>; //Child filter conditions
}

OrderBy

Order By

ts
interface OrderBy {
  field: string; //Field name
  type: string; //Sort type
}

Query

Query Conditions

ts
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

ts
interface SftpFile {
  filename: string; //File name
  longname: string; //Long name
  attrs: SftpFileAttr; //File attribute list
}

Shared Storage

ConvertFormatResult

Format Conversion Result

ts
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

ts
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

ts
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

ts
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

ts
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

ts
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

ts
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

ts
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

ts
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

ts
interface SurveyItemField {
  id: string; //Field ID
  value: object; //Default value
}

System

LoginForm

Login Form

ts
interface LoginForm {
  userName: string; //Username
  password: string; //Password
  type: string; //Login type
  ip: string; //IP
}

LoginResult

Login Result

ts
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

ts
interface ProcessRunArgs {
  cmds: String[]; //Commands
  timeout: number; //Timeout time, in milliseconds, 0 means ignore timeout
}

ProcessRunResult

Process Run Result

ts
interface ProcessRunResult {
  exitValue: number; //Exit code
  out: string; //Standard output
  err: string; //Error output
}

RunNodeJSArgs

NodeJS Run Args

ts
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

ts
interface RunWithContext {
  companyId: string; //Team ID
  appDefineId: string; //Application identifier
}

Data Table

DataAutomaticVar

Automation Parameters

ts
interface DataAutomaticVar {
  value: string; //Parameter value
}

DefaultValue

Data Table Default Values

ts
interface DefaultValue {
  fieldId: string; //Field ID
  value: string; //Expression
}

DeleteRecordConfig

Delete Record Configuration

ts
interface DeleteRecordConfig {
  disableCalculateRollupField: boolean; //Whether to not calculate lookup rollup fields, default false means calculate rollup fields
}

InsertRecordConfig

Insert Record Configuration

ts
interface InsertRecordConfig {
  disableCalculateRollupField: boolean; //Whether to not calculate lookup rollup fields, default false means calculate rollup fields
}

Table

Data Table

ts
interface Table {
  id: string; //ID
  name: string; //Name
  key: string; //Identifier
}

TableAccountSimple

Account

ts
interface TableAccountSimple {
  id: string; //ID
  name: string; //Name
  avatar: string; //Avatar
}

TableAttachment

Attachment

ts
interface TableAttachment {
  name: string; //Name
  size: number; //Size
  id: string; //ID
  thumbnail: string; //Thumbnail
  path: string; //Path
  md5: string; //MD5 value
}

TableChangeLog

Change Log

ts
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

ts
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

ts
interface TableCommentForm {
  recordId: string; //Record ID
  parentId: number; //Parent comment ID
  content: string; //Content
  createUserId: string; //Creator account ID
}

TableCommentItem

Comment

ts
interface TableCommentItem {
  type: string; //Type
  text: string; //Comment value
  content: array<TableCommentItem>; //Child comments
}

TableField

Data Table Field

ts
interface TableField {
  id: string; //ID
  name: string; //Field name
  key: string; //Identifier
  type: string; //Field type
  group: string; //Group
}

TableFieldGroup

Data Table Field Group

ts
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

ts
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

ts
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

ts
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

ts
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

ts
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

ts
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

ts
interface TableValidateFormResult {
  itemList: array<TableValidateFormItem>; //
}

UpdateRecordConfig

Record Update Configuration

ts
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

ts
interface SearchFilterVar {
  id: string; //ID
  valueExpression: string; //Condition expression
}

Search Engine

TextindexDocument

Document Object

ts
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

ts
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

ts
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

ts
interface TextindexSearchResult {
  count: number; //Total count
  list: array<TextindexDocument>; //Document list
}

User

User

User

ts
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

ts
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

ts
interface UserRole {
  id: string; //ID
  name: string; //Name
  isAdmin: boolean; //Whether it's an administrator
  permissionList: array<String>; //Permission list
}

Website

WebsiteResource

Website Resource

ts
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

ts
interface WordPicture {
  url: string; //URL
  path: string; //Path
  storagePath: string; //Storage path
  width: number; //Width
  height: number; //Height
}