通讯录webhook
功能说明
当通讯录数据的发生变更时,将操作与变更后的数据推送至目标服务器。
通讯录页面操作
、功能插件
、后端
、开放平台接口
等方式更新通讯录均会触发通讯录webhook推送。
通讯录webhook管理
新建
新建通讯录数据推送
- 【服务器地址】:接收推送数据的地址,一般是http:// ,https:// 开头的网址。
- 【服务器链接测试】:填写好服务器地址后,可以对服务器进行连接测试。
- 【Secret】:支持手动输入一串字符当做加密EncryptKey。数据推送会把通过secret加密后的内容一起推送到目标服务器地址。具体的加密解密方式参考加密方式及解密算法。
- 【生成Secret】:自动生成加密EncryptKey。
- 【推送事件】:成员变更、部门变更、角色变更、外部联系人变更时会推送数据。具体推送事件及场景见下面章节:[推送事件]
相关规则:
- 服务器地址必须是以http:// https:// 开头的网址
- 最多支持新建5个通讯录数据推送。
编辑
编辑已存在数据推送,【服务器地址】、【Secret】可编辑。
删除
删除已存在的数据推送设置,删除后不再进行数据推送。
停用&启用
启用状态的数据推送才会进行推送,停用状态的数据推送不会推送。
注意:
- 当数据推送推送失败超过10次,此数据推送设置就会自动停用;
- 停用的数据重新启用后,重新计算推送失败次数,即再推送失败超过10次会停用;
- 私有云,失败次数(10次)可在后台配置;
推送日志
推送日志中记录了近30天内的数据,支持根据推送失败日志、推送成功日志、待发送日志、放弃推送日志、全部日志去筛选查询推送记录;
注意:私有云,日志保存天数后台可配置。
推送日志里记录了每条推送记录的时间、地址、事件、结果、推送详情。
-
推送详情中可以查看到推送内容、状态码、推送时间、错误详情等信息,如果事件推送错误了还以在此处查看到具体信息。
放弃推送&重新推送
当数据推送失败后,可以选择重新推送或者放弃推送。
推送事件
通讯录页面操作
、功能插件
、后端
、开放平台接口
等方式更新表单均会触发通讯录webhook推送。
推送事件详情
成员变更(普通团队) | ||
---|---|---|
推送事件 | eventType | 触发场景 |
通讯录用户增加[页面] | user_create.web | 场景1、邀请成员-手动添加成员 场景2、公开邀请链接加入 |
通讯录用户增加[导入] | user_create.import | 邀请成员-导入成员,每个成员会推送一次数据 |
通讯录用户离职[页面] | user_dismission.web | 场景1、管理员操作成员离职 场景2、管理员操作成员批量离职(推送内容中idList包含所有被离职的成员ID) 场景3、成员在账户中心主动退出团队 |
通讯录用户更改[页面] | user_update.web | 场景1、成员信息页中修改用户姓名、企业ID等各项信息;保存即推送,就算数据未更新也会推送 场景2、修改用户排序 场景3、成员主动在自己的账户中心修改团队姓名 |
通讯录用户移动[页面] | user_move.web | 通过【调整部门】按钮修改成员部门(推送内容中idList包含所有被调整部门的成员ID) |
通讯录用户离职恢复[页面] | user_recover.web | 离职成员单个/批量恢复在职(推送内容中idList包含所有被恢复的成员ID) |
通讯录用户离职[页面] 增加外部联系人[页面] |
内部成员转为外部联系人,会推送两条,通讯录用户离职[页面]和增加外部联系人[页面] | |
删除外部联系人[页面] 通讯录用户增加[页面] |
内部成员转为外部联系人,会推送两条,删除外部联系人[页面]和通讯录用户增加[页面] |
成员变更(第三方团队) | ||
---|---|---|
推送事件 | eventType | 触发场景 |
通讯录用户增加[自动同步] | user_create.autosyn | 第三方系统中新增成员,自动同步到通讯录 |
通讯录用户更改[自动同步] | user_update.autosyn | 第三方系统中修改成员信息,如姓名、部门等,自动同步到通讯录 |
通讯录用户更改[页面] | user_update.web | 场景1、管理员在成员信息页中修改成员信息,保存即推送,就算未更新数据也会推送 场景2、修改成员排序 |
通讯录用户增加[同步] | user_create.syn | 第三方系统中新增成员,手动同步到通讯录(推送内容idList包含所有新增成员ID) |
通讯录用户更改[同步] | user_update.syn | 1、第三方系统中修改成员信息,手动同步到通讯录(推送内容idList包含所有修改成员ID) 2、第三方系统将成员A隐藏,或者由隐藏改为显示,而成员A在通讯录已存在,手动同步后,A成员变为离职,或由离职变为在职 |
通讯录用户离职[同步] | user_dismission.syn | 第三方系统中删除成员,手动同步到通讯录(推送内容idList包含所有删除成员ID) |
手动同步,如果未修改任何数据,则不推送 | ||
通讯录用户更改[同步] | user_update.syn | 绑定第三方团队,根据通讯录更新事件推送 |
团队解绑[页面] | corp_unbind.web | 解绑 用户解绑之后,绑定时的webhook均不发送 |
部门变更(普通团队) | ||
---|---|---|
推送事件 | eventType | 触发场景 |
通讯录企业部门创建[页面] | dept_create.web | 手动创建部门 |
通讯录企业部门创建[导入] | dept_create.import | 导入成员时,当数据中存在新部门时,创建部门 |
通讯录企业部门修改[页面] | dept_update.web | 场景1、部门重命名,部门信息更新后才会推送 场景2、部门拖动修改父子部门关系 场景3、部门拖动排序 |
通讯录企业部门删除[页面] | dept_remove.web | 删除部门 |
部门变更(第三方团队) | ||
---|---|---|
通讯录企业部门创建[自动同步] | dept_create.autosyn | 第三方系统中新增部门,自动同步到通讯录 |
通讯录企业部门修改[自动同步] | dept_update.autosyn | 第三方系统中修改部门信息,自动同步到通讯录 |
通讯录企业部门删除[自动同步] | dept_remove.autosyn | 第三方系统中删除部门,自动同步到通讯录 |
通讯录企业部门创建[同步] | dept_create.syn | 第三方系统中创建部门,手动同步到通讯录(推送内容dept_id中包含所有新建部门编号) |
通讯录企业部门修改[同步] | dept_update.syn | 第三方系统中修改部门信息,手动同步到通讯录(推送内容dept_id中包含所有新建部门编号) |
通讯录企业部门删除[同步] | dept_remove.syn | 第三方系统中删除部门,手动同步到通讯录(推送内容dept_id中包含所有新建部门编号) |
角色变更 | ||
---|---|---|
推送事件 | eventType | 触发场景 |
增加角色组成员[页面] | role_member_create.web | 角色面板【添加成员】按钮添加(推送内容中idList包含所有添加的成员ID) |
增加角色组成员[导入] | role_member_create.import | 角色面板【批量导入】按钮添加(推送内容中idList包含所有添加的成员ID) |
删除角色组成员[页面] | role_member_remove.web | 场景1、角色面板中,角色组的单个成员移除 场景2、角色面板中,成员批量移除(推送内容中idList包含所有被删除的成员ID) |
增加角色组[页面] | role_create.web | 新增角色组 |
增加角色组[导入] | role_create.import | 导入成员时,如果角色不存在,会新增角色组 |
删除角色组[页面] | role_remove.web | 删除角色组 |
修改角色组[页面] | role_update.web | 角色组重命名(保存即推送,就算数据未更新也会推送) |
增加角色组成员[页面] 删除角色组成员[页面] |
工作交接-交接角色,会推送两条,增加角色组成员[页面]和删除角色组成员[页面] |
外部联系人变更 | ||
---|---|---|
推送事件 | eventType | 触发场景 |
增加外部联系人[页面] | outsider_create.web | 场景1、手动添加单个外部联系人 场景2、通过公开邀请链接加入 |
删除外部联系人[页面] | outsider_user_remove.web | 场景1、移除/批量移除外部联系人(推送内容中idList包含所有移除的外部联系人ID) 场景2、联系人账户中心主动退出团队 |
增加外部联系人[导入] | outsider_user_create.import | 批量导入外部联系人(推送内容中idList包含所有添加的外部联系人ID) |
修改外部联系人[页面] | outsider_user_update.web | 场景1、通讯录修改外部联系人的信息,包括姓名、企业ID、部门等各个信息 个人数据详情页保存即推送 场景2、修改外部联系人排序 |
外部联系人恢复[页面] | outsider_user_recover.web | 恢复外部联系人 |
修改外部联系人组[页面] | outsider_update.web | 场景1、外部联系人组重命名,需要数据更新才会推送 场景2、修改外部联系人组排序 |
删除外部联系人组[页面] | outsider_remove.web | 删除外部联系人组 |
增加外部联系人组[页面] | outsider_create.web | 增加外部联系人组 |
推送数据结构
参数 | 说明 |
---|---|
eventType | 推送事件,可参考上面【推送事件详情】 |
eventData | 具体推送内容 |
time | 推送时间 |
eventId | 推送数据ID |
示例:新增通讯录成员的推送数据
{"eventType":"user_create.web","eventData":{"idList":["5466ebe918a90c64c26fcc67"]},"time":1637307235940,"eventId":"16373072359405rfuhm"}