# 为工作流创建和管理 webhook

Webhook 是一种通过在发生特定操作时自动发送事件数据来自动化应用程序之间通信的简单方法。在 Qlik Cloud 中，webhook 可以在无需人工干预的情况下触发其他应用程序中的操作，从而更轻松地将 Qlik Cloud 集成到您的工作流中，并根据系统事件自动化任务。每次发生定义的事件时，都会向指定的 webhook 端点发送 JSON 请求，将事件数据传送到您选择的应用程序。

## 所需的 webhook 权限

使用 Qlik Cloud [Webhooks API](https://qlik.dev/apis/rest/webhooks/) 和自动化 UI 创建或管理 webhook 时，您必须请求以下一项或两项权限：

* 使用 webhook：创建、查看、更新和删除用户拥有的 webhook 所需。

* 管理 Webhook：管理租户中所有 webhook（包括其他用户创建的 webhook）所需。

## 了解 webhook

### webhook 的工作原理

当 Qlik Cloud 中发生事件（例如，创建了新应用程序或删除了用户）时，webhook 会使用 HTTP 回调将 JSON 格式的信息发送到指定的外部应用程序。然后，此外部应用程序可以使用事件数据来触发进一步的操作。

例如：

* 在创建新应用程序时通过 Slack 通知您的团队。

* 在将新团队成员添加到租户时自动发送欢迎电子邮件。

* 在从租户中删除用户时更新电子表格。

### 使用 webhook 的好处

Webhook 允许与其他系统进行实时集成，从而无需进行持续的手动检查或重复的 API 请求。通过侦听事件并立即发送相关数据，webhook 减少了不必要的工作并实现了顺畅的自动化。

### 用于 webhook 集成的常用平台

要处理和响应 webhook 数据，您可以构建自定义服务或使用第三方平台，例如：

* [Qlik Automate](https://help.qlik.com/en-US/cloud-services/Subsystems/ApplicationAutomation/Content/introduction/home-automation.htm) （仅提供英文版本）

* [Pipedream](https://pipedream.com/)

* [Zapier](https://zapier.com/)

* [Microsoft Power Automate](https://flow.microsoft.com/en-us/)

### Webhook 限制

为了保持系统性能和管理资源，适用以下限制：

* Webhook 传送历史记录保留 7 天。

* 每个用户最多可以拥有 150 个 webhook。

* 每个 webhook 的 HTTP 标头总大小限制为：加密标头 2048 字节，非加密标头 2048 字节。对于每种标头类型，限制是所有配置的标头名称和值加在一起的总字节大小。标头数量没有限制。

信息注释从 2025 年 11 月 3 日起，旧版事件格式被新的 Qlik Cloud 事件格式取代。所有旧版事件都使用包含旧版和云事件有效负载的临时混合事件。数据集成事件作为云事件发出，将来不需要迁移。有关 Qlik Cloud 中支持的事件和事件类型的完整列表，请参阅 [支持的 webhook 的事件类型](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Admin/mc-administer-webhooks-supported-events.htm)。有关新 Qlik Cloud 事件的更多详细信息，请参阅 [Qlik 社区：迁移到新事件格式](https://community.qlik.com/t5/Official-Support-Articles/Qlik-Cloud-Webhooks-Migration-to-new-event-formats-is-coming/ta-p/2528660)。

### Webhook 请求结构

当 webhook 由事件触发时，它会在创建 webhook 期间向指定的端点发送 HTTP JSON 请求。此请求的结构包含事件元数据和有效负载详细信息，例如事件类型、时间戳和对象属性。

#### Webhook 请求示例：应用程序已删除事件

以下是删除应用程序时发送的 JSON 请求示例：

请求 URL

```
https://<your-tenantURL>/api/v1/webhooks/{id}
```

标头

```

{
    "Content-Type": "application/json",
    "X-Execution-Token: <your-execution-token>",
    "Qlik-Signature": "446bd5e3f5b635f491d17557e4bec6ebc61b7bd2bc9cc7b612e4e",
    "User-Agent": "Qlik Webhook"
}
```

正文

```

{
    "cloudEventsVersion": "0.1",
    "source": "com.qlik/engine",
    "contentType": "application/json",
    "eventId": "e65c1481-e8a-4be-a5ca-27dfcde077d7",
    "eventTime": "2021-03-08T14:51:29Z",
    "eventTypeVersion": "1.0.0",
    "eventType": "com.qlik.v1.app.deleted",
    "extensions": {
        "ownerId": "vNRGrDZIypJzauw59BbpvkRhqbmI",
        "tenantId": "oZcMPa_1PwH4FUdrh6839YHHdEJN",
        "userId": "vNRGrDZIypJtcGTzauw59BbpqbmI"
    },
    "data": {
        "attributes": {
            "id": "0984fec4-aa8c-4253-b1d1-4fd4f9c78",
            "name": "New App",
            "createdDate": "2021-03-08T14:51:28.888Z",
            "modifiedDate": "2021-03-08T14:51:29.316Z",
            "owner": "auth0|b62a17c577a4abe6e807b07d18c4d82286352542d633d120100b03fb11",
            "ownerId": "vNRGrDZIypJtcGTzauw59BbpvbmI",
            "published": false,
            "hasSectionAccess": false
        }
    }
}
```

此有效负载提供有关已删除应用程序的详细信息，例如其 ID、名称、所有者和删除时间戳，从而帮助接收系统处理事件。有关事件有效负载的更多详细信息，请参阅 [Qlik 开发人员门户：API 事件](https://qlik.dev/apis/event/)。

#### 加密标头

Qlik Cloud 支持加密的 HTTP 标头。加密标头允许您进一步保护敏感元数据。工作原理：

* 加密标头值：在配置 webhook 时，可以对为 webhook 配置的标头值进行加密。这可确保安全地存储和处理不记名令牌或 API 密钥等凭据。Webhook 密码是一次性写入的。保存后，无法查看或检索密码，以降低意外暴露的风险。

信息注释标头在存储中加密，而不是在传输过程中加密。

## 创建 webhook

Webhook 可以由以下人员创建：

* 来自 Administration 活动中心的租户管理员。

* 来自 Qlik Automate 界面的所有用户。

有关将 webhook 与 Qlik Automate 结合使用的更多信息，请参阅 [使用 webhook](https://help.qlik.com/en-US/cloud-services/Subsystems/Sense_QlikAutomation/Content/Sense_QlikAutomation/working-with-automations/working-with-webhooks.htm) （仅提供英文版本）。

执行以下操作：

1. 在 Administration 活动中心，转到 Webhook。

2. 单击新建。

3. 输入 webhook 的名称，并选择性地添加描述。

4. 对于 URL（端点），输入 webhook 将向其发送 JSON 数据的完全限定域名 (FQDN)。

   * 此 URL 必须使用 HTTPS 协议（例如：https://domain.com）。IP 地址不能用作 webhook 端点。

5. 选择性地输入用于 webhook 身份验证的密码。

   * 密码必须介于 32 到 64 个字符之间。

   * 如果创建，密码将作为哈希的一部分包含在内，并作为 qlik-signature 附加到 HTTP 请求中。

6. 云事件 Qlik Cloud Webhooks 服务发出的事件有效负载。启用并保存后，无法撤消更改。

7. 启用检查证书吊销时，将验证 webhook 证书是否有效且未被吊销。

8. 选择性地添加要附加到请求的 HTTP 标头。选中复选框以加密标头值

   信息注释出于安全原因，您无法编辑加密标头，要删除标头，请单击删除图标。要删除该值，请单击删除图标并输入新值。

9. 在事件下，选择将触发 webhook 的系统事件。可用事件包括：

   * 自动化事件

   * API 事件

   * 应用程序事件

   * 数据集成事件

   * 用户事件

10. 单击创建。

信息注释如果在有未保存的更改时单击取消，则会出现确认对话框。单击放弃以关闭而不保存更改。

## 管理 webhook

信息注释

使用 Qlik Automate 创建的 webhook 只能在 Administration 活动中心查看。它们无法被编辑、删除、启用或禁用。

要管理这些 webhook，请使用 Qlik Automate 界面。

### 排序和搜索 webhook

要在表中排序和搜索 webhook：

* 单击列顶部的 the 上下箭头 icon 以更改排序顺序。

* 单击列顶部的 the 筛选器 icon 以搜索 webhook。搜索筛选器适用于完全匹配和部分匹配。

Webhook 表。

Webhook 表。

Webhook 表。 ![管理控制台 webhook 表](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/mc-webhooks.png)

### 打开或关闭 webhook

执行以下操作：

1. 在 Administration 活动中心，转到 Webhook。

2. 单击 webhook 旁边的 the 更多 icon。

3. 要打开 webhook，请选择启用。

4. 要关闭 webhook，请选择禁用。

新创建的 webhook 默认处于启用状态。

### 编辑 webhook

执行以下操作：

1. 在 Administration 活动中心，转到 Webhook。

2. 对于要编辑的 webhook，单击 the 更多 icon。

3. 选择编辑。

4. 进行编辑并单击保存。

信息注释如果在有未保存的更改时单击取消，则会出现确认对话框。单击放弃以关闭而不保存更改。

### 删除 webhook

执行以下操作：

1. 在 Administration 活动中心，转到 Webhook。

2. 选择要删除的 webhook。

3. 单击删除。

4. 确认删除。

信息注释在您选择一个或多个 webhook 之前，删除按钮不可用。操作栏显示所选 webhook 的数量。

### 查看 webhook 历史记录

Webhook 事件历史记录保留 7 天。

执行以下操作：

1. 在 Administration 活动中心，转到 Webhook。

2. 单击 webhook 旁边的 the 用于展开 webhook 菜单的向下箭头 UI 图标 icon 以展开其事件历史记录。

   Webhook 历史记录。

   Webhook 历史记录。

   Webhook 历史记录。 ![管理控制台 webhook 历史记录](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/mc-webhook-history.png)

3. 要手动重新发送事件传送，请单击事件行上的 the 重新发送图标 icon。

4. 要查看事件响应有效负载，请单击事件行上的 the 向下箭头 icon。

   有效负载显示应用程序 ID、名称和时间戳等详细信息，这对于调试或审核过去的事件非常有用。

   事件响应有效负载。

   事件响应有效负载。

   事件响应有效负载。 ![管理控制台 webhook 事件类型有效负载信息](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/mc-webhook-payload.png)