企业内部开发 服务端API OA 审批 获取审批数据(旧)
获取审批数据(旧)

提示:推荐使用新接口“批量获取审批单号”及“获取审批申请详情”,此接口后续将不再维护、逐步下线。

 


 

通过本接口来获取公司一段时间内的审批记录。一次拉取调用最多拉取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 获取数据失败

上一篇
获取审批申请详情
下一篇
获取企业假期管理配置