企业内部开发
基础
连接微信
办公
会议
会议统计管理
企业内部开发
服务端API
审批
提交审批申请
提交审批申请
最后更新:2024/09/25

目录

  • 附录:各控件apply_data/contents/value参数介绍
  •       附1 文本/多行文本控件(control参数为Text或Textarea)
  •       附2 数字控件(control参数为Number)
  •       附3 金额控件(control参数为Money)
  •       附4 日期/日期+时间控件(control参数为Date)
  •       附5 单选/多选控件(control参数为Selector)
  •       附6 成员控件(control参数为Contact,且value参数为members)
  •       附7 部门控件(control参数为Contact,且value参数为departments)
  •       附8 说明文字控件(control参数为Tips)
  •       附9 附件控件(control参数为File,且value参数为files)
  •       附10 明细控件(control参数为Table)
  •       附11 假勤组件-请假组件(control参数为Vacation)
  •       附12 假勤组件-出差/外出/加班组件(control参数为Attendance)
  •       附13 位置控件(control参数为Location,且value参数为location)
  •       附14 关联审批单控件(control参数为RelatedApproval,且value参数为related_approval)
  •       附15 公式控件(control参数为Formula,且value参数为formula)
  • 错误说明
  • 请求方式:POST(HTTPS
    请求地址: https://qyapi.weixin.qq.com/cgi-bin/oa/applyevent?access_token=ACCESS_TOKEN

    请求示例:

    {
    	"creator_userid": "WangXiaoMing",
    	"template_id": "3Tka1eD6v6JfzhDMqPd3aMkFdxqtJMc2ZRioeFXkaaa",
    	"use_template_approver": 0,
    	"choose_department": 2,
    	"process": {
    		"node_list": [{
    				"type": 1,
    				"apv_rel": 1,
    				"userid": [
    					"abc",
    					"bcd"
    				]
    			},
    			{
    				"type": 1,
    				"apv_rel": 1,
    				"userid": [
    					"abc"
    				]
    			}
    		]
    	},
    	"apply_data": {
    		"contents": [{
    			"control": "Text",
    			"id": "Text-15111111111",
    			"value": {
    				"text": "文本填写的内容"
    			}
    		}]
    	},
    	"summary_list": [{
    			"summary_info": [{
    				"text": "摘要第1行",
    				"lang": "zh_CN"
    			}]
    		},
    		{
    			"summary_info": [{
    				"text": "摘要第2行",
    				"lang": "zh_CN"
    			}]
    		},
    		{
    			"summary_info": [{
    				"text": "摘要第3行",
    				"lang": "zh_CN"
    			}]
    		}
    	]
    }

    参数说明:

    参数必须说明
    access_token调用接口凭证,见获取access_token
    creator_userid申请人userid,此审批申请将以此员工身份提交,申请人需在应用可见范围内
    template_id模板id。可在“获取审批申请详情”、“审批状态变化回调通知”中获得,也可在审批模板的模板编辑页面链接中获得。暂不支持通过接口提交[打卡补卡][调班]模板审批单。
    use_template_approver审批人模式:0-通过接口指定审批人、抄送人(此时process参数必填); 1-使用此模板在管理后台设置的审批流程(需要保证审批流程中没有“申请人自选”节点),支持条件审批。默认为0
    choose_department提单者提单部门id,不填默认为主部门
    apply_data审批申请数据,可定义审批申请中各个控件的值,其中必填项必须有值,选填项可为空,数据结构同“获取审批申请详情”接口返回值中同名参数“apply_data”
    └ contents审批申请详情,由多个表单控件及其内容组成,其中包含需要对控件赋值的信息
    └ └ control控件类型:Text-文本;Textarea-多行文本;Number-数字;Money-金额;Date-日期/日期+时间;Selector-单选/多选;;Contact-成员/部门;Tips-说明文字;File-附件;Table-明细;Location-位置;RelatedApproval-关联审批单;Formula-公式;DateRange-时长;
    └ └ id控件id:控件的唯一id,可通过“获取审批模板详情”接口获取
    └ └ value控件值 ,需在此为申请人在各个控件中填写内容不同控件有不同的赋值参数,具体说明详见附录。模板配置的控件属性为必填时,对应value值需要有值。
    summary_list摘要信息,用于显示在审批通知卡片、审批列表的摘要信息,最多3行
    └ summary_info摘要行信息,用于定义某一行摘要显示的内容
    └ └ text摘要行显示文字,用于记录列表和消息通知的显示,不要超过20个字符
    └ └ lang摘要行显示语言,中文:zh_CN(注意不是zh-CN),英文:en。
    processuse_template_approver = 0 时必填新版流程列表
    └ node_list流程节点
    └ └ type节点类型 1:审批人 2:抄送人 3:办理人
    └ └ apv_reltype为1、2时必填多人审批方式 1-会签;2-或签 3-依次审批
    └ └ userid用户id

     

    接口频率限制 600次/分钟
    当模板的控件为必填属性时,表单中对应的控件必须有值。

    权限说明

    应用类型权限要求
    自建应用配置到「审批 - 可调用接口的应用」中
    代开发应用具有「审批」权限
    第三方应用具有「审批」权限

    注: 从2023年12月1日0点起,不再支持通过系统应用secret调用接口,存量企业暂不受影响 查看详情


    返回结果:

    {
       "errcode": 0,
       "errmsg": "ok",
       "sp_no": "202001010001"
    }

    参数说明:

    参数说明
    errcode错误码,详情见错误码说明
    errmsg错误码对应的错误信息提示
    sp_no表单提交成功后,返回的表单编号

     

    附录:各控件apply_data/contents/value参数介绍

    附1 文本/多行文本控件(control参数为Text或Textarea)

    {
        "text": "文本填写的内容"
    }
    参数说明
    text文本内容,在此填写文本/多行文本控件的输入值。文本控件Text内容不支持包含换行符。

    附2 数字控件(control参数为Number)

    {
        "new_number": "700"
    }
    参数说明
    new_number数字内容,在此填写数字控件的输入值

    附3 金额控件(control参数为Money)

    {
        "new_money": "700"
    }
    参数说明
    new_money金额内容,在此填写金额控件的输入值

    附4 日期/日期+时间控件(control参数为Date)

    {
        "date": {
            "type": "day",
            "s_timestamp": "1569859200"
        }
    }
    参数说明
    date日期/日期+时间内容
    └ type时间展示类型:day-日期;hour-日期+时间 ,和对应模板控件属性一致
    └ s_timestamp时间戳-字符串类型,在此填写日期/日期+时间控件的选择值,以此为准

    附5 单选/多选控件(control参数为Selector)

    {
        "selector": {
            "type": "multi",
            "options": [
                {
                    "key": "option-15111111111"
                },
                {
                    "key": "option-15222222222"
                }
            ]
        }
    }
    参数说明
    selector选择控件内容,即申请人在此控件选择的选项内容
    └ type选择方式:single-单选;multi-多选
    └ options多选选项,多选属性的选择控件允许输入多个
    └ └ key选项key,可通过“获取审批模板详情”接口获得

     

    附6 成员控件(control参数为Contact,且value参数为members)

    {
        "members": [
            {
                "userid": "WuJunJie",
                "name": "Jackie"
            },
            {
                "userid": "WangXiaoMing",
                "name": "Tom"
            }
        ]
    }
    参数说明
    members所选成员内容,即申请人在此控件选择的成员,多选模式下可以有多个
    └ userid所选成员的userid
    └ name成员名

    附7 部门控件(control参数为Contact,且value参数为departments)

    {
        "departments": [
            {
                "openapi_id": "2",
                "name": "销售部"
            },
            {
                "openapi_id": "3",
                "name": "生产部"
            }
        ]
    }
    参数说明
    departments所选部门内容,即申请人在此控件选择的部门,多选模式下可能有多个
    └ openapi_id所选部门id
    └ name所选部门名

    附8 说明文字控件(control参数为Tips)

    后台自动填充,无需赋值。

    附9 附件控件(control参数为File,且value参数为files)

    {
        "files": [
            {
                "file_id": "1G6nrLmr5EC3MMb_-zK1dDdzmd0p7cNliYu9V5w7o8K1aaa"
            }
        ]
    }
    参数说明
    files附件列表
    └ file_id文件id,该id为临时素材上传接口返回的的media_id,注:提单后将作为单据内容转换为长期文件存储;目前一个审批申请单,全局仅支持上传6个附件,否则将失败。
    └file_name文件名称,类型为string,如果没有可以填空字符串。
    └file_size文件大小,类型为number,如果没有可以填空字符串。
    └file_type文件类型,类型为string,如果没有可以填空字符串。
    └file_url文件地址,类型为string,如果没有可以填空字符串。

    附10 明细控件(control参数为Table)

    {
        "children": [
            {
                "list": [
                    {
                        "control": "Text",
                        "id": "Text-15111111111",
                        "title": [
                            {
                                "text": "明细内文本控件",
                                "lang": "zh_CN"
                            }
                        ],
                        "value": {
                            "text": "明细文本1"
                        }
                    },
                    {
                        "control": "Money",
                        "id": "Text-15111111112",
                        "title": [
                            {
                                "text": "明细内金额控件",
                                "lang": "zh_CN"
                            }
                        ],
                        "value": {
                           "new_money": "700"
                        }
                    }
                ]
            },
            {
                "list": [
                    {
                        "control": "Text",
                        "id": "Text-15111111111",
                        "title": [
                            {
                                "text": "明细内文本控件",
                                "lang": "zh_CN"
                            }
                        ],
                        "value": {
                            "text": "明细文本2"
                        }
                    },
                    {
                        "control": "Money",
                        "id": "Text-15111111112",
                        "title": [
                            {
                                "text": "明细内金额控件",
                                "lang": "zh_CN"
                            }
                        ],
                        "value": {
                           "new_money": "900"
                        }
                    }
                ]
            }
        ]
    }
    参数说明
    children明细内容,一个明细控件可能包含多个子明细
    └ list子明细列表,在此填写子明细的所有子控件的值,子控件的数据结构同一般控件。注意:不能为空数组,至少需要包含一个子明细,子明细中必须包括模板中设置的全部子控件,如果子明细为空,则需要将所有子控件的值设为空

    附11 假勤组件-请假组件(control参数为Vacation)

    {
        "vacation": {
            "selector": {
                "type": "single",
                "options": [
                    {
                        "key": "3",
                        "value": [
                            {
                                "text": "病假",
                                "lang": "zh_CN"
                            }
                        ]
                    }
                ],
                "exp_type": 0
            },
            "attendance": {
                "date_range": {
                    "type": "hour",
                    "new_begin": 1568077200,
                    "new_end": 1568368800,
                    "new_duration": 291600
                },
                "type": 1
            }
        }
    }
    参数说明
    vacation请假内容,即申请人在此组件内选择的请假信息
    └ selector请假类型,所选选项与假期管理关联,为假期管理中的假期类型
    └ └ type选择方式:single-单选;multi-多选,在假勤控件中固定为单选
    └ └ options用户所选选项
    └ └ └ key选项key,选项的唯一id,可通过“获取审批模板详情”接口获得vacation_list中item的id值
    └ └ └ value选项值,若配置了多语言则会包含中英文的选项值
    └ attendance假勤组件,参考附12中的attendance

    附12 假勤组件-出差/外出/加班组件(control参数为Attendance)

    {
        "attendance": {
            "date_range": {
                "type": "halfday",
                "new_begin": 1570550400,
                "new_end": 1570593600,
                "new_duration": 86400
            },
            "type": 4,
            "slice_info": {
                "day_items": [
                    {
                        "daytime": 1713801600,
                        "duration": 84400
                    },
                    {
                        "daytime": 1713888000,
                        "duration": 86400
                    }
                ]
            }
        }
    }
    参数说明
    attendance假勤内容,即申请人在此组件内选择的假勤信息
    └ date_range假勤组件时间选择范围
    └ └ type时间展示类型:halfday-日期;hour-日期+时间
    └ └ new_begin开始时间戳,
    └ └ new_end结束时间戳
    └ └ new_duration请假时长,单位秒 当slice_info有值时,无需填写,系统会根据slice_info 计算总时长
    └ type假勤组件类型:1-请假;3-出差;4-外出;5-加班
    └ slice_info非必填。时长分片信息
    └ └ day_items某一天的分片
    └ └ └ daytime当天零点时间戳 (当天的东八区的零点时间戳)
    └ └ └ duration某一天的时长,秒数,可以为0,(type为halfday时:加班:需为8640整倍数,其他:需为43200的整倍数,type为hour时需为360的整倍数)
    注意:加班的时间跨度不能超过七天

    附13 位置控件(control参数为Location,且value参数为location)

    {
        "location": {
            "latitude": "30.547239",
            "longitude": "104.063291",
            "title": "腾讯科技(成都)有限公司(腾讯成都大厦)",
            "address": "四川省成都市武侯区天府三街198号腾讯成都大厦A座",
            "time": 1605690460
        }
    }
    参数说明
    latitude纬度,精确到6位小数
    longitude经度,精确到6位小数
    title地点标题
    address地点详情地址
    time选择地点的时间

    附14 关联审批单控件(control参数为RelatedApproval,且value参数为related_approval)

    {
        "related_approval": [
            {
                "sp_no": "202011180001"
            }
        ]
    }
    参数说明
    sp_no关联审批单的审批单号

    附15 公式控件(control参数为Formula,且value参数为formula)

    {
       "formula": {
            "value": "5.0"
        }
    }
    参数说明
    value公式的值,提交表单时无需填写,后台自动计算

    附16 时长组件(control参数为DateRange,且value参数为date_range)

    {
        "date_range": {
            "new_begin": 1570550400,
            "new_end": 1570593600,
            "new_duration": 86400
        }
    }
    参数说明
    new_begin开始时间,unix时间戳
    new_end结束时间,unix时间戳
    new_duration时长范围, 单位秒

    错误说明

    错误码说明
    301055无审批应用权限,或者提单者不在审批应用/自建应用的可见范围
    301056审批应用已停用
    301025提交审批单请求参数错误
    301057通用错误码,提交审批单内部接口失败
    301079审批单假勤时间有冲突
    上一篇获取审批模板详情
    下一篇审批申请状态变化回调通知
      本节内容
    服务端API
    基础
    连接微信
    办公
    会议
    会议统计管理
    客户端API
    小程序
    基础
    连接微信
    办公
    WECOM-JSSDK
    JS-SDK
    基础
    连接微信
    办公
    更新日志
    联系我们