钉钉这两个事件类型的区别?bpms_task_change、bpms_instance_change
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在钉钉的事件体系中,bpms_task_change
和 bpms_instance_change
是两种不同的事件类型,分别对应审批任务和审批实例的状态变化。以下是它们的区别及详细说明:
含义:
该事件表示审批任务的状态发生了变化。例如,某个审批节点的任务被分配、完成或拒绝等操作时会触发此事件。
适用场景:
当需要监控单个审批任务的状态变化时使用。例如,某个审批人完成了自己的审批任务,或者某个任务被转交给其他人。
关键字段:
taskId
:任务的唯一标识。taskStatus
:任务的当前状态(如待处理、已完成、已拒绝等)。processInstanceId
:所属审批实例的唯一标识。userId
:当前任务的操作人(即审批人)。触发时机:
含义:
该事件表示整个审批实例的状态发生了变化。例如,一个审批流程从“进行中”变为“已完成”或“已终止”。
适用场景:
当需要监控整个审批流程的状态变化时使用。例如,某个审批流程已经结束,或者流程被撤销。
关键字段:
processInstanceId
:审批实例的唯一标识。processInstanceStatus
:审批实例的当前状态(如进行中、已完成、已终止等)。originatorUserId
:发起审批流程的用户ID。result
:审批结果(如同意、拒绝等)。触发时机:
对比维度 | bpms_task_change | bpms_instance_change |
---|---|---|
事件粒度 | 单个审批任务的变化 | 整个审批实例的变化 |
触发范围 | 某个审批节点的任务状态变化 | 整个审批流程的状态变化 |
关键字段 | taskId , taskStatus , processInstanceId | processInstanceId , processInstanceStatus |
适用场景 | 监控单个审批任务的进展 | 监控整个审批流程的结果 |
事件选择依据:
如果您关注的是某个审批节点的具体操作(如某人是否完成了审批),应订阅 bpms_task_change
;如果您关注的是整个审批流程的结果(如流程是否完成),则应订阅 bpms_instance_change
。
数据关联性:
bpms_task_change
中的 processInstanceId
字段可以与 bpms_instance_change
的 processInstanceId
字段关联,从而实现任务与流程的联动分析。
通过以上说明,您可以根据实际需求选择合适的事件类型进行订阅和处理。