## 告警 Webhook (`message-webhooks`)

钉钉、飞书、企业微信、Telegram 与通用 JSON 告警出口,可配多个,地址与密钥只回后 4 位。

鉴权: 仅管理员 · 文档: https://www-demo.kuxitong.com/zh/docs/api/message-webhooks

### GET `/api/v2/message-webhooks`

告警 Webhook 列表 · 鉴权: 仅管理员

查询参数:

| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| `page` | integer |  | 页码,从 1 开始。 默认: 1 |
| `page_size` | integer |  | 每页条数。 默认: 20 |

```sh
curl "https://panel.example.com/api/v2/message-webhooks" \
  -H "X-API-Key: $GOCDN_API_KEY"
```

### POST `/api/v2/message-webhooks`

新建告警 Webhook · 鉴权: 仅管理员

请求体:

| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| `chat_id` | string |  | Telegram 会话(数字 id 或 @频道名)。 |
| `created_at` | string | 有 | 创建时间 |
| `enabled` | boolean |  | 是否启用;停用的不发。缺省启用。 |
| `id` | integer | 有 | 记录 ID |
| `kind` | string | 有 | 类型:dingtalk 钉钉、feishu 飞书、wecom 企业微信、telegram Telegram、generic 通用 JSON。 可选值: ["dingtalk","feishu","wecom","telegram","generic"] |
| `last4` | string |  | 地址(Telegram 为 Token)的末 4 位,仅用于辨认。 |
| `name` | string | 有 | 名称,全局唯一。 |
| `secret` | string |  | Telegram 为 Bot Token(必填);其余为加签密钥(可空)。只写,不回显。 |
| `updated_at` | string | 有 | 更新时间 |
| `url` | string |  | 机器人地址(https,公网;钉钉、飞书、企业微信、通用必填;Telegram 不用)。只写,不回显。 |

```sh
curl -X POST "https://panel.example.com/api/v2/message-webhooks" \
  -H "X-API-Key: $GOCDN_API_KEY"
```

### POST `/api/v2/message-webhooks/test`

测试未保存的告警 Webhook · 鉴权: 仅管理员

请求体:

| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| `chat_id` | string |  | Telegram 会话(数字 id 或 @频道名)。 |
| `id` | integer |  | 记录 ID |
| `kind` | string | 有 | 类型:dingtalk 钉钉、feishu 飞书、wecom 企业微信、telegram Telegram、generic 通用 JSON。 可选值: ["dingtalk","feishu","wecom","telegram","generic"] |
| `secret` | string |  | Telegram 为 Bot Token(必填);其余为加签密钥(可空)。只写,不回显。 |
| `url` | string |  | 机器人地址(https,公网;钉钉、飞书、企业微信、通用必填;Telegram 不用)。只写,不回显。 |

```sh
curl -X POST "https://panel.example.com/api/v2/message-webhooks/test" \
  -H "X-API-Key: $GOCDN_API_KEY"
```

### PUT `/api/v2/message-webhooks/{id}`

修改告警 Webhook · 鉴权: 仅管理员

请求体:

| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| `chat_id` | string |  | Telegram 会话(数字 id 或 @频道名)。 |
| `created_at` | string | 有 | 创建时间 |
| `enabled` | boolean |  | 是否启用;停用的不发。缺省启用。 |
| `id` | integer | 有 | 记录 ID |
| `kind` | string | 有 | 类型:dingtalk 钉钉、feishu 飞书、wecom 企业微信、telegram Telegram、generic 通用 JSON。 可选值: ["dingtalk","feishu","wecom","telegram","generic"] |
| `last4` | string |  | 地址(Telegram 为 Token)的末 4 位,仅用于辨认。 |
| `name` | string | 有 | 名称,全局唯一。 |
| `secret` | string |  | Telegram 为 Bot Token(必填);其余为加签密钥(可空)。只写,不回显。 |
| `updated_at` | string | 有 | 更新时间 |
| `url` | string |  | 机器人地址(https,公网;钉钉、飞书、企业微信、通用必填;Telegram 不用)。只写,不回显。 |

```sh
curl -X PUT "https://panel.example.com/api/v2/message-webhooks/{id}" \
  -H "X-API-Key: $GOCDN_API_KEY"
```

### DELETE `/api/v2/message-webhooks/{id}`

删除告警 Webhook · 鉴权: 仅管理员

```sh
curl -X DELETE "https://panel.example.com/api/v2/message-webhooks/{id}" \
  -H "X-API-Key: $GOCDN_API_KEY"
```

### POST `/api/v2/message-webhooks/{id}/test`

测试已保存的告警 Webhook · 鉴权: 仅管理员

```sh
curl -X POST "https://panel.example.com/api/v2/message-webhooks/{id}/test" \
  -H "X-API-Key: $GOCDN_API_KEY"
```

告警 Webhook对象:

| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| `chat_id` | string |  | Telegram 会话(数字 id 或 @频道名)。 |
| `created_at` | string |  | 创建时间 (只读) |
| `enabled` | boolean |  | 是否启用;停用的不发。缺省启用。 |
| `error` | string |  | 失败时的错误信息。 |
| `id` | integer |  | 记录 ID (只读) |
| `kind` | string |  | 类型:dingtalk 钉钉、feishu 飞书、wecom 企业微信、telegram Telegram、generic 通用 JSON。 可选值: ["dingtalk","feishu","wecom","telegram","generic"] |
| `last4` | string |  | 地址(Telegram 为 Token)的末 4 位,仅用于辨认。 (只读) |
| `name` | string |  | 名称,全局唯一。 |
| `ok` | boolean |  | 测试发送是否成功。 |
| `secret` | string |  | Telegram 为 Bot Token(必填);其余为加签密钥(可空)。只写,不回显。 |
| `updated_at` | string |  | 更新时间 (只读) |
| `url` | string |  | 机器人地址(https,公网;钉钉、飞书、企业微信、通用必填;Telegram 不用)。只写,不回显。 |
