MCP Python API 接口文档 - 应用体系
1. 流程
1.1 流程激活
python调用方法名: bmcp.flow_activate
入参结构:
| 字段名 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| flowId | int | 是 | 流程节点id,激活到哪个节点 |
| dataId | string | 是 | 数据id |
| appId | string | 是 | 应用id |
| formId | string | 是 | 表单id |
响应结构:
| 字段名 | 类型 | 说明 |
|---|---|---|
| code | int | 执行结果码,200代表成功,其他代表失败 |
| msg | string | 成功或失败详情 |
入参和响应示例:
入参示例:
{
"flowId": 3,
"dataId": "94264106bbebd4df2ead0e39",
"appId": "52b64298390f3f180f0c7cf9",
"formId": "5cb945e9a55e9f857e4601c9"
}
响应示例:
{
"code": 200,
"msg": "success"
}
Python插件开发代码示例:
import bmcp
def test_flow_activate(args: Args) -> Output:
# 插件定义好入参后除了动态部分,其他部分无需调整的可以直接按如下方式继承
params = args.params
# 如果需要固定参数 可以如下指定
params["flowId"] = 3
params["dataId"] = "94264106bbebd4df2ead0e39"
params["appId"] = "52b64298390f3f180f0c7cf9"
params["formId"] = "5cb945e9a55e9f857e4601c9"
result = bmcp.flow_activate(params)
# 如果必须返回 Output 类型实例,可以强制转换,否则直接返回 dict 也可被接受
return Output(result)
1.2 结束流程
python调用方法名: bmcp.flow_close
入参结构:
| 字段名 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| dataId | string | 是 | 数据id |
| appId | string | 是 | 应用id |
| formId | string | 是 | 表单id |
响应结构:
| 字段名 | 类型 | 说明 |
|---|---|---|
| code | int | 执行结果码,200代表成功,其他代表失败 |
| msg | string | code非200时的错误详情 |
入参和响应示例:
入参示例:
{
"dataId": "94264106bbebd4df2ead0e39",
"appId": "52b64298390f3f180f0c7cf9",
"formId": "5cb945e9a55e9f857e4601c9"
}
响应示例:
{
"code": 200,
"msg": "success"
}
Python插件开发代码示例:
import bmcp
def test_flow_close(args: Args) -> Output:
# 插件定义好入参后除了动态部分,其他部分无需调整的可以直接按如下方式继承
params = args.params
# 如果需要固定参数 可以如下指定
params["dataId"] = "94264106bbebd4df2ead0e39"
params["appId"] = "52b64298390f3f180f0c7cf9"
params["formId"] = "5cb945e9a55e9f857e4601c9"
result = bmcp.flow_close(params)
# 如果必须返回 Output 类型实例,可以强制转换,否则直接返回 dict 也可被接受
return Output(result)
1.3 批量结束流程
python调用方法名: bmcp.flow_batch_close
入参结构:
| 字段名 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| idList | string array | 是 | 数据id数组 |
| appId | string | 是 | 应用id |
| formId | string | 是 | 表单id |
响应结构:
| 字段名 | 类型 | 说明 |
|---|---|---|
| fail | int | 失败条数 |
| success | int | 成功条数 |
| total | int | 总条数 |
入参和响应示例:
入参示例:
{
"idList": [
"94264106bbebd4df2ead0e39"
],
"appId": "52b64298390f3f180f0c7cf9",
"formId": "5cb945e9a55e9f857e4601c9"
}
响应示例:
{
"total": 1,
"faile": 0,
"success": 1
}
Python插件开发代码示例:
import bmcp
def test_flow_batch_close(args: Args) -> Output:
# 插件定义好入参后除了动态部分,其他部分无需调整的可以直接按如下方式继承
params = args.params
# 如果需要固定参数 可以如下指定
params["idList"] = [
"94264106bbebd4df2ead0e37"
]
params["appId"] = "52b64298390f3f180f0c7cf9"
params["formId"] = "5cb945e9a55e9f857e4601c9"
result = bmcp.flow_batch_close(params)
# 如果必须返回 Output 类型实例,可以强制转换,否则直接返回 dict 也可被接受
return Output(result)
1.4 流程待办发起
python调用方法名: bmcp.flow_start
入参结构:
| 字段名 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| values | Object | 是 | 数据内容 |
| flowCreator | string | 否 | 发起人 |
响应结构:
| 字段名 | 类型 | 说明 |
|---|---|---|
| dataId | string | 数据id |
入参和响应示例:
入参示例:
{
"appId": "52b64298390f3f180f0c7cf9",
"formId": "5cb945e9a55e9f857e4601c9",
"flowCreator": "5577ebc4504e8e77036da09",
"values": {
"单行文本": "test001",
"数字": 20
}
}
响应示例:
{
"dataId": "16d444c58be7ae6b30af7d02"
}
Python插件开发代码示例:
import bmcp
def test_flow_start(args: Args) -> Output:
# 插件定义好入参后除了动态部分,其他部分无需调整的可以直接按如下方式继承
params = args.params
# 如果需要固定参数 可以如下指定
params["appId"] = "52b64298390f3f180f0c7cf9"
params["formId"] = "5cb945e9a55e9f857e4601c9"
params["flowCreator"] = "5577ebc4504e8e77036d2a99"
params["values"] = {
"单行文本": "test001",
"数字": 20
}
result = bmcp.flow_start(params)
# 如果必须返回 Output 类型实例,可以强制转换,否则直接返回 dict 也可被接受
return Output(result)
1.5 流程待办提交
python调用方法名: bmcp.flow_forward
入参结构:
| 字段名 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| appId | string | 是 | 应用id |
| formId | string | 是 | 表单id |
| dataId | string | 是 | 数据id |
| operator | string | 否 | 操作人,必须是当前流程数据节点负责人,不传默认当前操作者 |
| flowId | int | 是 | 流程节点id |
| flowAction | string | 是 | 流程操作 |
| values | Object | 是 | 流程表单提交修改数据内容 |
响应结构:
| 字段名 | 类型 | 说明 |
|---|---|---|
| code | int | 执行结果码,200代表成功,其他代表失败 |
| msg | string | 执行结果 |
入参和响应示例:
入参示例:
{
"appId": "52b64298390f3f180f0c7cf9",
"formId": "5cb945e9a55e9f857e4601c9",
"dataId": "565447bd9f8c25755ba1a919",
"operator": "811247269405fd91a1da8e29",
"flowAction": "forward",
"flowId": 2,
"values": {
"单行文本": "test001",
"数字": 20
}
}
响应示例:
{
"code": 200,
"msg": "success"
}
Python插件开发代码示例:
import bmcp
def test_flow_forward(args: Args) -> Output:
# 插件定义好入参后除了动态部分,其他部分无需调整的可以直接按如下方式继承
params = args.params
# 如果需要固定参数 可以如下指定
params["appId"] = "52b64298390f3f180f0c7cf9"
params["formId"] = "5cb945e9a55e9f857e4601c9"
params["dataId"] = "565447bd9f8c25755ba1a919"
params["operator"] = "811247269405fd91a1da8e29"
params["flowAction"] = "forward"
params["flowId"] = 2
params["values"] = {
"单行文本": "test001",
"数字": 20
}
result = bmcp.flow_forward(params)
# 如果必须返回 Output 类型实例,可以强制转换,否则直接返回 dict 也可被接受
return Output(result)
1.6 流程待办回退
python调用方法名: bmcp.flow_back
入参结构:
| 字段名 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| appId | string | 是 | 应用id |
| formId | string | 是 | 表单id |
| dataId | string | 是 | 数据id |
| operator | string | 否 | 操作人,必须是当前流程数据节点负责人,不传默认当前操作者 |
| flowId | int | 是 | 流程节点id |
| flowAction | string | 是 | 流程操作 |
| backFlowId | int | 否 | 回退节点,回退指定节点时必填,流程设置为回退上一节点时可不填 |
| values | Object | 是 | 流程表单提交修改数据内容 |
响应结构:
| 字段名 | 类型 | 说明 |
|---|---|---|
| code | int | 执行结果码,200代表成功,其他代表失败 |
| msg | string | 执行结果 |
入参和响应示例:
入参示例:
{
"appId": "52b64298390f3f180f0c7cf9",
"formId": "5cb945e9a55e9f857e4601c9",
"dataId": "565447bd9f8c25755ba1a919",
"operator": "811247269405fd91a1da8e29",
"flowAction": "back",
"backFlowId": 1,
"flowId": 3,
"values": {
"单行文本": "test001",
"数字": 20
}
}
响应示例:
{
"code": 200,
"msg": "success"
}
Python插件开发代码示例:
import bmcp
def test_flow_back(args: Args) -> Output:
# 插件定义好入参后除了动态部分,其他部分无需调整的可以直接按如下方式继承
params = args.params
# 如果需要固定参数 可以如下指定
params["appId"] = "52b64298390f3f180f0c7cf9"
params["formId"] = "5cb945e9a55e9f857e4601c9"
params["dataId"] = "565447bd9f8c25755ba1a919"
params["operator"] = "811247269405fd91a1da8e29"
params["flowAction"] = "back"
params["backFlowId"] = 1
params["flowId"] = 3
params["values"] = {
"单行文本": "test001",
"数字": 20
}
result = bmcp.flow_back(params)
# 如果必须返回 Output 类型实例,可以强制转换,否则直接返回 dict 也可被接受
return Output(result)
1.7 流程待办转交
python调用方法名: bmcp.flow_transfer
入参结构:
| 字段名 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| appId | string | 是 | 应用id |
| formId | string | 是 | 表单id |
| dataId | string | 是 | 数据id |
| operator | string | 否 | 操作人,必须是当前流程数据节点负责人,不传默认当前操作者 |
| flowId | int | 是 | 流程节点id |
| flowAction | string | 是 | 流程操作 |
| candidateId | string | 是 | 转交人 |
| values | Object | 是 | 流程表单提交修改数据内容 |
响应结构:
| 字段名 | 类型 | 说明 |
|---|---|---|
| code | int | 执行结果码,200代表成功,其他代表失败 |
| msg | string | 执行结果 |
入参和响应示例:
入参示例:
{
"appId": "52b64298390f3f180f0c7cf9",
"formId": "5cb945e9a55e9f857e4601c9",
"dataId": "565447bd9f8c25755ba1a999",
"operator": "811247269405fd91a1da8e29",
"flowAction": "back",
"candidateId": "ab71439cb558a5ac2bb8afc9",
"flowId": 3,
"values": {
"单行文本": "test001",
"数字": 20
}
}
响应示例:
{
"code": 200,
"msg": "success"
}
Python插件开发代码示例:
import bmcp
def test_flow_transfer(args: Args) -> Output:
# 插件定义好入参后除了动态部分,其他部分无需调整的可以直接按如下方式继承
params = args.params
# 如果需要固定参数 可以如下指定
params["appId"] = "52b64298390f3f180f0c7cf9"
params["formId"] = "5cb945e9a55e9f857e4601c9"
params["dataId"] = "565447bd9f8c25755ba1a919"
params["operator"] = "811247269405fd91a1da8e29"
params["flowAction"] = "back"
params["candidateId"] = "ab71439cb558a5ac2bb8afc8"
params["flowId"] = 3
params["values"] = {
"单行文本": "test001",
"数字": 20
}
result = bmcp.flow_transfer(params)
# 如果必须返回 Output 类型实例,可以强制转换,否则直接返回 dict 也可被接受
return Output(result)
1.8 流程待办加签
python调用方法名: bmcp.flow_sign
入参结构:
| 字段名 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| appId | string | 是 | 应用id |
| formId | string | 是 | 表单id |
| dataId | string | 是 | 数据id |
| operator | string | 否 | 操作人,必须是当前流程数据节点负责人,不传默认当前操作者 |
| flowId | int | 是 | 流程节点id |
| flowAction | string | 是 | 流程操作,sign_before-前加签'sisgn_after-后加签 |
| sign_candidates | string array | 是 | 加签人员列表 |
| values | Object | 是 | 流程表单提交修改数据内容 |
响应结构:
| 字段名 | 类型 | 说明 |
|---|---|---|
| code | int | 执行结果码,200代表成功,其他代表失败 |
| msg | string | 执行结果 |
入参和响应示例:
入参示例:
{
"appId": "52b64298390f3f180f0c7cff",
"formId": "5cb945e9a55e9f857e4601c3",
"dataId": "565447bd9f8c25755ba1a918",
"operator": "811247269405fd91a1da8e24",
"flowAction": "sign_before",
"sign_candidates": [
"57485153a936aad06de22096"
],
"flowId": 3,
"values": {
"单行文本": "wgwgewg",
"数字": 20
}
}
响应示例:
{
"code": 200,
"msg": "success"
}
Python插件开发代码示例:
import bmcp
def test_flow_sign(args: Args) -> Output:
# 插件定义好入参后除了动态部分,其他部分无需调整的可以直接按如下方式继承
params = args.params
# 如果需要固定参数 可以如下指定
params["appId"] = "52b64298390f3f180f0c7cff"
params["formId"] = "5cb945e9a55e9f857e4601c3"
params["dataId"] = "565447bd9f8c25755ba1a918"
params["operator"] = "811247269405fd91a1da8e24"
params["flowAction"] = "sign_before"
params["sign_candidates"] = [
"57485153a936aad06de22096"
]
params["flowId"] = 3
params["values"] = {
"单行文本": "wgwgewg",
"数字": 20
}
result = bmcp.flow_sign(params)
# 如果必须返回 Output 类型实例,可以强制转换,否则直接返回 dict 也可被接受
return Output(result)
1.9 流程待办撤回
python调用方法名: bmcp.flow_revoke
入参结构:
| 字段名 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| appId | string | 是 | 应用id |
| formId | string | 是 | 表单id |
| dataId | string | 是 | 数据id |
| operator | string | 否 | 操作人,必须是当前流程数据节点负责人,不传默认当前操作者 |
| flowId | int | 是 | 流程节点id |
| flowAction | string | 是 | 流程操作,revoke |
响应结构:
| 字段名 | 类型 | 说明 |
|---|---|---|
| code | int | 执行结果码,200代表成功,其他代表失败 |
| msg | string | 执行结果 |
入参和响应示例:
入参示例:
{
"appId": "52b64298390f3f180f0c7cff",
"formId": "5cb945e9a55e9f857e4601c3",
"dataId": "0e974085a597ededac16bf62",
"operator": "811247269405fd91a1da8e24",
"flowAction": "revoke",
"flowId": 0
}
响应示例:
{
"code": 200,
"msg": "success"
}
Python插件开发代码示例:
import bmcp
def test_flow_revoke(args: Args) -> Output:
# 插件定义好入参后除了动态部分,其他部分无需调整的可以直接按如下方式继承
params = args.params
# 如果需要固定参数 可以如下指定
params["appId"] = "52b64298390f3f180f0c7cff"
params["formId"] = "5cb945e9a55e9f857e4601c3"
params["dataId"] = "0e974085a597ededac16bf62"
params["operator"] = "811247269405fd91a1da8e24"
params["flowAction"] = "revoke"
params["flowId"] = 0
result = bmcp.flow_revoke(params)
# 如果必须返回 Output 类型实例,可以强制转换,否则直接返回 dict 也可被接受
return Output(result)
1.10 流程待办催办
python调用方法名: bmcp.flow_urge
入参结构:
| 字段名 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| appId | string | 是 | 应用id |
| formId | string | 是 | 表单id |
| dataId | string | 是 | 数据id |
| operator | string | 否 | 操作人,必须是当前流程数据节点负责人,不传默认当前操作者 |
| flowTarget | int array | 是 | 催办节点id |
响应结构:
| 字段名 | 类型 | 说明 |
|---|---|---|
| code | int | 执行结果码,200代表成功,其他代表失败 |
| msg | string | 执行结果 |
入参和响应示例:
入参示例:
{
"appId": "52b64298390f3f180f0c7cff",
"formId": "5cb945e9a55e9f857e4601c3",
"dataId": "48e846c0a9909d7fa233646c",
"operator": "811247269405fd91a1da8e24",
"flowTarget": [
2
]
}
响应示例:
{
"code": 200,
"msg": "success"
}
Python插件开发代码示例:
import bmcp
def test_flow_urge(args: Args) -> Output:
# 插件定义好入参后除了动态部分,其他部分无需调整的可以直接按如下方式继承
params = args.params
# 如果需要固定参数 可以如下指定
params["appId"] = "52b64298390f3f180f0c7cff"
params["formId"] = "5cb945e9a55e9f857e4601c3"
params["dataId"] = "48e846c0a9909d7fa233646c"
params["operator"] = "811247269405fd91a1da8e24"
params["flowTarget"] = [
2
]
result = bmcp.flow_urge(params)
# 如果必须返回 Output 类型实例,可以强制转换,否则直接返回 dict 也可被接受
return Output(result)
1.11 查询我的待办数量
python调用方法名: bmcp.flow_todo_count
入参结构:
| 字段名 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| user_id | strijng | 是 | 流程负责人成员id |
| skip | int | 是 | 翻页起始值索引 |
| limit | int | 是 | 查询的数据条数,1~300,默认300 |
| filter | Object | 是 | 数据筛选器 |
| filter.rel | string | 是 | 筛选组合关系,and或or |
| filter.cond | Object | 否 | 过滤条件列表 |
| filter.cond.field | string | 是 | 字段别名 |
| filter.cond.method | string | 是 | 过滤方法 |
| filter.cond.value | string | 是 | 筛选值 |
响应结构:
| 字段名 | 类型 | 说明 |
|---|---|---|
| count | int | 待办数量 |
入参和响应示例:
入参示例:
{
"appId": "52b64298390f3f180f0c7cff",
"skip": 0,
"limit": 20,
"filter": {
"cond": [
{
"value": [
"ttt"
],
"field": "单行文本",
"method": "like"
}
],
"rel": "and"
},
"formId": "5cb945e9a55e9f857e4601c3"
}
响应示例:
{
"count": 1
}
Python插件开发代码示例:
import bmcp
def test_flow_todo_count(args: Args) -> Output:
# 插件定义好入参后除了动态部分,其他部分无需调整的可以直接按如下方式继承
params = args.params
# 如果需要固定参数 可以如下指定
params["appId"] = "52b64298390f3f180f0c7cff"
params["skip"] = 0
params["limit"] = 20
params["filter"] = {
"cond": [
{
"value": [
"ttt"
],
"field": "单行文本",
"method": "like"
}
],
"rel": "and"
}
params["formId"] = "5cb945e9a55e9f857e4601c3"
result = bmcp.flow_todo_count(params)
# 如果必须返回 Output 类型实例,可以强制转换,否则直接返回 dict 也可被接受
return Output(result)
1.12 查询流程待办列表
python调用方法名: bmcp.flow_todo_list
入参结构:
| 字段名 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| user_id | strijng | 否 | 流程负责人成员id |
| skip | int | 是 | 翻页起始值索引 |
| limit | int | 是 | 查询的数据条数,1~300,默认300 |
| filter | Object | 是 | 数据筛选器 |
| filter.rel | string | 是 | 筛选组合关系,and或or |
| filter.cond | Object | 否 | 过滤条件列表 |
| filter.cond.field | string | 是 | 字段别名 |
| filter.cond.method | string | 是 | 过滤方法 |
| filter.cond.value | string | 是 | 筛选值 |
响应结构:
| 字段名 | 类型 | 说明 |
|---|---|---|
| count | int | 待办数量 |
| data | Object array | 执行结果 |
入参和响应示例:
入参示例:
{
"appId": "52b64298390f3f180f0c7cff",
"skip": 0,
"limit": 20,
"filter": {
"cond": [
{
"value": [
"ttt"
],
"field": "单行文本",
"method": "like"
}
],
"rel": "and"
},
"formId": "5cb945e9a55e9f857e4601c3"
}
响应示例:
{
"count": 1,
"data": [
{
"appId": "52b64298390f3f180f0c7cff",
"chargers": [],
"createTime": "2026-08-10T11:00:31Z",
"creator": "811247269405fd91a1da8e24",
"data": [],
"dataId": "32374b4cb8c41b0945c90f9f",
"entryId": "5cb945e9a55e9f857e4601c3",
"entryName": "mcp流程测试表单",
"flowFailureAction": "",
"flowId": 0,
"flowName": "流程发起节点",
"flowState": 0,
"flowUrl": "https://test.online-office.net/app/52b64298390f3f180f0c7cff/form/5cb945e9a55e9f857e4601c3/data/32374b4cb8c41b0945c90f9f/flow/0",
"updateTime": "2026-08-10T11:02:40Z"
}
]
}
Python插件开发代码示例:
import bmcp
def test_flow_todo_list(args: Args) -> Output:
# 插件定义好入参后除了动态部分,其他部分无需调整的可以直接按如下方式继承
params = args.params
# 如果需要固定参数 可以如下指定
params["appId"] = "52b64298390f3f180f0c7cff"
params["skip"] = 0
params["limit"] = 20
params["filter"] = {
"cond": [
{
"value": [
"ttt"
],
"field": "单行文本",
"method": "like"
}
],
"rel": "and"
}
params["formId"] = "5cb945e9a55e9f857e4601c3"
result = bmcp.flow_todo_list(params)
# 如果必须返回 Output 类型实例,可以强制转换,否则直接返回 dict 也可被接受
return Output(result)
1.13 查询抄送列表
python调用方法名: bmcp.flow_cc_list
入参结构:
| 字段名 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| user_id | strijng | 是 | 流程负责人成员id |
| skip | int | 是 | 翻页起始值索引 |
| limit | int | 是 | 查询的数据条数,1~300,默认300 |
| filter | Object | 是 | 数据筛选器 |
| filter.rel | string | 是 | 筛选组合关系,and或or |
| filter.cond | Object | 否 | 过滤条件列表 |
| filter.cond.field | string | 是 | 字段别名 |
| filter.cond.method | string | 是 | 过滤方法 |
| filter.cond.value | string | 是 | 筛选值 |
响应结构:
| 字段名 | 类型 | 说明 |
|---|---|---|
| count | int | 待办数量 |
| data | Object array | 执行结果 |
入参和响应示例:
入参示例:
{
"appId": "52b64298390f3f180f0c7cff",
"skip": 0,
"limit": 20,
"filter": {
"cond": [
{
"value": [
"ttt"
],
"field": "单行文本",
"method": "like"
}
],
"rel": "and"
},
"formId": "5cb945e9a55e9f857e4601c3"
}
响应示例:
{
"count": 1,
"data": [
{
"appId": "52b64298390f3f180f0c7cff",
"chargers": [],
"createTime": "2026-08-10T11:00:31Z",
"creator": "811247269405fd91a1da8e24",
"data": [],
"dataId": "32374b4cb8c41b0945c90f9f",
"entryId": "5cb945e9a55e9f857e4601c3",
"entryName": "mcp流程测试表单",
"flowFailureAction": "",
"flowId": 0,
"flowName": "流程发起节点",
"flowState": 0,
"flowUrl": "https://test.online-office.net/app/52b64298390f3f180f0c7cff/form/5cb945e9a55e9f857e4601c3/data/32374b4cb8c41b0945c90f9f/flow/0",
"updateTime": "2026-08-10T11:02:40Z"
}
]
}
Python插件开发代码示例:
import bmcp
def test_flow_cc_list(args: Args) -> Output:
# 插件定义好入参后除了动态部分,其他部分无需调整的可以直接按如下方式继承
params = args.params
# 如果需要固定参数 可以如下指定
params["appId"] = "52b64298390f3f180f0c7cff"
params["skip"] = 0
params["limit"] = 20
params["filter"] = {
"cond": [
{
"value": [
"ttt"
],
"field": "单行文本",
"method": "like"
}
],
"rel": "and"
}
params["formId"] = "5cb945e9a55e9f857e4601c3"
result = bmcp.flow_cc_list(params)
# 如果必须返回 Output 类型实例,可以强制转换,否则直接返回 dict 也可被接受
return Output(result)
1.14 查询流程日志
python调用方法名: bmcp.flow_log
入参结构:
| 字段名 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| appId | string | 是 | 应用id |
| formId | string | 是 | 表单id |
| dataId | string | 是 | 数据id |
响应结构:
| 字段名 | 类型 | 说明 |
|---|---|---|
| Object Array | ||
| flowId | int | 流程节点id |
| flowName | string | 节点名称 |
| flowAction | string | 流程操作,forward(提交流程) save(暂存) close (结束)transfer(转交) back(回退) |
| flowActionName | string | 操作名称 |
| operator | string | 操作人,必须是当前流程数据节点负责人 |
| createTime | string | 开始时间 |
| updateTime | string | 结束时间 |
| flowTarget | int | 下个流转节点id |
| comment | string | 审批意见-文本意见 |
入参和响应示例:
入参示例:
{
"appId": "52b64298390f3f180f0c7cff",
"formId": "5cb945e9a55e9f857e4601c3",
"dataId": "48e846c0a9909d7fa233646c"
}
响应示例:
[
{
"comment": "",
"createTime": "2026-08-10T11:16:17Z",
"flowAction": "forward",
"flowActionName": "提交",
"flowId": 1,
"flowName": "流程节点",
"flowTarget": [
2
],
"operator": "张三",
"updateTime": "2026-08-10T11:16:23Z"
},
{
"comment": "",
"createTime": "2026-08-10T11:16:17Z",
"flowAction": "forward",
"flowActionName": "提交",
"flowId": 0,
"flowName": "流程发起节点",
"flowTarget": [
1
],
"operator": "张三",
"updateTime": "2026-08-10T11:16:17Z"
}
]
Python插件开发代码示例:
import bmcp
def test_flow_log(args: Args) -> Output:
# 插件定义好入参后除了动态部分,其他部分无需调整的可以直接按如下方式继承
params = args.params
# 如果需要固定参数 可以如下指定
params["appId"] = "52b64298390f3f180f0c7cff"
params["formId"] = "5cb945e9a55e9f857e4601c3"
params["dataId"] = "48e846c0a9909d7fa233646c"
result = bmcp.flow_log(params)
# 如果必须返回 Output 类型实例,可以强制转换,否则直接返回 dict 也可被接受
return Output(result)
1.15 查询流程信息
python调用方法名: bmcp.flow_info
入参结构:
| 字段名 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| appId | string | 是 | 应用id |
| formId | string | 是 | 表单id |
| dataId | string | 是 | 数据id |
响应结构:
| 字段名 | 类型 | 说明 |
|---|---|---|
| creator | Object | 创建人 |
| creator.user_id | String | 创建成员id |
| creator.name | String | 名称 |
| updater | Object | 更新人 |
| createTime | DateTime | 提交时间 |
| updateTime | DateTime | 更新时间 |
| flowVer | String | 流程版本 |
| flowState | Number | 流程状态 |
| chargers | Array | 节点负责人 |
| ccUsers | Array | 节点抄送人 |
| flowDecision | Object | 流程决策 |
| node | Object | 节点信息 |
| node.alias | String | 节点别名 |
| node.flowId | Number | 节点id |
| node.flowName | String | 节点名称 |
入参和响应示例:
入参示例:
{
"appId": "52b64298390f3f180f0c7cff",
"formId": "5cb945e9a55e9f857e4601c3",
"dataId": "48e846c0a9909d7fa233646c"
}
响应示例:
{
"_id": "48e846c0a9909d7fa233646c",
"单行文本": "qqqqqqq",
"数字": "",
"多行文本": "",
"appId": "52b64298390f3f180f0c7cff",
"ccUsers": [],
"chargers": [
"51804f8cae4778f55aa717ab",
"811247269405fd91a1da8e24",
"ab71439cb558a5ac2bb8afc8"
],
"createTime": "2026-08-10 19:16:17",
"creator": {
"name": "张三",
"user_id": "811247269405fd91a1da8e24"
},
"entryId": "5cb945e9a55e9f857e4601c3",
"flowDecision": {},
"flowState": 0,
"flowVer": "1",
"node": {
"flowId": 2,
"flowName": "流程节点"
},
"updateTime": "2026-08-10 19:16:23",
"updater": {
"name": "张三",
"user_id": "811247269405fd91a1da8e24"
}
}
Python插件开发代码示例:
import bmcp
def test_flow_info(args: Args) -> Output:
# 插件定义好入参后除了动态部分,其他部分无需调整的可以直接按如下方式继承
params = args.params
# 如果需要固定参数 可以如下指定
params["appId"] = "52b64298390f3f180f0c7cff"
params["formId"] = "5cb945e9a55e9f857e4601c3"
params["dataId"] = "48e846c0a9909d7fa233646c"
result = bmcp.flow_info(params)
# 如果必须返回 Output 类型实例,可以强制转换,否则直接返回 dict 也可被接受
return Output(result)
