斑斑低代码对外开放 API,你可以通过 API 访问斑斑的表单数据。
打开应用,点击右上角“应用设置”。

点击左侧“API 设置”,可以进入设置界面。开启 API 服务后,当前应用的数据即可通过下方的 API 地址进行访问。

| Method | URL | 描述 |
|---|---|---|
| GET | /api/v1/:appId |
获取应用内的所有表单 |
| GET | /api/v1/:appId/:formId |
获取数据列表 |
| GET | /api/v1/:appId/:formId/:docId |
获取单条数据 |
| GET | /api/v1/:appId/:formId/toc |
以目录树结构返回数据列表 |
| POST | /api/v1/:appId/:formId |
创建一条数据 |
| PUT | /api/v1/:appId/:formId/:docId |
修改一条数据 |
| DELETE | /api/v1/:appId/:formId/:docId |
删除一条数据 |
其中,appId为应用 ID,formId为表单 ID(或表单别名),docId为数据 ID。
返回数据包含以下字段:
<font style="background-color:#f9ddb2;">data</font> 数据本身,可能有以下情况:<font style="background-color:#f9ddb2;">id</font>``string<font style="background-color:#f9ddb2;">updateTime</font>``int 时间戳<font style="background-color:#f9ddb2;">createTime</font>``int 时间戳<font style="background-color:#f9ddb2;">title</font> 表单中定义的字段 title<font style="background-color:#f9ddb2;">description</font> 表单中定义的字段 description<font style="background-color:#f9ddb2;">meta</font> 一些元数据(可扩展)<font style="background-color:#f9ddb2;">pagination</font> 分页信息(可选)<font style="background-color:#f9ddb2;">page</font>``int页数<font style="background-color:#f9ddb2;">pageSize</font>``int分页大小<font style="background-color:#f9ddb2;">pageCount</font>``int总页数<font style="background-color:#f9ddb2;">total</font>``int数据总条数<font style="background-color:#f9ddb2;">error</font> 错误信息(可选)<font style="background-color:#f9ddb2;">code</font>``int 错误码<font style="background-color:#f9ddb2;">name</font>``string 错误类型<font style="background-color:#f9ddb2;">message</font>``string 错误信息<font style="background-color:#f9ddb2;">details</font>``object 详细信息key 和 secret 可以在工作台的管理后台中获取。

需要 Key-Secret 校验的请求,需要发送以下请求参数(GET 传参):
| 参数 | 类型 | 说明 |
|---|---|---|
| key | 字符串 | 工作台-管理后台中获取的 key |
| timestamp | 时间戳 | 10 位或 13 位时间戳。服务端会校验时间,相差超过 60 秒会拒绝访问。 |
| sign | 字符串 | 加密字符串。服务端会校验加密算法,校验失败会拒绝访问。加密算法为:md5(key + timestamp + secret) |
比如 key 为vPQLpCHlXNKu,secret 为RaCBog1j8ruflI14amyeqYXm,则请求时的参数为:
key=vPQLpCHlXNKu×tamp=1757391409&sign=36c0e2bbb0514d8df5144bda04f94765
以下示例中,4j815fmhht0j是应用 ID,articles是表单别名。
GET http://localhost:43334/api/v1/4j815fmhht0j/articles
1 | { |
GET http://localhost:43334/api/v1/4j815fmhht0j/articles/stykuonikdfl
1 | { |
POST http://localhost:43334/api/v1/4j815fmhht0j/articles
1 | { |
1 | { |
PUT http://localhost:43334/api/v1/4j815fmhht0j/articles/stykuonikdfl
1 | { |
1 | { |
DELETE http://localhost:43334/api/v1/4j815fmhht0j/articles/stykuonikdfl 成功时仅返回状态码 204,无响应体
GET /api/v1/:appId/:formId?filters[:field][:operator]=:value
| 操作 | 描述 |
|---|---|
$eq |
相等 |
$ne |
不相等 |
$lt |
小于 |
$lte |
小于或等于 |
$gt |
大于 |
$gte |
大于或等于 |
$in |
包含在数组中 |
$nin |
不包含在数组中 |
$exists |
是否存在 |
$or |
或 |
$and |
且 |
$not |
非 |
可以用参数fields选择返回哪些字段,默认会返回除关系、子表之外的所有字段。
| 用法 | 示例 |
|---|---|
| 选择单个字段 | fields=name |
| 选择多个字段 | fields[0]=name&fields[1]=description |
REST API 默认不会返回关系字段、子表字段,可以用参数populate来填充。
| 用法 | 示例 |
|---|---|
| 填充所有字段 | populate=* |
| 填充一个字段 | populate=a-relation-name |
| 填充多个字段 | populate[0]=relation-name&populate[1]=another-relation-name&populate[2]=yet-another-relation-name |
可以通过sort参数对数据进行排序。:asc为正序(默认方式,可不写),:desc为倒序。
| 用法 | 示例 | |
|---|---|---|
| 单个字段排序 | <font style="color:rgb(74, 74, 106);">sort=name</font> |
按 name 正序 |
| 多个字段排序 | sort[0]=name&sort[1]=description |
先按 name 正序,再按 description 正序 |
| 单个字段倒序 | sort=name:desc |
按 name 倒序 |
| 多字段混合排序 | sort[0]=name:desc&sort[1]=description |
先按 name 倒序,再按 description 正序 |
GET /api/v1/:appId/:formId?pagination[page]=1&pagination[pageSize]=10
| 参数 | 类型 | 描述 | 默认值 |
|---|---|---|---|
pagination[page] |
Integer | 第几页 | <font style="color:rgb(74, 74, 106);">1</font> |
pagination[pageSize] |
Integer | 每页条数 | <font style="color:rgb(74, 74, 106);background-color:rgba(220, 220, 228, 0.243);">25</font> |
pagination[withCount] |
Boolean | 是否返回总条数和总页数 | <font style="color:rgb(74, 74, 106);">true</font> |
GET /api/v1/:appId/:formId?pagination[start]=0&pagination[limit]=10
| 参数 | 类型 | 描述 | 默认值 |
|---|---|---|---|
pagination[start] |
Integer | 起始下标 | <font style="color:rgb(74, 74, 106);">0</font> |
pagination[limit] |
Integer | 查询条数 | <font style="color:rgb(74, 74, 106);background-color:rgba(220, 220, 228, 0.243);">25</font> |
pagination[withCount] |
Boolean | 是否返回数据总条数 | true |