审批通知服务
目录
简介
审批通知服务,主要用于程序调用,附带状态查询、结果通知、企业微信审批等。第一次使用本服务,需要先申请key,然后调用审批API。
注:
1、由于本服务依赖于企业微信消息通知服务,所以涉及到的各环节邮箱均需要在企业微信有对应用户存在,否则返回错误。
2、目前仅提供最近40条的审批记录页面查询,如有其他需求请及时联系。
key申请
- 发送审批邮件到项目负责人,请项目负责人审批通过后发送至devopsgroup@credithc.com,基本内容如下:
接收人: devopsgroup@credithc.com;项目负责人
邮件标题:审批通知服务key申请--项目名称
邮件内容:
申请邮件和企业微信API应用认证KEY
项目名称:xxxxx
负责人邮箱:xxxxx
原因和使用场景:xxxx - 审批成功后,key会通过企业微信发送至申请人。
接口调用
生产地址:
[公网]http://opapproval.hengchang6.com/
[内网]http://opapproval.service.hcinner/
测试地址:
http://10.150.27.76:8818/
1. 请求方式
POST
2. 参数格式
JSON
3. 审批创建接口
3.1 接口地址
http://xxx.xxx.xxx.xxx/approval/create
3.2. 参数明细
基本参数
参数名 | 必要性 | 类型 | 说明 |
---|---|---|---|
key | 必须 | string | APP Key |
subject | 必须 | string | 项目名称,最长200。 |
applicant_email | 必须 | string | 申请人邮箱,最长100,仅支持单人。 |
call_back_url | 非必须 | string | 回调地址,最长500。 |
sync_url | 非必须 | string | 数据同步地址,最长500。 |
info | 必须 | string | 具体的审批信息。不支持html,可以使用回车换行和空格来控制样式。 |
task_id | 必须 | string | 用户方唯一id,用于后期回调匹配审批工单。 |
approval_users | 必须 | string/list | 审批人,支持英文分号切割或列表。默认为或签,调整参数请查阅高级参数。 |
注:
- 会签表示该审批必须经过所有审批人(按照列表顺序)一致通过,才算完成审批。
- 或签表示提交的审批人中任何一人同意即代表审批完成。
- sync_url非必填,如果填写,本系统内审批中间环节会通过该接口发送数据,数据格式同查询数据返回。
- 【1.3版本更新】applicant_email申请人不做邮箱和企业微信校验,不保证消息必须送达申请人。
高级参数
参数名 | 必要性 | 类型 | 说明 |
---|---|---|---|
approval_cc_users | 非必须 | string/list | 审批信息抄送人。 |
is_and_approval | 非必须 | bool | 是否会签,默认False(或签)。 |
sync_email | 非必须 | bool | 是否同步开启邮件通知,默认False,所有通知仅通过企业微信发送。 |
need_call_cuser | 非必须 | bool | 是否将审批过程通知申请人,默认True。 |
approval_cc_type | 非必须 | 0/1/2 | 抄送环节,默认1(审批后通知)。0、审批前,1、审批后,2、所有环节。 |
注: 1.邮件通知内容包含审批信息以及审批URL,需要点击进入审批页才能进行审批。
3.3 返回数据
{
'code': 200,
'message': 'success',
'data': [
{'task_id': 2}
]
}
注:
- code:int, 状态码,200为成功,其他为失败;
- message: str, 状态码对应的信息。
- data:list, 成功时包含返回对应审批工单的task_id,失败时返回task_id和error信息。
3.4. 回调参数
{
'task_id': 2,
'status': 1,
'message': '已通过',
'data': [
{
'approval_user': email,
'name': name,
'result': result,
'annotation': annotation,
'ctime': ctime
},
{
'approval_user': email,
'name': name,
'result': result,
'annotation': annotation,
'ctime': ctime
},
]
}
注:
- task_id:str, 对应审批工单的id;
- status: int, 状态码:0/1/2/3。
- message: str,状态码对应的信息:0、审批中, 1、已通过, 2、已驳回, 3、已撤销。
- data:list,各环节的具体审批情况。
4.审批撤销接口
4.1. 接口地址
http://xxx.xxx.xxx.xxx/approval/cancel_approval
4.2. 参数明细
参数名 | 必要性 | 类型 | 说明 |
---|---|---|---|
key | 必须 | string | APP Key |
applicant_email | 必须 | string | 申请人邮箱,最长100,仅支持单人。 |
task_id | 必须 | string | 用户方唯一id,用于后期回调匹配审批工单。 |
annotation | 必须 | string | 审批撤销理由。 |
4.3. 返回数据
{
'code': 200,
'message': 'success'
}
注:
http://xxx.xxx.xxx.xxx/approval/sync_status
5.2. 参数明细
参数名 | 必要性 | 类型 | 说明 |
---|---|---|---|
key | 必须 | string | APP Key |
approval_user | 必须 | string | 操作人邮箱,最长100,仅支持单人。 |
result | 必须 | string | 操作内容,[撤回, 批准, 驳回]三选一。 |
task_id | 必须 | string | 用户方唯一id,用于后期回调匹配审批工单。 |
annotation | 必须 | string | 操作理由。 |
ctime | 可选 | string | 操作时间。 |
注:
- ctime会作为前缀加入操作理由。
5.3. 返回数据
{
'code': 200,
'message': 'success'
}
注:
- code:int, 状态码,200为成功,其他为失败;
- message: str, 状态码对应的信息。
6.审批信息查询接口
6.1. 接口地址
http://xxx.xxx.xxx.xxx/approval/get
6.2. 参数明细
参数名 | 必要性 | 类型 | 说明 |
---|---|---|---|
key | 必须 | string | APP Key |
task_id | 必须 | string | 用户方唯一id,用于后期回调匹配审批工单。 |
注:
- 目前只支持单条记录查询,如有其他需求请及时联系。
6.3. 返回数据
{
'code': 200,
'message': 'success',
'data':[{'approval_user': 'xxx@credithc.com', 'name': 'xxx', 'result': '批准', 'annotation': '同意', 'ctime': '2020-04-20 18:59:18'},{'approval_user': 'xxx2', 'name': 'xxx2', 'result': '批准', 'annotation': '同意', 'ctime': '2020-04-20 18:59:18'}......]
}
注:
- code:int, 状态码,200为成功,其他为失败;
- message: str, 状态码对应的信息。
使用说明
入口
- 接口调用后,在企业微信通知中心(和邮箱)发现以下信息:
- 点击【需审批】消息进入具体审批页:
- 点击同意和驳回进行审批操作,相关人员(申请人、审批人、抄送人)审批状态区域可查看审批进度;
- 点击最下方【审批记录列表】可查看待审批列表、申请记录、通知(抄送给您的审批)、已审批记录列表以及批量审批操作: