审批流程引擎
POST
/cgi-bin/corp/getopenapprovaldata
服务端API企业内部开发第三方应用开发智慧硬件开发
开发者可在自建应用中直接调用接口发起审批申请,系统根据审批流程自动通知相关人员进行审批操作。
提交申请后审批流程的每次状态变化,都会通知开发者,可按需进行拓展开发。
此套接口在自建应用中闭环,与“企业微信审批应用”相关接口无关。

1.创建自建应用审批模板
参数 | 说明 |
---|---|
模板ID | 用于审批申请类型区分。在后续发起审批申请时,将申请和审批流程进行关联。 |
审批流程 | 审批流程相关配置。后续以此模板ID发起的审批申请,都将按照设置的流程进行通知和流转。 |
2.自建应用发起审批
具体步骤:
1.通过config接口注入权限验证配置。查看
2.通过agentConfig注入应用的权限。查看
3.调用审批流程引擎JS-API(如下文请求示例)。
注:企业微信客户端2.5.0及以上版本支持。
wx.invoke('thirdPartyOpenPage', { "oaType": "10001",// String "templateId": "46af67a118a6ebf000002",// String "thirdNo": "thirdNo",// String "extData": { 'fieldList': [{ 'title': '采购类型', 'type': 'text', 'value': '市场活动', }, { 'title': '订单链接', 'type': 'link', 'value': 'https://work.weixin.qq.com', }], }},function(res) { // 输出接口的回调信息 console.log(res);});
参数 | 必须 | 说明 |
---|---|---|
oaType | 是 | 操作类型,目前支持:10001-发起审批;10002-查看审批详情。 |
templateId | 是 | 发起审批的模板ID,在自建应用-审批接口中创建模板可获取。 |
thirdNo | 是 | 审批单号,由开发者自行定义,不可重复。 |
extData | 是 | 详情数据,Json格式,用于审批详情页信息展示。 |
extData在发起时由开发者传入,其中数据将全部展示在审批申请中:
1.开发者可利用此特性,在发起审批时,传入需要申请人、审批人、抄送人看到的信息;
2.若需用户填写数据,可在自行使用表单收集,并传入extData中,用于展示。
{ "extData": { 'fieldList': [ { 'title': '采购类型', 'type': 'text', 'value': '市场活动', }, { 'title': '采购说明', 'type': 'text', 'value': '购买个人办公电脑', }, { 'title': '采购金额', 'type': 'text', 'value': '4839.00元', }, { 'title': '申请时间', 'type': 'text', 'value': '2018/06/20', }, { 'title': '订单链接', 'type': 'link', // link类型,用于在审批详情页展示第三方订单跳转地址 'value': 'https://www.qq.com', }, ], },}
参数 | 必须 | 说明 |
---|---|---|
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-第二个审批节点…以此类推 |
4.查询自建应用审批单当前状态
原文档地址:
https://open.work.weixin.qq.com/api/doc/90000/90135/90269
https://open.work.weixin.qq.com/api/doc/90002/90151/91188
https://open.work.weixin.qq.com/api/doc/90001/90143/93798
请求示例请求示例
Shell
JavaScript
Java
Swift
curl --location -g --request POST 'https://qyapi.weixin.qq.com/cgi-bin/corp/getopenapprovaldata?access_token=' \
--header 'Content-Type: application/json' \
--data-raw '{"thirdNo":"thirdNoxxx"}'
响应示例响应示例
{
"errcode": 0,
"errmsg": "ok",
"data": {
"ThirdNo": "thirdNoxxx",
"OpenTemplateId": "1234567111",
"OpenSpName": "付款",
"OpenSpstatus": 1,
"ApplyTime": 1527837645,
"ApplyUsername": "jackiejjwu",
"ApplyUserParty": "产品部",
"ApplyUserImage": "http://www.qq.com/xxx.png",
"ApplyUserId": "WuJunJie",
"ApprovalNodes": {
"ApprovalNode": [
{
"NodeStatus": 1,
"NodeAttr": 1,
"NodeType": 1,
"Items": {
"Item": [
{
"ItemName": "chauvetxiao",
"ItemParty": "产品部",
"ItemImage": "http://www.qq.com/xxx.png",
"ItemUserId": "XiaoWen",
"ItemStatus": 1,
"ItemSpeech": "",
"ItemOpTime": 0
}
]
}
}
]
},
"NotifyNodes": {
"NotifyNode": [
{
"ItemName": "jinhuiguo",
"ItemParty": "行政部",
"ItemImage": "http://www.qq.com/xxx.png",
"ItemUserId": "GuoJinHui"
}
]
},
"ApproverStep": 0
}
}
请求参数
Query 参数
access_token
调用接口凭证
示例值:
{{accesstoken}}
Body 参数application/json
返回响应
修改于 2022-01-14 04:25:43