Skip to content

Informat WebAPI

Overview

If you need to access data from Informat applications in your own system, we provide a rich set of WebAPIs. You can use WebAPIs to retrieve and process data.

Unified Specifications

Unified use of UTF-8 encoding. Please ensure the encoding of your files and the format of incoming parameters. All interfaces use POST as the request method.

How to Obtain apiKey

In Informat, go to 【Workbench】>【Application Management】>【Settings】>【Generate API Key】 Generate API Key

Data Table Operations

Query Data Table Record List

Request URL

https://next.informat.cn/web0/webapi/table_record_list

Body Parameters

NameTypeRequiredDescription
apiKeyStringYesApplication's Apikey
tableIdStringYesData table identifier
pageIndexNumberNoPage number; defaults to 1 when not passed
pageSizeNumberNoNumber of records per page; defaults to 50 when not passed, -1 means query all data
filterFilterNoFilter conditions; defaults to {} when not passed
aggregationQueryListArray<AggregationQuery>NoAggregation query list; defaults to [] when not passed
groupByListArray<String>NoGrouping field list; no grouping when not passed
excludeFieldsArray<String>NoList of field identifiers to exclude from return values; query all fields when not passed or empty array
orderByListArray<OrderBy>NoSorting method list; earlier array elements have higher sorting priority

Return Value Returns the queried record list, type is Array<Object>

Example 1: Query Data Table with Condition Filtering

Query all records in the data table with identifier dataModelBasics where the field integerNum is greater than or equal to 100

json
{
  "apiKey": "ok3lluet8ni30ztwto0sj",
  "tableId": "dataModelBasics",
  "pageSize": -1,
  "filter": {
    "conditionList": [
      {
        "fieldId": "integerNum",
        "opt": "ge",
        "value": 100
      }
    ]
  }
}

Return Example

json
{
  "requestId": "b91d8upmbviqy",
  "message": "success",
  "code": 0,
  "data": {
    "recordList": [
      {
        "integerNum": 222,
        "id": "v4ln4hun0hzkc",
        "seq": 1,
        "singleText": "informat-next"
      },
      {
        "integerNum": 100,
        "id": "y9j5n6q86us1b",
        "seq": 2,
        "singleText": "informat"
      }
    ],
    "count": 2
  },
  "timestamp": 1740653036527,
  "remark": null
}

Example 2: Aggregation Query on Data Table

Aggregation query for the average age of active employees in the Staff Table (identifier: staffs)

json
{
  "apiKey": "ok3lluet8ni30ztwto0sj",
  "tableId": "staffs",
  "pageSize": -1,
  "filter": {
    "conditionList": [
      {
        "fieldId": "status",
        "opt": "eq",
        "value": "onjob"
      }
    ]
  },
  "aggregationQueryList": [
    {
      "func": "avg",
      "fieldId": "age"
    }
  ]
}

Return Example

json
{
  "requestId": "w6dvurgfs63lm",
  "message": "success",
  "code": 0,
  "data": {
    "recordList": [
      {
        "age_avg": 28.82
      }
    ],
    "count": 1
  },
  "timestamp": 1743310798279,
  "remark": null
}

Query Data Table Record by ID

Request URL

https://next.informat.cn/web0/webapi/table_record_get

Body Parameters

NameTypeRequiredDescription
apiKeyStringYesApplication's Apikey
tableIdStringYesData table identifier
idStringYesRecord ID

Return Value Returns the queried record details, type is Object

Body Example

Query the record details with ID v4ln4hun0hzkc in the data table with identifier dataModelBasics

json
{
  "apiKey": "ok3lluet8ni30ztwto0sj",
  "tableId": "dataModelBasics",
  "id": "v4ln4hun0hzkc"
}

Return Example

json
{
  "requestId": "b91d8upmbviqy",
  "message": "success",
  "code": 0,
  "data": {
    "integerNum": 222,
    "id": "v4ln4hun0hzkc",
    "seq": 1,
    "singleText": "informat-next"
  },
  "timestamp": 1740653036527,
  "remark": null
}

Insert Data Table Record

Request URL

https://next.informat.cn/web0/webapi/table_record_insert

Body Parameters

NameTypeRequiredDescription
apiKeyStringYesApplication's Apikey
tableIdStringYesData table identifier
rowDataObjectYesRecord to be created

Return Value Returns the inserted record, type is Object

Body Example

json
{
  "apiKey": "ok3lluet8ni30ztwto0sj",
  "tableId": "dataModelBasics",
  "rowData": {
    "integerNum": 100,
    "singleText": "informat"
  }
}

Return Example

json
{
  "requestId": "wzrnibc1hrzh5",
  "message": "success",
  "code": 0,
  "data": {
    "id": "m0d77w6c8ptul",
    "seq": 1,
    "integerNum": 100,
    "singleText": "informat"
  },
  "timestamp": 1740653292358,
  "remark": null
}

Batch Insert Data Table Records

Request URL

https://next.informat.cn/web0/webapi/table_record_batch_insert

Body Parameters

NameTypeRequiredDescription
apiKeyStringYesApplication's Apikey
tableIdStringYesData table identifier
rowDataListArray<Object>YesList of records to be created

Return Value Returns the number of inserted records, type is Number

Body Example

json
{
  "apiKey": "ok3lluet8ni30ztwto0sj",
  "tableId": "dataModelBasics",
  "rowDataList": [
    {
      "integerNum": 100,
      "singleText": "informat"
    },
    {
      "integerNum": 200,
      "singleText": "informat"
    }
  ]
}

Return Example

json
{
  "requestId": "wzrnibc1hrzh5",
  "message": "success",
  "code": 0,
  "data": 2,
  "timestamp": 1740653292358,
  "remark": null
}

Update Data Table Record

Request URL

https://next.informat.cn/web0/webapi/table_record_update

Body Parameters

NameTypeRequiredDescription
apiKeyStringYesApplication's Apikey
tableIdStringYesData table identifier
rowDataObjectYesRecord to be updated, must include id
updateFieldsArray<String>YesList of field identifiers to update

Return Value Returns the number of updated records, type is Number

Body Example

json
{
  "apiKey": "ok3lluet8ni30ztwto0sj",
  "tableId": "dataModelBasics",
  "rowData": {
    "id": "m0d77w6c8ptul",
    "integerNum": 200
  },
  "updateFields": ["integerNum"]
}

Return Example

json
{
  "requestId": "wzrnibc1hrzh5",
  "message": "success",
  "code": 0,
  "data": 1,
  "timestamp": 1740653292358,
  "remark": null
}

Batch Update Data Table Records

Request URL

https://next.informat.cn/web0/webapi/table_record_batch_update

Body Parameters

NameTypeRequiredDescription
apiKeyStringYesApplication's Apikey
tableIdStringYesData table identifier
rowDataListArray<Object>YesList of records to be updated, must include id

Return Value Returns the number of updated records, type is Number

Body Example

json
{
  "apiKey": "ok3lluet8ni30ztwto0sj",
  "tableId": "dataModelBasics",
  "rowDataList": [
    {
      "id": "m0d77w6c8ptul",
      "integerNum": 101,
      "singleText": "informat"
    },
    {
      "id": "d239lnruys24t",
      "integerNum": 102,
      "singleText": "informat"
    }
  ],
  "updateFields": ["integerNum", "singleText"]
}

Return Example

json
{
  "requestId": "wzrnibc1hrzh5",
  "message": "success",
  "code": 0,
  "data": 2,
  "timestamp": 1740653292358,
  "remark": null
}

Delete Data Table Record

Request URL

https://next.informat.cn/web0/webapi/table_record_delete

Body Parameters

NameTypeRequiredDescription
apiKeyStringYesApplication's Apikey
tableIdStringYesData table identifier
idStringYesRecord ID

Return Value Returns the number of deleted records, type is Number

Body Example

json
{
  "apiKey": "ok3lluet8ni30ztwto0sj",
  "tableId": "dataModelBasics",
  "id": "m0d77w6c8ptul"
}

Return Example

json
{
  "requestId": "wzrnibc1hrzh5",
  "message": "success",
  "code": 0,
  "data": 1,
  "timestamp": 1740653292358,
  "remark": null
}

Batch Delete Data Table Records

Request URL

https://next.informat.cn/web0/webapi/table_record_batch_delete

Body Parameters

NameTypeRequiredDescription
apiKeyStringYesApplication's Apikey
tableIdStringYesData table identifier
idListArray<String>YesList of record IDs to be deleted

Return Value Returns the number of deleted records, type is Number

Body Example

json
{
  "apiKey": "ok3lluet8ni30ztwto0sj",
  "tableId": "dataModelBasics",
  "idList": ["m0d77w6c8ptul", "d239lnruys24t"]
}

Return Example

json
{
  "requestId": "wzrnibc1hrzh5",
  "message": "success",
  "code": 0,
  "data": 2,
  "timestamp": 1740653292358,
  "remark": null
}

Application Design

Get Design Definition List

Request URL

https://next.informat.cn/web0/webapi/app_define_object_list

Body Parameters

NameTypeRequiredDescription
apiKeyStringYesApplication's Apikey
nameStringNoDefinition name, such as data table name
typeStringNoDefinition type

Return Value Returns the definition list, type is Array<DefineObject>

Body Example

json
{
  "apiKey": "jjw76elhtybxp3ew7gcay",
  "name": "Data Table",
  "type": "Table"
}

Return Example

json
{
  "requestId": "adwvj2ianlqba",
  "message": "success",
  "code": 0,
  "data": [
    {
      "id": "zt2jjro99m7k1",
      "key": "zt2jjro99m7k1",
      "scope": "App",
      "name": "Data Table",
      "displayName": null,
      "remark": "This module details how to configure data table cards in Informat's [Dashboard Module].",
      "build": 4,
      "draftVersion": 3,
      "ignoreAddVersion": false,
      "isDeleted": false,
      "parentId": null,
      "parentName": null,
      "createUser": "Wang Yanfeng",
      "updateUser": "skydu",
      "createTime": "Mon Aug 19 16:09:54 CST 2024",
      "updateTime": "Mon Feb 17 22:43:48 CST 2025",
      "type": "Dashboard",
      "icon": "line-chart",
      "iconColor": null,
      "textColor": null,
      "isHiddenWeb": false,
      "isHiddenMobile": false,
      "moduleHiddenVar": null,
      "bgColor": null,
      "disableNavBreadcrumb": false,
      "disableModuleTitle": false,
      "enableModuleTitleRichtext": false,
      "moduleTitleRichtext": null,
      "modulePadding": null,
      "moduleBorderRadius": null,
      ...
    }
  ],
  "timestamp": 1740653171798,
  "remark": null
}

Get Design Definition

Request URL

https://next.informat.cn/web0/webapi/app_define_object_get

Body Parameters

NameTypeRequiredDescription
apiKeyStringYesApplication's Apikey
idStringYesDefinition ID, for example, the ID of a module definition is the module ID
scopeStringYesScope, App or other definition ID. For example, to query data table field definitions, the scope is the data table module definition ID

Return Value Returns the definition list, type is Array<DefineObject>

Body Example

json
{
  "apiKey": "jjw76elhtybxp3ew7gcay",
  "id": "l69kzbnd1f048",
  "scope": "App"
}

Return Example

json
{
  "requestId": "r23fnl33hbdtl",
  "message": "success",
  "code": 0,
  "data": {
    "id": "l69kzbnd1f048",
    "key": "l69kzbnd1f048",
    "scope": "App",
    "name": "Shared Storage",
    "displayName": null,
    "remark": "Informat uniformly uses S3 protocol-based shared storage to save user-uploaded files, and data generated in applications is stored in different directories according to different scenarios. Shared storage is isolated by team ID and application ID.",
    "build": 4,
    "draftVersion": 5,
    "ignoreAddVersion": false,
    "isDeleted": false,
    "parentId": null,
    "parentName": null,
    "updateUser": "skydu",
    "createTime": "Tue May 28 14:55:35 CST 2024",
    "updateTime": "Mon Feb 17 22:43:50 CST 2025",
    "type": "Dashboard",
    "icon": "line-chart",
    "iconColor": null,
    "textColor": null,
    "isHiddenWeb": false,
    "isHiddenMobile": false,
    "moduleHiddenVar": null,
    "bgColor": null,
    "disableNavBreadcrumb": false,
    "disableModuleTitle": false,
    "enableModuleTitleRichtext": false,
    "moduleTitleRichtext": null,
    "modulePadding": null,
    "moduleBorderRadius": null,
    ...
  },
  "timestamp": 1740652803611,
  "remark": null
}

Application Management

Get Application Member List

Request URL

https://next.informat.cn/web0/webapi/app_member_list

Body Parameters

NameTypeRequiredDescription
apiKeyStringYesApplication's Apikey
accountIdListArray<String>NoAccount ID list
roleListArray<String>NoRole ID list

Return Value Returns the application member list, type is Array<AppMemberVO>

Body Example

json
{
  "apiKey": "jjw76elhtybxp3ew7gcay",
  "roleList": ["admin", "user"]
}

Return Example

json
{
  "requestId": "d5vsjebh205uu",
  "message": "success",
  "code": 0,
  "data": {
    "list": [
      {
        "accountId": "zhangsan",
        "rowNumber": 1742458050115,
        "roleList": ["admin"],
        "createTime": "2025-03-20T08:07:30.130+00:00",
        "accountName": "Zhang San",
        "accountAvatar": "pic15.jpg",
        "accountHint": "zhangsan",
        "accountRemark": null,
        "departmentList": ["jiaofubu"]
      },
      {
        "accountId": "lisi",
        "rowNumber": 1741058789049,
        "roleList": ["user"],
        "createTime": "2025-03-04T03:26:29.052+00:00",
        "accountName": "Li Si",
        "accountAvatar": "pic16.png",
        "accountHint": "lisi",
        "accountRemark": null,
        "departmentList": ["jsb"]
      }
    ],
    "count": 2
  },
  "timestamp": 1742631942367,
  "remark": null
}

Get Application Member Details by Account ID

Request URL

https://next.informat.cn/web0/webapi/app_member_get

Body Parameters

NameTypeRequiredDescription
apiKeyStringYesApplication's Apikey
accountIdStringYesAccount ID

Return Value Returns the application member list, type is Array<AppMemberVO>

Body Example

json
{
  "apiKey": "jjw76elhtybxp3ew7gcay",
  "accountId": "zhangsan"
}

Return Example

json
{
  "requestId": "rg60k9kala8l4",
  "message": "success",
  "code": 0,
  "data": {
    "accountId": "zhangsan",
    "rowNumber": 1740731380122,
    "roleList": ["admin"],
    "createTime": "2025-02-28T08:29:40.125+00:00",
    "accountName": "Zhang San",
    "accountAvatar": "pic15.jpg",
    "accountHint": "zhangsan",
    "accountRemark": null,
    "departmentList": ["jiaofubu"]
  },
  "timestamp": 1742632106330,
  "remark": null
}