概述
开发者可在自建应用中直接调用接口发起审批申请,系统根据审批流程自动通知相关人员进行审批操作。
提交申请后审批流程的每次状态变化,都会通知开发者,可按需进行拓展开发。
此套接口在自建应用中闭环,与“企业微信审批应用”相关接口无关。
1.创建自建应用审批模板
参数 | 说明 |
---|---|
模板ID | 用于审批申请类型区分。在后续发起审批申请时,将申请和审批流程进行关联。 |
审批流程 | 审批流程相关配置。后续以此模板ID发起的审批申请,都将按照设置的流程进行通知和流转。 |
2.自建应用发起审批
具体步骤:
1.通过config接口注入权限验证配置。查看
2.通过agentConfig注入应用的权限。查看
3.调用审批流程引擎JS-API(如下文请求示例)。
注:企业微信客户端2.5.0及以上版本支持。
参数 | 必须 | 说明 |
---|---|---|
oaType | 是 | 操作类型,目前支持:10001-发起审批;10002-查看审批详情。 |
templateId | 是 | 发起审批的模板ID,在自建应用-审批接口中创建模板可获取。 |
thirdNo | 是 | 审批单号,由开发者自行定义,不可重复。 |
extData | 是 | 详情数据,Json格式,用于审批详情页信息展示。 |
extData在发起时由开发者传入,其中数据将全部展示在审批申请中:
1.开发者可利用此特性,在发起审批时,传入需要申请人、审批人、抄送人看到的信息;
2.若需用户填写数据,可在自行使用表单收集,并传入extData中,用于展示。
参数 | 必须 | 说明 |
---|---|---|
title | 否 | 字段标题,将会在审批详情页中展示。 |
type | 否 | 字段类型,目前支持:text-文本;link:链接。link仅展示在审批详情页。 |
value | 否 | 字段值,将会在审批详情页中展示。 |
错误提示 | 说明 |
---|---|
已存在相同的审批编号 | oaType为10001时,传入的thirdNo已经被其他审批单占用。 |
审批申请不存在 | oaType为10002时,在历史记录中,传入的thirdNo对应的审批单不存在。 |
审批模板ID不正确 | 调用接口时传入了错误的templateId |
应用ID不正确 | 使用了错误的 agentId |
3.自建应用审批状态变化通知回调
开启后,自建应用每一个审批申请的审批状态变化,都会通知给开发者。查看事件回调详细说明
<xml>
<ToUserName>wwd08c8e7c775abaaa</ToUserName>
<FromUserName>sys</FromUserName>
<CreateTime>1527838022</CreateTime>
<MsgType>event</MsgType>
<Event>open_approval_change</Event>
<AgentID>1</AgentID>
<ApprovalInfo>
<ThirdNo>thirdNoxxx</ThirdNo>
<OpenSpName>付款</OpenSpName>
<OpenTemplateId>1234567111</OpenTemplateId>
<OpenSpStatus>1</OpenSpStatus>
<ApplyTime>1527837645</ApplyTime>
<ApplyUserName>jackiejjwu</ApplyUserName>
<ApplyUserId>WuJunJie</ApplyUserId>
<ApplyUserParty>产品部</ApplyUserParty>
<ApplyUserImage>http://www.qq.com/xxx.png</ApplyUserImage>
<ApprovalNodes>
<ApprovalNode>
<NodeStatus>1</NodeStatus>
<NodeAttr>1</NodeAttr>
<NodeType>1</NodeType>
<Items>
<Item>
<ItemName>chauvetxiao</ItemName>
<ItemUserid>XiaoWen</ItemUserid>
<ItemParty>产品部</ItemParty>
<ItemImage>http://www.qq.com/xxx.png</ItemImage>
<ItemStatus>1</ItemStatus>
<ItemSpeech></ItemSpeech>
<ItemOpTime>0</ItemOpTime>
</Item>
</Items>
</ApprovalNode>
</ApprovalNodes>
<NotifyNodes>
<NotifyNode>
<ItemName>jinhuiguo</ItemName>
<ItemUserid>GuoJinHui</ItemUserid>
<ItemParty>行政部</ItemParty>
<ItemImage>http://www.qq.com/xxx.png</ItemImage>
</NotifyNode>
</NotifyNodes>
<ApproverStep >0</ApproverStep >
</ApprovalInfo>
</xml>
参数 | 说明 |
---|---|
ToUserName | 接收方企业Corpid |
FromUserName | 发送方:企业微信 |
CreateTime | 消息发送时间 |
MsgType | 消息类型 |
Event | 事件名称:审批状态变化 |
AgentID | 企业应用的id,整型。可在应用的设置页面查看 |
ApprovalInfo | 审批信息 |
ThirdNo | 审批单编号,由开发者在发起申请时自定义 |
OpenSpName | 审批模板名称 |
OpenTemplateId | 审批模板id |
OpenSpStatus | 申请单当前审批状态:1-审批中;2-已通过;3-已驳回;4-已撤销 |
ApplyTime | 提交申请时间 |
ApplyUserName | 提交者姓名 |
ApplyUserId | 提交者userid |
ApplyUserParty | 提交者所在部门 |
ApplyUserImage | 提交者头像 |
ApprovalNodes | 审批流程信息 |
ApprovalNode | 审批流程信息,可以有多个审批节点 |
NodeStatus | 节点审批操作状态:1-审批中;2-已同意;3-已驳回;4-已转审 |
NodeAttr | 审批节点属性:1-或签;2-会签 |
NodeType | 审批节点类型:1-固定成员;2-标签;3-上级 |
Items | 审批节点信息,当节点为标签或上级时,一个节点可能有多个分支 |
Item | 审批节点分支,当节点为标签或上级时,一个节点可能有多个分支 |
ItemName | 分支审批人姓名 |
ItemUserid | 分支审批人userid |
ItemParty | 分支审批人所在部门 |
ItemImage | 分支审批人头像 |
ItemStatus | 分支审批审批操作状态:1-审批中;2-已同意;3-已驳回;4-已转审 |
ItemSpeech | 分支审批人审批意见 |
ItemOpTime | 分支审批人操作时间 |
NotifyNodes | 抄送信息,可能有多个抄送人 |
NotifyNode | 抄送人信息 |
ItemName | 抄送人姓名 |
ItemUserid | 抄送人userid |
ItemParty | 抄送人所在部门 |
ItemImage | 抄送人头像 |
ApproverStep | 当前审批节点:0-第一个审批节点;1-第二个审批节点…以此类推 |
修改于 2022-12-05 02:35:05