Developer OpenAPI
首页Apifox官网钉钉openAPI
企业微信openAPI
  • openAPI文档
  • 官方文档
首页Apifox官网钉钉openAPI
企业微信openAPI
  • openAPI文档
  • 官方文档
企业内部开发智慧硬件开发
第三方应用开发
企业内部开发智慧硬件开发
第三方应用开发
  1. OA数据接口
  • 开发指南
    • 回调配置
      • 虚拟业务信息查询接口
    • 获取服务商凭证
      POST
  • 消息推送
    • 接收消息与事件
      • 概述
        • 概述-验证URL有效性
        • 概述-获取企业微信服务器的ip段
        • 概述-使用接收消息
    • 发送应用消息
      POST
    • 更新模版卡片消息
      POST
  • 通讯录管理
    • 成员管理
      • 创建成员
      • 读取成员
      • 更新成员
      • 删除成员
      • 批量删除成员
      • 获取部门成员
      • 获取部门成员详情
      • userid与openid互换-userid转openid
      • userid与openid互换-openid转userid
      • 二次验证
      • 邀请成员
    • 部门管理
      • 创建部门
      • 更新部门
      • 删除部门
      • 获取部门列表
    • 标签管理
      • 创建标签
      • 更新标签名字
      • 删除标签
      • 获取标签成员
      • 增加标签成员
      • 删除标签成员
      • 获取标签列表
    • 异步批量接口
      • 增量更新成员
      • 全量覆盖成员
      • 全量覆盖部门
      • 获取异步任务结果
  • 应用管理
    • 获取应用-获取指定的应用详情
      GET
    • 获取应用-获取access_token对应的应用列表
      GET
  • 素材管理
    • 上传临时素材
      POST
    • 上传图片
      POST
    • 获取临时素材
      GET
    • 获取高清语音素材
      GET
  • OA数据接口
    • 审批流程引擎
      POST
  • 电子发票
    • 查询电子发票
      POST
    • 更新发票状态
      POST
    • 批量更新发票状态
      POST
    • 批量查询电子发票
      POST
  • 推广二维码
    • 回调通知
      • 注册完成回调事件
    • 调用接口
      • 获取注册码
      • 查询注册状态
      • 设置授权应用可见范围
      • 设置通讯录同步完成
  • 应用授权
    • 接口调用
      • 获取第三方应用凭证
      • 获取预授权码
      • 设置授权配置
      • 获取企业永久授权码
      • 获取企业授权信息
      • 获取企业凭证
      • 获取应用的管理员列表
    • 回调接口
      • 标签通知事件 标签成员变更事件
  • 身份验证
    • 网页授权登录
      • 获取访问用户身份
      • 获取访问用户敏感信息
    • 扫码授权登录
      • 获取登录用户信息
  • 设备管理
    • 接口调用
      • 添加设备实例
      • 查询设备绑定信息
      • 重置设备SecretNo
      • 获取设备列表
      • 上传设备日志
      • 获取设备自定义参数
      • 删除设备实例
      • 设置打印机支持状态
  1. OA数据接口

审批流程引擎

POST
http://127.0.0.1/cgi-bin/corp/getopenapprovaldata
智慧硬件开发/OA数据接口
最后修改时间:2022-08-30 03:03:35
责任人:未设置
概述
企业微信向开发者提供审批流程引擎,此特性可将审批流程相关功能嵌入到自建应用中。
开发者可在自建应用中直接调用接口发起审批申请,系统根据审批流程自动通知相关人员进行审批操作。
提交申请后审批流程的每次状态变化,都会通知开发者,可按需进行拓展开发。
此套接口在自建应用中闭环,与“企业微信审批应用”相关接口无关。
自建应用审批流程引擎示意图

1.创建自建应用审批模板#

开发者可在“管理后台-自建应用-审批接口”中,创建审批模板。
功能说明:
参数说明
模板ID用于审批申请类型区分。在后续发起审批申请时,将申请和审批流程进行关联。
审批流程审批流程相关配置。后续以此模板ID发起的审批申请,都将按照设置的流程进行通知和流转。

2.自建应用发起审批#

通过JS-SDK,可在自建应用中发起审批。查看JS-SDK调用详细说明
具体步骤:
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数据说明:
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.自建应用审批状态变化通知回调#

企业可以在管理后台-自建应用-设置API接收中,设置并开启审批状态通知事件。
开启后,自建应用每一个审批申请的审批状态变化,都会通知给开发者。查看事件回调详细说明
回调通知示例:
<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.查询自建应用审批单当前状态#

开发者也可主动查询审批单的当前审批状态。
文档ID: 14584
原文档地址:
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

请求参数

Query 参数
access_token
string 
调用接口凭证
必需
示例值:
{{accesstoken}}
Body 参数application/json
thirdNo
string 
必需
开发者发起申请时定义的审批单号
示例
{
  "thirdNo": "thirdNoxxx"
}

示例代码

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
请求示例请求示例
Shell
JavaScript
Java
Swift
curl --location -g --request POST 'http://127.0.0.1/cgi-bin/corp/getopenapprovaldata?access_token={{accesstoken}}' \
--header 'Content-Type: application/json' \
--data-raw '{
    "thirdNo": "thirdNoxxx"
}'

返回响应

🟢200成功
application/json
Body
errcode
integer <int32>
可选
data
object 
可选
ApplyUserImage
string 
提交者头像
可选
ApplyUserId
string 
提交者userid
可选
ApplyTime
integer <int32>
提交申请时间
可选
NotifyNodes
object 
可选
抄送信息,可能有多个抄送人
OpenSpName
string 
审批模板名称
可选
OpenSpstatus
integer <int32>
可选
ApprovalNodes
object 
审批流程信息
可选
OpenTemplateId
string 
审批模板id
可选
ApplyUsername
string 
提交者姓名
可选
ThirdNo
string 
可选
审批单编号,由开发者在发起申请时自定义
ApproverStep
integer <int32>
可选
当前审批节点:0-第一个审批节点;1-第二个审批节点…以此类推
ApplyUserParty
string 
提交者所在部门
可选
errmsg
string 
可选
示例
{
  "errcode": 0,
  "data": {
    "ApplyUserImage": "string",
    "ApplyUserId": "string",
    "ApplyTime": 0,
    "NotifyNodes": {
      "NotifyNode": [
        {
          "ItemImage": "string",
          "ItemParty": "string",
          "ItemUserId": "string",
          "ItemName": "string"
        }
      ]
    },
    "OpenSpName": "string",
    "OpenSpstatus": 0,
    "ApprovalNodes": {
      "ApprovalNode": [
        {
          "NodeAttr": 0,
          "NodeType": 0,
          "Items": {
            "Item": [
              {
                "ItemImage": "string",
                "ItemStatus": 0,
                "ItemOpTime": 0,
                "ItemParty": "string",
                "ItemUserId": "string",
                "ItemSpeech": "string",
                "ItemName": "string"
              }
            ]
          },
          "NodeStatus": 0
        }
      ]
    },
    "OpenTemplateId": "string",
    "ApplyUsername": "string",
    "ThirdNo": "string",
    "ApproverStep": 0,
    "ApplyUserParty": "string"
  },
  "errmsg": "string"
}
上一页
获取高清语音素材
下一页
查询电子发票
Built with