回调配置
回调配置说明
回调是每刻提供的调用外部接口的功能,在【设置】->【回调管理】页面进行回调配置。
关键参数说明
配置参数说明
字段 | 说明 |
---|---|
回调名称 | 该回调规则的名称 |
回调类型 | 回调事件的类型,暂时只支持单据流程变更回调 |
回调地址 | 回调地址,每刻这边会先验证该url,只有返回的响应为{"success":true},每刻才会认为这是一个正确的url |
请求类型 | Http的请求类型,GET、POST、PUT等 |
超时时长 | 请求的超时时长,默认5000ms |
重试次数 | 如果回调失败,重新推送的最大次数 |
特殊说明
- 加密秘钥:每刻在推送数据的时候,会通过加密方式生成签名,并放在请求头中。加签的秘钥暂时不支持修改,管理员可以点击每刻报销的“设置-安全设置-系统安全策略-账号管理”中获取到key和secret
- 重试间隔:1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2h
接口地址
企业在回调配置中自定义配置的回调地址
请求类型
企业在回调配置中自定义的请求类型
请求参数说明
字段名 | 类型 | 说明 |
---|---|---|
formType | String | 表单类型,REIMBURSE(报销单),PRECONSUME(申请单),LOAN(借款单),CONTRACT(合同) |
taskAssignee | String[] | 任务的处理人(最终处理人,可能是被授权人、被转交人),员工编号的数组 |
taskOwners | String[] | 任务的所属人(任务原归属人),员工编号的数组 |
procInsId | String | 每刻流程的实例ID |
eventTime | Date | 事件发生的时间 |
formCode | String | 表单Code |
formDataCode | String | 单据小类系统内码,唯一主键 |
formName | String | 事由 |
submitter | String | 提交人员工号 |
submitterName | String | 提交人性名 |
coverUser | String | 报销人员工号、申请人员工号、借款人工号 |
coverUserName | String | 报销人员姓名、申请人员姓名、借款人姓名 |
taskActionType | String | 任务类型 SUBMIT 提交 PROCESSING 待处理 COMPLETED 当前节点完成 REJECTED 驳回 REJECTEDTO_PREVIOUS 驳回到之前的任务处理人 RECALLED 召回 FORWARD 转交 REVERTED 撤回 CC 抄送 SUSPEND 任务挂起 SKIP 跳过 _REMINDER 催办 SETTLEMENT_COMPLETED 支付完成 REPAYMENTMESSAGE 还款通知 INSTALLMENT_REMIND 分期付款根据付款计划时间发消息提醒 LOAN_ABANDON 借款单作废 CONTRACT_ABANDON 合同作废 REIMBURSE_ABANDON 报销单作废 PRECONSUME_ABANDON 申请单作废 _CONTRACT_CHANGE(合同被变更) |
taskId | String | 每刻流程的任务ID |
eventScenario | String | 场景事件,APPROVAL 审批; CASHIER_SETTLE 结算; FINANCE_AUDIT 审核; CC 抄送; SIGN 签收; WEB_HOOK 外部推送; INSTALLMENT_REMIND 分期付款提醒 |
formSubTypeName | String | 单据小类名称,企业自定义 |
formSubTypeBizCode | String | 单据小类编码,企业自定义 |
taskName | String | 流程节点名称 |
reason | String | 审批意见、驳回理由,撤回理由 |
nominalOperator | String | 授权人工号 |
abnormal | boolean | 是否异常流程 |
operatedByAdmin | boolean | 是否管理员操作 |
content | String | 理由(目前只有单据流程变更中的催办和评论场景) |
attachments | List |
该节点附件(目前只有单据流程变更中的催办和评论场景) |
attachmentAll | List |
全部审批流程附件(只有支持单据流程变更类型的回调) |
url | String | 附件地址 |
fileName | String | 附件文件名称 |
taskAssigneeInfo | List |
任务处理人信息 |
taskAssigneeName | String | 任务处理人姓名 |
taskAssigneeId | String | 任务处理人工号 |
isFirstSubmission | boolean | 此参数只有在任务类型为SUBMIT时才会存在,标识是否为第一次提交 |
特殊地,加签审批场景的场景事件(eventScenario)为APPROVAL,任务类型(taskActionType)为PROCESSING。
{
"calloutParams": {
"coverUser": "190013",
"coverUserName": "张三",
"eventTime": 1584444522722,
"formCode": "MK_gxb191214601",
"formDataCode": "BX18042824ZA8SG0",
"formName": "报销单打印",
"formType": "REIMBURSE",
"procInsId": "procInsId",
"taskId": "taskId",
"submitter": "190013",
"submitterName": "张三",
"eventScenario": "APPROVAL",
"taskActionType": "COMPLETED",
"taskAssignee": [
"190013"
],
"taskOwner": [
"190013"
],
"formSubType": "个人报销单",
"formSubTypeBizCode": "BIZ123456",
"taskName": "部门领导审批",
"reason": "通过",
"nominalOperator": "190013",
"operatedByAdmin": false,
"abnormal": false,
"attachmentAll": [
{
"url": "https://...链接有效期7天",
"fileName": "01.ng"
},
{
"url": "https://...链接有效期7天",
"fileName": "02.ng"
}
],
"taskAssigneeInfo": [
{
"taskAssigneeName": "林朝阳",
"taskAssigneeId": "lzy665566"
}
],
"content": " 催办理由",
"attachments": [
{
"url": "https://...链接有效期7天",
"fileName": "1.txt"
}
]
}
}
返回参数说明
{
"success":true,
"errorMsg": "成功"
}
如果返回的结果是success为true,那么每刻会认为消息已经推送成功;其他情况,每刻认为消息推送失败,会再次推送。
回调类型归类
1. 流程开始类型的回调,taskAssignee 表示要处理这个待办的用户
taskActionType | taskAssignee | taskOwners |
---|---|---|
PROCESSING | 推送待办 | 不处理 |
REMINDER | 推送待办 | 不处理 |
CC | 推送待办 | 不处理 |
FORWARD | 推送待办 | 清除待办 |
2. 流程操作类型的回调,taskAssingee 表示实际操作的用户,taskOwner 表示任务之前的所有者
taskActionType | taskAssignee | taskOwners |
---|---|---|
COMPLETED (完成) | 把待办标记为已办 | 撤回待办 |
REJECTED(驳回) | 把待办标记位已办 | 撤回待办 |
REJECTED_TO_PREVIOUS(驳回至之前处理人) | 把待办标记为已办 | 撤回待办 |
RECALLED(召回) | 把待办标记位已办 | 撤回待办 |
REVERTED (转交) | 把待办标记位已办 | 撤回待办 |
SUSPEND (挂起) | 撤回待办 | 撤回待办 |
SKIP (跳过) | 无需处理 | 无需处理 |
SETTLEMENT_COMPLETED(出纳支付完成) | 把待办标记位已办 | 撤回待办 |
评论消息回调
因评论消息在流程的任何一节点都可以进行评论,这里规范评论消息的参数说明
请求参数说明:
序号 | 字段名 | 类型 | 是否必须 | 说明 |
---|---|---|---|---|
1 | formType | String | 是 | 单据类型(同上描述) |
2 | formDataCode | String | 是 | 表单的系统内码 |
3 | formCode | String | 是 | 表单Code |
4 | submitNum | String | 是 | 提交人员工号 |
5 | submitName | String | 是 | 提交人员工姓名 |
6 | eventScenario | String | 是 | 事件场景,目前只有Comment_Event(评论事件) |
7 | content | String | 是 | 评论内容 |
8 | attachments | List |
否 | 附件 |
8.1 | url | String | 附件地址 | |
8.2 | fileName | String | 附件文件名 | |
9 | receiveEmployeeIds | List |
否 | 被@的员工工号 |
{
"formType": "PRECONSUME",
"formDataCode": "PC200805UZVR5KW",
"formCode": "MK20081302",
"submitNum": "",
"submitName": "James",
"eventScenario": "Comment_Event",
"formName": "报销单打印",
"formSubTypeName":"1111",
"formSubTypeBizCode":"BIZ159357",
"taskName":"部门领导审批",
"eventTime":15236554126,
"procInsId": "procInsId",
"taskId":"taskId",
"content": " @James 申请单哦",
"attachments": [{
"url": "https://...链接有效期7天",
"fileName": "1.txt"
}],
"receiveEmployeeIds": [
""
]
}
还款通知回调
回调场景:发送催还款通知
请求参数说明:
序号 | 字段名 | 类型 | 是否必须 | 说明 |
---|---|---|---|---|
1 | formType | String | 是 | 单据类型(同上描述) |
2 | formDataCode | String | 是 | 表单的系统内码 |
3 | formCode | String | 是 | 表单Code |
4 | taskActionType | String | 是 | 任务类型 |
5 | eventTime | Date | 是 | 时间发生的时间 |
6 | formSubTypeName | String | 是 | 单据小类 |
7 | formSubTypeBizCode | String | 是 | 单据小类编码 |
8 | formName | String | 是 | 借款单事由 |
9 | loanEmployeeName | String | 是 | 借款人姓名 |
10 | loanEmployeeNo | String | 是 | 借款人员工编号 |
11 | settledTime | Date | 是 | 原借款单的支付日期 |
12 | repaymentTime | Date | 是 | 原借款单的预计还款日期 |
13 | approvedAmount | BigDecimal | 是 | 借款总金额 |
14 | deductionAmount | BigDecimal | 是 | 目前已还金额 |
15 | owedAmount | BigDecimal | 是 | 未还金额 |
16 | pendingAmount | BigDecimal | 是 | 核销中金额 |
{
"calloutParams": {
"formType":"LOAN",
"formSubTypeName":"linchaoyang的借款单2",
"formDataCode":"LF2012251OQXQOLC",
"formCode":"MK201210901",
"settledTime":1608890226000,
"taskActionType":"REPAYMENT_MESSAGE",
"loanEmployeeName":"林朝阳",
"formSubTypeBizCode":"FT2012251OOK92BK",
"deductionAmount":30.00000,
"owedAmount":70.00000,
"loanEmployeeNo":"lzy665566",
"formName":"abc",
"eventTime":1609378797546,
"approvedAmount":100.00000,
"repaymentTime":1608890160013,
"pendingAmount":10.00000
}
}
行程调整通知
当行程作废的时候回发送该通知
请求参数说明
序号 | 字段名 | 类型 | 是否必须 | 说明 |
---|---|---|---|---|
1 | operateAt | Data | 是 | 操作时间 |
2 | formDataCode | String | 是 | 表单的系统内码 |
3 | formCode | String | 是 | 表单Code |
4 | formSubTypeCode | String | 是 | 单据小类名称 |
5 | formName | 表单名称 | 是 | 单据名称 |
6 | applicantEmployeeName | String | 是 | 提单人姓名 |
7 | applicantEmployeeId | String | 是 | 提单人ID |
8 | submittedAt | Date | 是 | 单据提交时间 |
9 | formType | String | 是 | 单据类型 |
10 | travelRoutes | jsonArray | 是 | 行程数组 |
11 | changeType | String | 是 | 改变类型。ABANDON:行程作废 |
travelRoute: | 序号 | 字段名 | 类型 | 是否必须 | 说明 | | ---- | -------------- | ------- | -------- | ---------------- | | 1 | travelRouteCode | String | 是 | 行程唯一标志 | | 2 | userCode | String | 是 | 用户工号 | | 3 | startDate | Date | 是 | 开始时间 | | 4 | endDate | Date | 是 | 结束时间 | | 5 | departure | String | 是 | 出发地 | | 6 | destionation | String[]| 是 | 目的地 | | 7 | relationUsers | String[]| 否 | 关联人的员工号 |
{
"calloutParams":{
"operateAt":1610173858467,
"formCode":"MK21010601",
"formDataCode":"PC2101091D01AJ28",
"formSubTypeName":"出差申请",
"formName":"北京-上海出差申请",
"formType":"PRECONSUME",
"applicantEmployeeName":"张三",
"applicantEmployeeId":"MK001",
"changeType":"ABANDON",
"submittedAt":1610173351882,
"travelRoutes":[
{
"travelRouteCode":"TRC2101091D0QLMO0",
"empId":"MK001",
"startDate":1610173676075,
"endDate":1610173677846,
"departure":"北京市区",
"destination":[
"上海市区"
],
"relationUsers":[
]
}
]
}
}
单据作废回调
回调场景:作废单据是触发回调
配置:在回调管理中配置回调类型为“单据作废通知”对应的回调接口
请求参数说明:
和关键参数说明一致
修订记录
2020-06-02 返回参数由使用Code=ACK判断,改为success=true判断是否调用成功
2020-09-17 eventScenario 场景事件新增签收 SIGN
2020-12-31 taskActionType 任务类型新增还款通知 REPAYMENT_MESSAGE 并增加还款回调参数说明
2021-04-01 单据流程变更通知回调,增加审批流程中全部附件的参数;催办增加催办理由和附件信息参数
2021-04-27 新增回调类型归类
2021-05-30 新增SUBMIT类型回调,即每次提交动作都会发送提交类型回调消息,用于驳回到提单人清除待办
2021-08-17 新增单据作废回调类型
2021-08-24 SUBMIT类型回调参数中新增isFirstSubmission字段,判断是否为第一次提交
2021-12-23 新增合同变更回调