使用前提:
账号登录兔展营销云工作台,有“审批管理”菜单,有 审批规则配置 权限;
“数据集成”,自建应用,开通“审批”类型的自建应用权限;
1、提交审批接口
使用场景:提交审批时,所用的规则为外部规则,则调用规则所配置的审批自建应用内的“审批-提交”接口,向三方提交审批单
接口地址:自建应用申请审批相关权限,配置“审批-提交”接口地址
请求方式: POST
请求数据类型
[ "application/xml" ]
响应数据类型
[ "application/json" ]
接口描述:向三方提交外部审批单
应用权限: 数据集成、审批管理
请求参数
参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | 备注 |
---|---|---|---|---|---|
pid | 通过联合登录的第三方用户id | body | 否 | String | 第三方平台联合登录的进来的第三方用户,且自建应用得是审批规则所绑定的应用实例 |
userId | 申请人系统账号id | body | 是 | String | 在兔展系统里提交用户的id(userid) |
applicantDeptId | 申请人员工部门id | body | 否 | String | 申请人关联了组织架构的员工时,员工的员工的部门id |
applicantThirdDeptId | 申请人员工第三方部门id | body | 否 | String | 申请人关联了组织架构的员工时,员工的第三方员工部门id |
applicantChannelId | 申请人员工渠道id | body | 否 | String | 申请人关联了组织架构的员工时,兔展系统生成的员工id |
applicant | 申请人员工姓名 | body | 否 | String | 申请人关联了组织架构的员工时,员工的姓名 |
applicantNumber | 申请人员工号 | body | 否 | String | 申请人关联了组织架构的员工时,员工的员工号信息 |
applicantOpenId | 申请人员工openid | body | 否 | String | 申请人关联了组织架构的员工时,员工的openid信息 |
approveTemplateId | 审批模板id | body | 否 | String | 通过审批规则设置中填写的审批模板id,一般是第三方平台对应的审批模板 |
approveOperation | 提交审批和撤回审批 | body | 是 | String | 0提交,4撤回 |
approveId | 审批单号ID | body | 是 | Integer | 兔展平台审批单号id |
approveDetailsDTO | 审批申请详情 | body | 是 | ApproveDetailsDTO | 审批详情 |
approveDetailsDTO
参数名称 | 参数说明 | 请求类型 | 是否必选 | 数据类型 | 备注 |
---|---|---|---|---|---|
approveTarget | 审核对象类型 | body | 是 | String | POINT(用户积分), CONTENT(内容), MARKETING(营销活动), TOUCH(触达任务), MA(流程自动化) |
approveTargetName | 审核对象类型名称 | body | 是 | String | |
approveAction | 审核对象操作类型 | body | 是 | String | ONLINE(上线) OFFLINE(下线) ADD(增加) REDUCE(减少) RELEASE(仅触达) DELETE(删除) |
approveActionName | 审核对象操作类型 | body | 是 | String | |
approveBizId | 审核对象ID | body | 是 | String | 提交审批时,指定的审批对象approve_biz_id。 MA、POINT为json串,其他为对象id。 例如: POINT:{"audienceUserId":905966170514407424,"point":33,"content":"33"} MA: {"processDefId":1012007443046346752} |
approveDetailUrl | 审核对象后台管理地址 | body | 否 | String | 提交审批时,当前的对象类型对应后台系统查看管理设置的入口,如作品编辑的审批查看入口 |
approvePreviewUrl | 审核对象预览地址 | body | 否 | String | 提交审批时,当前的对象类型C端用户的预览地址,只有内容有预览地址 |
createTime | 发起时间 | body | 是 | String | 提交审批时的时间 |
approveContent | 申请理由 | body | 是 | String | 提交审批时用户填写的申请理由信息 |
enclosureDtoList | 申请理由附件信息 | body | 否 | List<ApproveEnclosureDTO> | 提交审批时用户上传的额外附件信息 |
extInfo | 其他额外信息 | body | 否 | String | 系统的其他额外信息内容 |
ApproveEnclosureDTO
参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | 备注 |
---|---|---|---|---|---|
enclosureType | 附件文件类型 | body | 否 | Integer | 提交审批时用户上传的额外附件类型,附件类型,文件1,图片2 |
enclosureName | 附件名称 | body | 否 | String | 提交审批时用户上传的额外附件类型的文件名称 |
enclosurePath | 附件地址 | body | 否 | String | 提交审批时用户上传的额外附件类型的文件地址 |
返回参数
参数名称 | 参数说明 | 是否必须 | 数据类型 | 备注 |
---|---|---|---|---|
code | 返回编码 | 是 | String | 200表成功,其他不通过 |
msg | 返回信息 | 否 | String | 信息提示 |
thirdApproveId | 第三方审批单号,成功必传 | 是 | String | 审批提交成功后,返回的第三方系统的审批编号 |
2、更新审批接口
使用场景:在兔展营销系统,审批管理-发起的审批-查看-审批查看-审批状态-更新状态 按钮触发 主动向三方获取外部审批单信息。接口2和接口4是互斥的,接口4是外部三方主动回调兔展接口进行更新审批单状态
接口地址:自建应用申请审批相关权限,配置“审批-更新”接口地址
请求方式: POST
请求数据类型
[ "application/xml" ]
响应数据类型
[ "application/json" ]
接口描述:主动更新外部审批单信息
应用权限: 数据集成、审批管理
请求参数
参数名称 | 参数说明 | 请求类型 | 是否必要 | 数据类型 | 备注 |
---|---|---|---|---|---|
approveId | 审批单号 | body | 否 | String | 兔展系统生成的审批单号信息 |
approveThirdId | 第三方系统的审批单号 | body | 是 | String | 审批提交成功后,返回的第三方系统的审批编号 |
返回参数
参数名称 | 参数说明 | 请求类型 | 是否必填 | 数据类型 | 备注说明 |
---|---|---|---|---|---|
approveThirdId | 第三方系统的审批单号 | body | 是 | String | 审批提交成功后,返回的第三方系统的审批编号 |
approveResult | 审批单结果状态 | body | 是 | String | 在第三方系统审批完成后,审批单的状态信息,1审批未结束,2审批完成 |
approveNodeList | 审批节点信息 | body | 是 | ApproveNodeDTO | 会有多个节点信息 |
ApproveNodeDTO
参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | 备注说明 |
---|---|---|---|---|---|
approverNum | 审批员工号 | body | 是 | List<String> | 内部系统的员工号信息 |
approverName | 审批员工姓名 | body | 否 | List<String> | 内部系统的员工号姓名信息 |
nodeStatus | 审批节点状态 | body | 是 | String | 在第三方系统审批完成后,审批单节点的状态信息,分为1未审批(审批中),2审批通过,3审批驳回,4审批撤销 |
nodeStatusName | 审批节点状态名称 | body | 否 | String | 在第三方系统审批完成后,审批单节点的状态信息的中文名称,未审批(审批中),审批通过,审批驳回 |
approveOpinion | 审批员工意见 | body | 是 | String | 审批中回复的意见信息 |
approveTime | 审批时间 | body | 是 | Date | 审批的操作时间 |
3、订阅系统默认审批单信息接口
使用场景:使用营销平台里的系统默认审批,用户提交审批、审批步骤到下一个审批节点、审批完成、审批驳回、撤回审批的时候,向三方推送审批单信息
接口地址:自建应用申请审批相关权限,配置“审批-订阅”接口地址
请求方式: POST
请求数据类型
[ "application/xml" ]
响应数据类型
[ "application/json" ]
接口描述:关键节点调用此接口将审批单信息提交三方
应用权限: 数据集成、审批管理
注意事项:
1、由于是推送给三方的,兔展并不关心是否成功,不会进行重试
2、使用最新更新的配置“审批-订阅”权限的自建应用
请求参数
参数名称 | 参数说明 | 请求类型 | 是否必填 | 数据类型 | 备注说明 |
---|---|---|---|---|---|
approveId | 审批单号ID | body | 是 | Integer | 当前系统自动审批的审批单号id |
approveOperation | 审批操作类型 | body | 是 | String | 分为提交审批和撤回审批,0(提交),4(撤回) |
userId | 申请人系统账号id | body | 是 | String | 在兔展系统里提交用户的id |
applicant | 申请人员工姓名 | body | 否 | String | 申请人关联了组织架构的员工时,员工的姓名 |
applicantChannelId | 申请人员工id | body | 否 | String | 申请人关联了组织架构的员工时,兔展系统生成的渠道id |
applicantOpenId | 申请人员工openid | body | 否 | String | 申请人关联了组织架构的员工时,员工的openid信息 |
applicantNumber | 申请人员工号 | body | 否 | String | 申请人关联了组织架构的员工时,员工的员工号信息,thirduserid |
applicantDeptId | 申请人员工部门id | body | 否 | String | 申请人关联了组织架构的员工时,员工的员工的部门id |
approveDetailsDTO | 审批申请详情 | body | 是 | ApproveDetailsDTO | |
approveResult | 审批单结果状态 | body | 是 | String | 在兔展审批系统审批完成后,审批单的状态信息,分为1(审批中)、2(审批通过)、3(审批驳回) |
approveNodeList | 审批节点信息 | body | 是 | List<ApproveNodeDTO> | 多个审批节点信息 |
ApproveDetailsDTO
参数名称 | 参数说明 | 请求类型 | 数据类型 | 是否必须 | 备注说明 |
---|---|---|---|---|---|
approveTarget | 审核对象类型 | body | String | 是 | 提交审批时,当前的对象类型 POINT(用户积分), CONTENT(内容), MARKETING(营销活动), TOUCH(触达任务), MA(流程自动化) |
approveTargetName | 审核对象类型名称 | body | String | 是 | |
approveBizId | 审核对象ID | body | String | 是 | 提交审批时,指定的审批对象approve_biz_id。对应approve里的bizid MA、POINT为json串,其他为对象id。 例如: POINT:{"audienceUserId":905966170514407424,"point":33,"content":"33"} MA:{"processDefId":1012007443046346752} |
approveAction | 审核对象操作类型 | body | String | 是 | 提交审批时,当前的对象操作类型对应的中文名称 ONLINE(上线) OFFLINE(下线) ADD(增加) REDUCE(减少) RELEASE(发布,仅触达) DELETE(删除) |
approveActionName | 审核对象操作类型名称 | body | String | 是 | |
approveDetailUrl | 审核对象后台管理地址 | body | String | 否 | 提交审批时,当前的对象类型对应后台系统查看管理设置的入口,如作品编辑的审批查看入口 |
approvePreviewUrl | 审核对象预览地址 | body | String | 否 | 提交审批时,当前的对象类型C端用户的预览地址,只有内容有预览地址 |
createTime | 发起时间 | body | Timestamp | 是 | 提交审批时的时间 |
approveContent | 申请理由文本信息 | body | String | 是 | 提交审批时用户填写的申请理由信息 |
enclosureDtoList | 申请理由附件信息 | body | List<ApproveEnclosureDTO> | 否 | 提交审批时用户上传的额外附件信息 |
extInfo | 其他额外信息 | body | String | 否 | 系统的其他额外信息内容 |
ApproveEnclosureDTO
参数名称 | 参数说明 | 请求类型 | 数据类型 | 是否必须 | 备注说明 |
---|---|---|---|---|---|
enclosureType | 申请理由附件文件类型 | body | Integer | 否 | 提交审批时用户上传的额外附件类型,附件类型:文件1,图片2 |
enclosureName | 申请理由附件名称 | body | String | 否 | 提交审批时用户上传的额外附件类型的文件名称 |
enclosurePath | 申请理由附件地址 | body | String | 否 | 提交审批时用户上传的额外附件类型的文件地址 |
ApproveNodeDTO
参数名称 | 参数说明 | 请求类型 | 数据类型 | 是否必须 | 备注说明 |
---|---|---|---|---|---|
approverNum | 审批员工号 | body | List<String> | 否 | 内部系统的员工号信息(如果有多个员工,则该行是列表) 此列为空或者员工号为空: 1、如果提交审批人不在组织架构内,则是自己审批; 2、如果审批员工不在组织架构或者员工号(thirduserid)为空; |
nodeStatus | 审批节点状态 | body | String | 是 | 在第三方系统审批完成后,审批单的状态信息,分为1(审批中)、2(审批通过)、3(审批驳回) |
nodeStatusName | 审批节点状态名称 | body | String | 否 | 在第三方系统审批完成后,审批单的状态信息的中文名称 |
approveOpinion | 审批员工意见 | body | String | 是 | 审批中回复的意见信息 |
approveTime | 审批时间 | body | Date | 是 | 审批的操作时间 |
返回参数
参数 | 参数说明 | 类型 | 是否必选 | 备注 |
---|---|---|---|---|
approveId | 第三方审批单号 | String | 是 |
4、三方回传审批信息接口
使用场景:使用前提,有审批-订阅的自建应用权限集。兔展侧提交外部审批单给三方,三方某个审批节点通过或驳回时调用此接口回传兔展侧更新审批单信息。
接口地址:/approve/echoThirdPartyApprove
请求方式: POST
请求数据类型
[ "application/json" ]
响应数据类型
[ "application/json" ]
接口描述:回传审批单的审批结果,给三方的固定回调接口
请求头参数
属性 | 类型 | 必填 | 说明 |
---|---|---|---|
X-Token | string | 是 | 自建应用 accessToken 。 1、获取企业自建应用访问X-Token |
请求参数
参数名称 | 参数说明 | 请求类型 | 是否必填 | 数据类型 | 备注说明 |
---|---|---|---|---|---|
approveThirdId | 第三方系统的审批单号 | body | 是 | String | 审批提交成功后,返回的第三方系统的审批编号 |
approveResult | 审批单结果状态 | body | 是 | String | 在第三方系统审批完成后,审批单的状态信息,1审批未结束,2审批完成 |
approveNodeList | 审批节点信息 | body | 是 | ApproveNodeDTO | 会有多个节点信息 |
ApproveNodeDTO
参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | 备注说明 |
---|---|---|---|---|---|
approverNum | 审批员工号 | body | 是 | List<String> | 内部系统的员工号信息 |
approverName | 审批员工姓名 | body | 否 | List<String> | 内部系统的员工号姓名信息 |
nodeStatus | 审批节点状态 | body | 是 | String | 在第三方系统审批完成后,审批单节点的状态信息,分为1未审批(审批中),2审批通过,3审批驳回 |
nodeStatusName | 审批节点状态名称 | body | 否 | String | 在第三方系统审批完成后,审批单节点的状态信息的中文名称,未审批(审批中),审批通过,审批驳回 |
approveOpinion | 审批员工意见 | body | 是 | String | 审批中回复的意见信息 |
approveTime | 审批时间 | body | 是 | Date | 审批的操作时间 |
响应参数
参数名称 | 参数说明 | 请求类型 | 类型 | 是否必选 | 备注说明 |
---|---|---|---|---|---|
code | 响应码 | body | String | 是 | 200表成功,其他为异常情况 |
errorCode | 错误码 | body | String | 否 | 错误码 |
msg | 信息 | body | String | 是 | 提示信息 |
data | 数据 | body | T | 否 | boolean类型,true代表操作成功,false代表操作失败 |
错误码:
code | errorCode | msg | 备注 |
---|---|---|---|
100316 | APPROVAL_THIRD_PARTY_PARAMETER_EMPTY | 三方审批相关请求参数为空 | 必填字段为空,报此错 |
100324 | APPROVAL_RULE_IS_END | 三方审批单已结束 | |
100326 | APPROVAL_THIRD_PARTY_NOT_EXIST | 审批单不存在 |