订阅后,当企业内指定类型的企业微信“审批应用”单据流程发生变化时,会将审批单最新的流程状态回调给开发者。
目前,支持将审批状态变化通知支持的应用类型如下:
应用类型 | 权限要求 | 接收事件开关 |
---|---|---|
自建应用 | 配置到「审批- 可调用接口的应用」中 | 审批状态通知事件 |
代开发应用 | 具有「审批」权限 | 无 |
第三方应用 | 具有「审批」权限 | 无 |
其中,配置可调用接口的自建应用入口如下:
自建应用进入应用详情页,“设置API接收”,要求填写URL、Token、EncodingAESKey三个参数。
当指定类型的审批申请发生状态变化时,企业微信将向回调地址发送相应的通知事件。
状态变化包括但不限于:催办、撤销、同意、驳回、转审、添加备注等情况。
示例:
<xml>
<ToUserName><![CDATA[ww1cSD21f1e9c0caaa]]></ToUserName>
<FromUserName><![CDATA[sys]]></FromUserName>
<CreateTime>1571732272</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[sys_approval_change]]></Event>
<AgentID>3010040</AgentID>
<ApprovalInfo>
<SpNo>201910220003</SpNo>
<SpName><![CDATA[示例模板]]></SpName>
<SpStatus>1</SpStatus>
<TemplateId><![CDATA[3TkaH5KFbrG9heEQWLJjhgpFwmqAFB4dLEnapaB7aaa]]></TemplateId>
<ApplyTime>1571728713</ApplyTime>
<Applyer>
<UserId><![CDATA[WuJunJie]]></UserId>
<Party><![CDATA[1]]></Party>
</Applyer>
<SpRecord>
<SpStatus>1</SpStatus>
<ApproverAttr>2</ApproverAttr>
<Details>
<Approver>
<UserId><![CDATA[WangXiaoMing]]></UserId>
</Approver>
<Speech><![CDATA[]]></Speech>
<SpStatus>1</SpStatus>
<SpTime>0</SpTime>
</Details>
<Details>
<Approver>
<UserId><![CDATA[XiaoGangHuang]]></UserId>
</Approver>
<Speech><![CDATA[]]></Speech>
<SpStatus>1</SpStatus>
<SpTime>0</SpTime>
</Details>
</SpRecord>
<SpRecord>
<SpStatus>1</SpStatus>
<ApproverAttr>1</ApproverAttr>
<Details>
<Approver>
<UserId><![CDATA[XiaoHongLiu]]></UserId>
</Approver>
<Speech><![CDATA[]]></Speech>
<SpStatus>1</SpStatus>
<SpTime>0</SpTime>
</Details>
</SpRecord>
<Notifyer>
<UserId><![CDATA[ChengLiang]]></UserId>
</Notifyer>
<ProcessList>
<NodeList>
<NodeType>1</NodeType>
<SpStatus>1</SpStatus>
<ApvRel>2</ApvRel>
<SubNodeList>
<UserInfo>
<UserId><![CDATA[userid1]]></UserId>
</UserInfo>
<Speech><![CDATA[]]></Speech>
<SpYj>1</SpYj>
<Sptime>0</Sptime>
</SubNodeList>
<SubNodeList>
<UserInfo>
<UserId><![CDATA[userid2]]></UserId>
</UserInfo>
<Speech><![CDATA[]]></Speech>
<SpYj>1</SpYj>
<Sptime>0</Sptime>
</SubNodeList>
</NodeList>
<NodeList>
<NodeType>2</NodeType>
<SubNodeList>
<UserInfo>
<UserId><![CDATA[userid3]]></UserId>
</UserInfo>
</SubNodeList>
</NodeList>
</ProcessList>
<Comments>
<CommentUserInfo>
<UserId><![CDATA[LiuZhi]]></UserId>
</CommentUserInfo>
<CommentTime>1571732272</CommentTime>
<CommentContent><![CDATA[这是一个备注]]></CommentContent>
<CommentId><![CDATA[6750538708562308220]]></CommentId>
</Comments>
<StatuChangeEvent>10</StatuChangeEvent>
</ApprovalInfo>
</xml>
参数说明:
参数 | 说明 |
---|---|
Event | 事件名称:sys_approval_change |
SpNo | 审批编号 |
SpName | 审批申请类型名称(审批模板名称) |
SpStatus | 申请单状态:1-审批中;2-已通过;3-已驳回;4-已撤销;6-通过后撤销;7-已删除;10-已支付 |
TemplateId | 审批模板id。可在“获取审批申请详情”、“审批状态变化回调通知”中获得,也可在审批模板的模板编辑页面链接中获得。 |
ApplyTime | 审批申请提交时间,Unix时间戳 |
Applyer | 申请人信息 |
└ UserId | 申请人userid |
└ Party | 申请人所在部门pid |
SpRecord | 审批流程信息,可能有多个审批节点。 |
└ SpStatus | 审批节点状态:1-审批中;2-已同意;3-已驳回;4-已转审 |
└ ApproverAttr | 节点审批方式:1-或签;2-会签 |
└ Details | 审批节点详情。当节点为标签或上级时,一个节点可能有多个分支 |
└ └ Approver | 分支审批人 |
└ └ └ UserId | 分支审批人userid |
└ └ Speech | 审批意见字段 |
└ └ SpStatus | 分支审批人审批状态:1-审批中;2-已同意;3-已驳回;4-已转审 |
└ └ SpTime | 节点分支审批人审批操作时间,0为尚未操作 |
└ └ Attach | 节点分支审批人审批意见附件,赋值为media_id具体使用请参考:文档-获取临时素材 |
Notifyer | 抄送信息,可能有多个抄送节点 |
└ UserId | 节点抄送人userid |
Comments | 审批申请备注信息,可能有多个备注节点 |
└ CommentUserInfo | 备注人信息 |
└ └ UserId | 备注人userid |
└ CommentTime | 备注提交时间 |
└ CommentContent | 备注文本内容 |
└ CommentId | 备注id |
└ Attach | 备注意见附件,值是附件media_id具体使用请参考:文档-获取临时素材 |
ProcessList | 审批流程列表 |
└ NodeList | 流程节点 |
└ └ NodeType | 节点类型 1 审批人 2 抄送人 3办理人 |
└ └ SpStatus | 节点状态 1-审批中;2-同意;3-驳回;4-转审;11-退回给指定审批人;12-加签;13-同意并加签;14-办理;15-转交 |
└ └ ApvRel | 多人办理方式 1-会签;2-或签 3-依次审批 |
└ └ SubNodeList | 子节点列表 |
└ └ └ UserInfo | 处理人信息 |
└ └ └ └ UserId | 处理人userid |
└ └ └ Speech | 审批/办理意见 |
└ └ └ SpYj | 子节点状态 1-审批中;2-同意;3-驳回;4-转审;11-退回给指定审批人;12-加签;13-同意并加签;14-办理;15-转交 |
└ └ └ Sptime | 操作时间 |
└ └ └ MediaIds | 备注意见附件,值是附件media_id具体使用请参考:文档-获取临时素材 |
StatuChangeEvent | 审批申请状态变化类型:1-提单;2-同意;3-驳回;4-转审;5-催办;6-撤销;8-通过后撤销;10-添加备注;11-回退给指定审批人;12-添加审批人;13-加签并同意; 14-已办理; 15-已转交 |