通过本接口来获取公司一段时间内的审批记录。一次拉取调用最多拉取100个审批记录,可以通过多次拉取的方式来满足需求,但调用频率不可超过600次/分。
请求方式:POST(HTTPS)
请求地址:https://qyapi.weixin.qq.com/cgi-bin/corp/getapprovaldata?access_token=ACCESS_TOKEN
请求示例:
{
"starttime": 1492617600,
"endtime": 1492790400,
"next_spnum": 201704200003
}
参数说明:
参数 | 必须 | 说明 |
---|---|---|
access_token | 是 | 调用接口凭证。必须使用审批应用的secret获取,获取方式参考:文档-获取access_token |
starttime | 是 | 获取审批记录的开始时间。Unix时间戳 |
endtime | 是 | 获取审批记录的结束时间。Unix时间戳 |
next_spnum | 否 | 第一个拉取的审批单号,不填从该时间段的第一个审批单拉取 |
1. 获取审批记录请求参数endtime需要大于startime, 同时起始时间跨度不要超过30天;
2. 一次请求返回的审批记录上限是100条,超过100条记录请使用next_spnum进行分页拉取。
返回结果 :
{
"errcode":0,
"errmsg":"ok",
"count":3,
"total":5,
"next_spnum":201704240001,
"data":[
{
"spname":"报销",
"apply_name":"报销测试",
"apply_org":"报销测试企业",
"approval_name":[
"审批人测试"
],
"notify_name":[
"抄送人测试"
],
"sp_status":1,
"sp_num":201704200001,
"mediaids":["WWCISP_G8PYgRaOVHjXWUWFqchpBqqqUpGj0OyR9z6WTwhnMZGCPHxyviVstiv_2fTG8YOJq8L8zJT2T2OvTebANV-2MQ"],
"apply_time":1499153693,
"apply_user_id":"testuser",
"expense":{
"expense_type":1,
"reason":"",
"item":[
{
"expenseitem_type":6,
"time":1492617600,
"sums":9900,
"reason":""
}
]
},
"comm":{
"apply_data":"{\"item-1492610773696\":{\"title\":\"abc\",\"type\":\"text\",\"value\":\"\"}}"
}
},
{
"spname":"请假",
"apply_name":"请假测试",
"apply_org":"请假测试企业",
"approval_name":[
"审批人测试"
],
"notify_name":[
"抄送人测试"
],
"sp_status":1,
"sp_num":201704200004,
"apply_time":1499153693,
"apply_user_id":"testuser",
"leave":{
"timeunit":0,
"leave_type":4,
"start_time":1492099200,
"end_time":1492790400,
"duration":144,
"reason":""
},
"comm":{
"apply_data":"{\"item-1492610773696\":{\"title\":\"abc\",\"type\":\"text\",\"value\":\"\"}}"
}
},
{
"spname":"自定义审批",
"apply_name":"自定义",
"apply_org":"自定义测试企业",
"approval_name":[
"自定义审批人"
],
"notify_name":[
"自定义抄送人"
],
"sp_status":1,
"sp_num":201704240001,
"apply_time":1499153693,
"apply_user_id":"testuser",
"comm":{
"apply_data":"{\"item-1492610773696\":{\"title\":\"abc\",\"type\":\"text\",\"value\":\"\"}}"
}
}
]
}
参数说明:
参数 | 说明 |
---|---|
count | 拉取的审批单个数,最大值为100,当total参数大于100时,可运用next_spnum参数进行多次拉取 |
total | 时间段内的总审批单个数 |
next_spnum | 拉取列表的最后一个审批单号 |
spname | 审批名称(请假,报销,自定义审批名称) |
apply_name | 申请人姓名 |
apply_org | 申请人部门 |
approval_name | 审批人姓名 |
notify_name | 抄送人姓名 |
sp_status | 审批状态:1审批中;2 已通过;3已驳回;4已取消;6通过后撤销;10已支付 |
sp_num | 审批单号 |
apply_time | 审批单提交时间 |
apply_user_id | 审批单提交者的userid |
leave | 请假类型(只有请假模板审批记录有此数据项) |
timeunit | 请假时间单位:0半天;1小时 |
leave_type | 请假类型:1年假;2事假;3病假;4调休假;5婚假;6产假;7陪产假;8其他 |
start_time | 请假开始时间,unix时间 |
end_time | 请假结束时间,unix时间 |
duration | 请假时长,单位小时 |
reason | 请假事由 |
expense | 报销类型(只有报销模板的审批记录有此数据项) |
expense_type | 报销类型:1差旅费;2交通费;3招待费;4其他报销 |
reason | 报销事由 |
item | 报销明细 (历史单据字段,新申请单据不再提供) |
expenseitem_type | 费用类型:1飞机票;2火车票;3的士费;4住宿费;5餐饮费;6礼品费;7活动费;8通讯费;9补助;10其他 (历史单据字段,新申请单据不再提供) |
time | 发生时间,unix时间 (历史单据字段,新申请单据不再提供) |
sums | 费用金额,单位元 (历史单据字段,新申请单据不再提供) |
reason | 明细事由 (历史单据字段,新申请单据不再提供) |
comm | 审批模板信息 |
apply_data | 审批申请的单据数据,请参见下方返回数据注解2; |
mediaids | 审批的附件media_id,可使用media/get获取附件 |
返回数据注解:
【注解1】请假、报销的新数据格式:
近期版本对企业微信请假、报销数据进行了兼容升级,以支持模板字段的自定义。因此,除了提供请假、报销的历史格式数据外,还在“apply_data”中提供了与自定义模板一致的新格式数据。
建议开发者后续统一使用“apply_data”获取审批模板数据,以确保数据准确无误。
近期对于“APPLY_DATA”优化,导致“APPLY_DATA”数据结构发生变化,短时间内会存在新老两种数据格式,判断的时候可以根据“APPLY_DATA”是否是对象还是数组进行判断是老的结构还是新的。
【注解2】apply_data:
【注解2】apply_data:
{
"item-1490450365815": {
"title": "加班理由", // 控件名称
"type": "textarea", // 控件类型【包括:1.text:文本;2.textarea:多行文本;3.number:数字;4.date:日期;5.datehour:日期+时间;6.file:附件;7.price:金额;8.select:单选;9.checkbox:多选;10.tips:说明文字;11.list:明细;12.expenseAmount:总金额 】
"value": "项目需要" // 填写的内容,只有Type是图片时,value是一个数组,数据示例如下方所示;
},
"item-1490450379069": {
"title": "加班开始时间",
"type": "date",
"value": "1490371200000" //日期格式为时间缀
},
"item-1490450399494": {
"title": "加班证明",
"type": "image",
"value": [
"https://p.qpic.cn/pic_wework/4116602740/a2a481aa4e87639055774e51bc6cabde5595cd4458b57343/0",
"https://p.qpic.cn/pic_wework/4116602740/a2a481aa4e87639055774e51bc6cabde5595cd4458b57343/0"
]
}
}
【注解3】新applydata结构
【注解3】新apply_data:
[
{
id: "item-1490450365815",
type: "textarea",
value: "项目需要",
title:"加班理由"
},
{
id: "item-1490450379069",
type: "date",
value: "1490371200000",
title:"加班时间"
}
]
【注解4】无法获取管理员已删除的审批单数据
附:时间段内审批单数量超过100时
当时间段内审批单超过100时,可通过填写next_spnum的值,从而多次拉取列表的方式来满足需求,但调用频率不可超过600次/分。
具体而言,就是在调用接口时,将上一次调用得到的返回中的next_spnum值,作为下一次调用中的next_spnum值。
返回码:
301025 参数非法
301026 获取数据失败