webhook实现批量新增,更新,删除的使用规范及局限性
场景描述
在实际生产场景中,客户会遇到需要批量新增,更新或者删除的功能,下面以金蝶精斗云-云进销存为例。云进销存新增客户,更新客户,删除客户均支持批量功能,客户在使用过程中就会根据自身需求使用批量。
局限性
- webhook是否可以实现批量必须依据第三方接口,第三方接口支持批量,webhook才能使用批量。
- 第三方接口的批量接口数据结构。当接口的数据出现三层数组或者三层以上数组结构时,受限于我们目前的webhook功能限制,无法实现批量功能。
- 连接中心模版与webhook自定义设置不同,连接中心模版的局限性更大,下面会在使用过程中详细说明。
使用方法
- 连接中心模版实现批量删除。

如上图所示,选择连接中心模版,使用金蝶精斗云-云进销存连接器,事件为【客户管理】删除客户。云进销存删除客户数据结构为单个数组,绑定变量时关联表格字段即可,当表格只有一条数据就是单笔删除,表格多条数据即为批量删除。
- 连接中心模版不能实现批量新增客户和批量更新客户。


通过上图可以看出,云进销存的新增和删除客户的数据结构是不一样的。删除客户的数据结构较为简单,只需要将需要删除的客户放入数组items中即可,客户为单个的values值。而新增时,items的values是object,每个object中都有key和values。这里的区别已经出来了,当我们使用模版时,需要绑定变量,变量可以关联表格子字段,单个变量填充的方式为values1,values2,values3,所以可以满足云进销存删除客户的批量功能,新增则不行,无法按照其数据结构填充进入。
- 自定义模版实现批量新增客户



如上图所示,通过自定义的方式实现批量。body中参数关联表格字段,可以实现数组结构形式,请求格式为"items": [{"level":"0","name":"sdfg","number":"3413414"},{"level":"0","name":"ew","number":"3423423412"}],自定义避开变量输入,可直接实现数组结构形式。
注意:当数组中含有子数组的,子数组字段不可以关联表格子字段,会破坏请求表结构