表单webhook
功能说明
当表单结构和数据的发生变更时,将操作与变更后的数据推送至目标服务器。
表单页面操作
、数据助手
、功能插件
、后端
、开放平台接口
等方式更新表单均会触发表单webhook推送。
表单webhook管理
注意:当表单从表单回收站被彻底删除,或者应用被删除,那么该表单的数据推送设置也会自动清除。
新建
需要推送某个表单的数据,就对这个表单新建一个数据推送。
设置内容:
- 【表单选择】:选择需要推送数据的表单
- 【服务器地址】:接收推送数据的地址,一般是http:// ,https:// 开头的网址;可以设置自有服务器。
- 【服务器链接测试】:填写好服务器地址后,可以对服务器进行连接测试。
- 【Secret】:支持手动输入一串字符当做加密EncryptKey。数据推送会把通过secret加密后的内容一起推送到目标服务器地址。具体的加密解密方式参考加密方式及解密算法。
- 【生成Secret】:自动生成加密EncryptKey。
- 【推送事件】:自定义勾选需要推送数据的事件,不勾选则不推送该事件。至少要勾选其中一项具体。推送事件及场景见下面章节:[推送事件]
- 【流程事件】:如果选择的是流程表单,还会增加一个流程事件。当新增,修改数据,或流程状态更改时,推送数据和流程状态信息。
新增/编辑表单数据推送设置时,如果勾选【流程事件】,则推送数据中会带有流程数据,如流程状态、流程节点等信息;如果不勾 选则不会带这些数据。
注意:流程事件需要依赖于推送事件使用,即一定要勾选推送事件,勾选流程事件才有实际推送。流程事件可根据实际需求使用。
相关规则:
【表单选择】【服务器地址】【推送事件】必填,【Secret】可不填
服务器地址必须是以http:// https:// 开头的网址
同一个 表单最多支持新建5个数据推送。
编辑
编辑已存在数据推送,【表单】不可修改,【服务器地址】、【Secret】、【推送事件】可编辑。
编辑页面,点击表单会在新标签页打开表单设计页面,可快速对该表单进行操作。
删除
删除已存在的表单数据推送设置,删除后不再进行数据推送。
启用&停用
启用状态的数据推送才会进行推送,停用状态的数据推送不会推送。
注意:
- 当数据推送连续推送失败超过10次,此数据推送设置就会自动停用;
- 停用的数据重新启用后,重新计算推送失败次数,即再连续推送失败超过10此会停用;
- 私有云,失败次数(10次)可在后台配置;
推送日志
推送日志中记录了近30天内的数据,支持根据推送失败日志、推送成功日志、待发送日志、放弃推送日志、全部日志去筛选查询推送记录;
注意:私有云,日志保存天数后台可配置。
推送日志里记录了每条推送记录的时间、地址、事件、结果、推送详情。
- 推送详情中可以查看到推送内容、状态码、推送时间、错误详情等信息,如果事件推送错误了还以在此处查看到具体信息。
放弃推送&重新推送
当数据推送失败后,可以选择重新推送或者放弃推送。
表单数据结构&字段对照表及JSON样例
表单数据结构&字段对照表及JSON样例中可以查询表单数据及其字段的具体类型格式信息,用户在开发时可以在此处参照相关信息。
表单数据结构 |
---|
字段对照表及JSON样例 |
---|
推送事件
表单页面操作
、数据助手
、功能插件
、后端
、开放平台接口
等方式更新表单均会触发表单webhook推送。
推送事件详情
表单结构变化 | ||
---|---|---|
推送事件名称 | eventType | 触发场景 |
表单字段发生变化[页面] | form_fields_update.web | 表单制作时保存(只要点保存,无论有没有字段更新都会推送) |
表单更新数据 | ||
---|---|---|
推送事件名称 | eventType | 触发场景 |
新增数据[页面] [单条] | data_create.web.one | 场景1、表单新建数据,包括表单提交、外链提交、内链提交、报表中提交等手动提交场景 场景2、表单/流程表单,在表单表单设计-数据管理中新增数据 |
修改数据[页面] [单条] | data_update.web.one | 数据详情页,修改单条数据 |
修改数据[页面] [多条] | data_update.web.more | 数据管理-批量修改 通过批量修改,就算只修改1条也是修改多条 |
删除数据[页面] [单条] | data_remove.web.one | 场景1、数据详情页删除单条数据 场景2、批量删除按钮删除一条 |
删除数据[页面] [多条] | data_remove.web.more | 数据管理-批量删除,删除多条 |
流程表单更新数据,包括流程更新 | ||
---|---|---|
推送事件名称 | eventType | 触发场景 |
新增数据[页面] [单条] [流程] [提交] | data_create.web.one.flow.forward | 流程表单-新建流程,包括表单提交、外链提交、内链提交、报表中提交等手动提交场景 |
修改数据[页面] [单条] [流程] [暂存] | data_update.web.one.flow.save | 流程审批时,暂存 |
修改数据[页面] [单条] [流程] [提交] | data_update.web.one.flow.forward | 场景1、流程审批时,提交 场景2、流程审批时,提交并打印 |
修改数据[页面] [单条] [流程] [回退] | data_update.web.one.flow.back | 流程审批时,回退 |
修改数据[页面] [单条] [流程] [转交] | data_update.web.one.flow.transfer | 场景1、流程审批时,转交 场景2、数据管理-数据详情页中,调整流程负责人 场景3、数据管理中,批量调整流程负责人(批量调整多个流程时,每个流程推送一条) |
修改数据[页面] [单条] [流程] [流程关闭] | data_update.web.one.flow.close | 场景1、流程审批时,结束流程 场景2、数据管理-数据详情页中,结束流程 场景3、数据管理中,批量结束流程(批量结束多个流程时,每个流程推送一条) |
修改数据[页面] [单条] [流程] [自动提交] | data_update.web.one.flow.autoforward | 流程表单限时自动提交 |
修改数据[页面] [单条] [流程] [自动回退] | data_update.web.one.flow.autoback | 流程表单限时自动回退 |
表单数据导入更新 | ||
---|---|---|
推送事件名称 | eventType | 触发场景 |
新增数据[导入] [多条] [流程] [提交] | data_create.import.more.flow.forward | 流程表单导入数据,导入模式[仅新增数据],勾选导入触发流程 |
新增数据[导入] [多条] | data_create.import.more | 场景1、流程表单导入数据,导入模式[仅新增数据],不勾选导入触发流程 场景2、普通表单导入数据,导入模式[仅新增数据] |
新增数据[导入] [多条] [流程] [提交] 修改数据[导入] [多条] |
流程表单导入数据,导入模式[更新和新增数据],勾选导入触发流程 注意:有新增会推送新增,有更新会推送更新,如果没有就不推送 |
|
新增数据[导入] [多条] 修改数据[导入] [多条] |
场景1:流程表单导入数据,导入模式[更新和新增数据],不勾选导入触发流程; 场景2:普通表单导入数据,导入模式[更新和新增数据] 注意:有新增会推送新增,有更新会推送更新,如果没有就不推送 |
|
修改数据[导入] [多条] | data_update.import.more | 场景1、流程表单导入数据,导入模式[仅更新数据] 场景2、普通表单导入数据,导入模式[仅更新数据] |
数据助手更新数据 | ||
---|---|---|
推送事件名称 | eventType | 触发场景 |
新增数据[多条] | data_create.help.more | 通过数据助手新增表单数据 |
修改数据[多条] | data_update.help.more | 通过数据助手修改表单数据 |
删除数据[多条] | data_remove.help.more | 通过数据助手删除表单数据 |
功能插件/后端更新数据 | ||
---|---|---|
推送事件名称 | eventType | 触发场景 |
新增数据[后端服务] [单条] | data_create.backend.one | 通过功能插件新增一条表单数据 |
新增数据[后端服务] [多条] | data_create.backend.more | 通过功能插件新增多条表单数据 |
修改数据[后端服务] [多条] | data_update.backend.more | 通过功能插件编辑表单数据 |
删除数据[后端服务] [多条] | data_remove.backend.more | 通过功能插件删除表单数据 |
开放平台api更新数据 | ||
---|---|---|
推送事件名称 | eventType | 触发场景 |
新增数据[webapi] | data_create.webapi.one | 通过开放平台api新增表单数据 |
修改数据[webapi] | data_update.webapi.one | 通过开放平台api编辑表单数据 |
删除数据[webapi] | data_remove.webapi.one | 通过开放平台api删除表单数据 |
推送数据结构
参数 | 说明 |
---|---|
eventType | 推送事件,可参考上面【推送事件详情】 |
eventData | 具体推送内容 |
time | 推送时间 |
eventId | 推送数据ID |
示例:新增流程的推送数据
{"eventType":"data_create.web.one.flow.forward","eventData":{"fieldsData":{"_widget_1634031019073":"出差报销"},"_id":"53f681acc94ada0fcb44105c","createTime":"2021-11-18 15:05:54","creator":{"name":"张三","_id":"5ac5d84afd869465cce6745b"},"chargers":[{"name":"19174ding","_id":"5034260c577cc5d345460412@1","status":2},{"name":"19174866220","_id":"5444e588b0cde5af638bd936@1","status":2}],"node":{"name":"经理审批","_id":1},"flowDecision":{"state_id":"0","state":""},"flowState":"0","form":{"appId":"54addef19b72c4ccddc53265","formId":"5c49f988edf22bc04b639e37"}},"time":1637219154369,"eventId":"1637219154369yl8i7n"}