Skip to main content

1 功能简介

Webhook允许不同的系统之间相互传递数据与信息。当你关注的系统有新事件发生时,你就会自动接收到数据。Webhook地址就像是一个通讯地址,用于接收这些数据,确保你能及时获取信息。
  • 注意:Webhook是一个面向开发者的高级功能,请在开发者的帮助下使用此功能。
⚠️请保管好webhook地址,不要公布在外部网站,一旦产生泄露,可能会引发大量的危害信息传入,耗尽组织的开发资源,为组织带来资源损失和安全风险。

2 使用场景

通过设置Webhook,你可以“订阅”某个系统或应用的更新,比如:
  • 内部系统数据同步:在ERP、CRM等内部系统设置Webhook,可实现系统之间的数据同步,免去人工手动同步。
  • 网站内容更新通知:在你关注的网站设置Webhook,有新内容时就会主动通知你,不需要你反复打开网站查看。
  • 监控和报警通知:在监控系统或报警平台设置Webhook,可以实时监控系统的健康状况,帮助你尽快处理问题。

3 使用方法

3.1 设置触发关键词。

接收到的数据包含关键词时,才会触发流程。点击「添加关键词」可设置多个关键词(上限10个),接收到的数据包含任意1个关键词时,都会触发流程。

3.2 设置参数格式

当你接收到来自于你关注的系统的参数时,这些参数也将继续向下传给后续的步骤。因此,参数格式决定了在后续步骤中,流程将如何解析和引用这些参数。

3.2.1 选择参数格式为JSON时

在后续步骤中会按照 JSON 规则对这些参数进行结构化解析。因此,你需要手动填写一段参数示例,以便在后续的步骤中,引用这些结构化的数据。

3.2.2 选择参数格式为Text时

在后续的步骤中你能以text的格式整段引用这些参数。( 特别的,如果这段参数符合DingTalk机器人支持的消息结构,你可以在「发送消息到该群组」的执行动作中,将「消息来源」切换为“源数据解析”,将这些参数自动解析为消息体发送出去。 )

3.2.3 选择参数格式为None时

在后续步骤中将无法引用这些参数。 Webhook 参数的详细说明

3.3 配置webhook地址

点击「复制」按钮,将webhook地址配置到你想要关注的系统中。(每个自动化流程都会自动生成一个单独的webhook地址,请保管好webhook地址,一旦泄露,可能会引发大量的危害信息传入,耗尽组织的开发资源。)

3.4 发送 Http 请求

发送请求后,触发自动化流程。

4 请求头(Header)及示例

Bearer token 的示例代码如下(中括号表示需替换的变量,无需在实际代码中写入):

5 请求体

按需设置即可,格式需符合 JSON 规范。

6 响应体及示例

响应体中的 code 非 0 时表示失败。 当 code 不是 0 时,你可以对照下文“相关报错”表格中的错误码和文案来排查问题。 当 webhook 接收正常时,响应体示例如下:
当 webhook 出现报错时,响应体示例如下:

7 错误码

若 webhook 触发出现报错,你需要在发出请求方查看报错情况,根据下表的错误码和报错文案来排查问题。

8 应用实践

1、假如你是一家餐饮企业的管理员,你想将内部的货品系统数据及时同步到DingTalk群聊内,那么你可以在「参数示例」中手动填入货品系统将要传给你的参数示例(比如新品名称、规格、茶底、原料),在「发送消息到该群组」中你可以自定义消息内容,点击+号就能引用这些参数,及时把新品的详情信息同步到群里。 2、假如你之前在群聊内使用过「自定义机器人」,并且你所关注的系统传给你的参数符合DingTalk机器人支持的消息结构,那么你可以在「发送消息到该群组」的执行动作中,将「消息来源」切换为“源数据解析”,并选择webhook「接收到数据时」的节点出参作为源数据,即可将这些参数自动解析为消息体发送出去。