webhook节点推送说明
说明
配置该接口后,可以将每刻审批单的全数据推送至外部系统,外部系统接收到审批单数据后,可以执行您在该节点需要的操作,例如可唤起OA流程实例,发起对应的OA审批,或者在您的系统中保存单据,保存财务信息等。

步骤说明
- 地址配置:首先我们需要在每刻报销->设置->单据与流程->选择某一流程->外部推送节点->
填写接口地址

- 节点类型+推送模式配置:需要在该节点根据实际业务做选择,不同组合效果说明可点击外部系统推送说明
Figure: image.png
- 在配置好接口地址后,可以在系统内提交单据,当流程到达该外部节点时,即会请求您的接口,可以在本地查看每刻推送的报文。
- 由于不同的单据类型会有不同的数据列/参数格式,因此每刻推送的数据相关key/结构也会有差异,所以需要针对各个自定义表单进行开发处理。每个单据类型的固定组件key说明可以参考表单formData格式说明
。
- 自定义组件查看方法:在表单编辑器中打开开发者模式,选择某一自定义控件,根据右侧出现的开发者选项内容中的业务编码去修改为自己所需要的key值(保证在表单内唯一),这样webhook推送数据的时候就会按照用户设置的业务编码作为字段key值推送出去。注:新增字段在未保存前是没有样例数据的。样例数据是该字段在webhook推送出去时所模拟的数据结构,方便用户开发。

WebHook接口说明
请求方式
POST
请求参数
参数说明
参数名称 |
参数类型 |
是否必须 |
参数说明 |
entCode |
String |
是 |
每刻企业code |
processInstanceId |
String |
是 |
每刻流程实例Id |
formDataCode |
String |
是 |
您的单据内码 |
formCode |
String |
是 |
您的单据号 |
formType |
String |
是 |
REIMBURSE表示报销单, PRECONSUME表示申请单,LOAN借款单,REPAYMENT还款单,CONTRACT合同 |
tasks |
List<Task> |
是 |
具体任务信息 |
taskId |
String |
是 |
每刻流程节点Id(对应更新接口的processTaskId) |
formData |
List<FormData> |
是 |
表单信息,详情需要查看文档末尾的每刻推送的formData字段格式 |
viewLinks |
List<ViewLink> |
是 |
单据页面链接(仅轻表单类型会返回) |
logs |
List<Log> |
是 |
流程日志 |
Task类型字段说明
参数名称 |
参数类型 |
是否必填 |
参数说明 |
procInstId |
String |
否 |
流程实例id |
taskId |
String |
否 |
流程任务id |
state |
String |
否 |
流程节点状态,自己定义即可 |
operators |
String |
自由节点非必填 |
节点人员信息 |
taskName |
String |
是 |
节点名称 |
freeNode |
String |
是 |
自由节点标记 |
skip |
boolean |
否 |
是否自动通过标记位 |
category |
String |
否 |
节点分类:审批、审核、支付之类的 |
countersign |
String |
否 |
会签节点标记 |
ViewLink 类型字段说明
参数名称 |
参数类型 |
是否必填 |
参数说明 |
appKey |
String |
是 |
应用类型,COMMON表示不同客户端公用 |
url |
String |
是 |
链接,get请求 |
Log 类型字段说明
参数名称 |
参数类型 |
是否必填 |
参数说明 |
log |
String |
是 |
日志的文本信息 |
comment |
String |
是 |
日志操作者的备注文本信息 |
operatorName |
boolean |
否 |
日志操作者的名称 |
processNodeSubType |
String |
否 |
节点分类:审批、审核、支付之类的 |
taskName |
String |
否 |
任务名称 |
optTime |
long |
否 |
日志记录时间 |
参数示例
{
"entCode": "xxxxxxxxx",
"processInstanceId": "xxxxxxxx",
"formDataCode": "xxxxxxxx",
"formCode": "xxxxxxxx",
"formType": "xxxxxx",
"taskId": "95ec969a-276e-11ee-b919-0a580af4735b",
"tasks": [
{
"procInstId": "id",
"taskId": "id",
"state": "TEST",
"operators": [
{
"code": "zhangsan01",
"name": "张三",
"userEmployeeId": "employee_id",
"description": "部门名称",
"sourceAvatar": "https://static.dingtalk.com/media/lADPDgQ9qTGE0sPNA2LNA2I_866_866.jpg"
}
],
"taskName": "审批或节点",
"freeNode": false,
"skip": false,
"category": "审批",
"countersign": false
}
],
"formData": {
xxxxx
},
"viewLinks": [
{
"appKey": "COMMON",
"url": "https://dt-uat2.maycur.com/h5/?platform=countrygarden&corpId=EC1803221E23UHXD&webHashRoute=/home/lite/view/LIT19092423N9OC1S/null/MINE&H5HashRoute=/liteView/view/LIT19092423N9OC1S"
}
],
"logs": [
{
"log": "[xxx]审批通过",
"comment": "备注",
"operatorName": [
"aa",
"bb"
],
"processNodeSubType": "审批节点",
"taskName": "领导审批",
"optTime": 123141231
}
]
}
响应参数
参数说明
参数名称 |
参数类型 |
是否必填 |
参数说明 |
formCode |
String |
是 |
您的单据code,如果响应中存在该参数,我们会更新每刻单据上的code |
externalProcInstId |
String |
否 |
您的单据流程Id,我们会更新每刻单据上的code,为空会覆盖 |
参数示例
{
"success": true,
"errorMsg": "xxxxx",
"data": {
"formCode": "",
"externalProcInstId": ""
}
}