Skip to content
开发与集成人员当前实现 · 2026-10内容核验 2026-10-09

BPM 业务审批接入 ​

接入边界 ​

所属应用拥有业务单据与规则,BPM 拥有流程、任务和审批语义。业务详情由所属应用渲染,审批操作可复用 shared/frontend/bpm-approval。

注册业务类型 ​

SERVICE 客户端需要 bpm.biztype.register 与目标租户 scope。使用服务令牌请求 POST /internal/v1/bpm/biz-types,声明稳定业务编码、变量 Schema、详情相对路径、事件端点与发起权限。

变量类型支持 string、number、boolean、date、user、users。删除字段或修改字段类型需要新业务版本编码。回调 Origin 必须在允许列表;内部路径需由部署明确提供,不能假设所有 Gateway 已开放。

发起审批 ​

使用当前用户令牌调用公开 API:

http
POST /api/bpm/v1/process-instances
Authorization: Bearer <用户令牌>
Content-Type: application/json
json
{
  "bizType": "example.payment-request",
  "bizId": "PAY-2026-001",
  "title": "设备付款申请",
  "variables": { "amount": 12000 },
  "idempotencyKey": "example-PAY-2026-001-submit-1"
}

这是示例业务类型,须先注册并发布匹配流程。业务类型只有一个已发布流程时可省略 definitionId,多个时必须指定。相同租户、发起人、幂等键和内容返回已有实例;内容变化会产生冲突响应。

可信回调 ​

接收端验证 IAM 签名、issuer、过期时间、client_id=bpm-api、服务 grant type 和 bpm.events scope。按 eventId 在本地事务中去重并更新业务状态,提交成功再返回 2xx。

网络响应丢失可导致同一事件重投。同一实例前一事件失败时,后续投递会受影响,不能用新的事件 ID 掩盖失败。

退回重提 ​

业务应用先锁定单据与当前版本,再通过所属服务令牌更新声明变量,最后由原发起人重提原实例。重提请求体直接为变量对象。业务申请不能绕过所属应用直接重提。

共享组件 ​

使用 @edma/bpm-approval 时提供任务编号和携带原用户令牌的 transport。组件负责审批 UI,不替代所属应用的业务对象授权,也不赋予后端服务用户办理权。

事件契约 · 审批操作

继续查阅

遇到登录、权限或操作问题,可先查阅常见问题。

查看常见问题

EDMA · 企业数字化管理应用