> ## Documentation Index
> Fetch the complete documentation index at: https://docs.flashcat.cloud/llms.txt
> Use this file to discover all available pages before exploring further.

# 订阅管理

> 了解如何管理状态页订阅者，包括邮件确认、组件级订阅和批量导入导出

Flashduty 状态页允许用户主动订阅服务状态更新。当状态页中有新事件发布或事件状态变更时，你可以选择向订阅者推送通知。

***

## 订阅方式

不同类型的状态页支持不同的订阅方式：

| 状态页类型     | 订阅方式     | 说明                            |
| --------- | -------- | ----------------------------- |
| **公开状态页** | 邮件       | 访客通过邮件地址订阅，需完成邮件确认            |
| **公开状态页** | RSS/Atom | 通过 RSS 阅读器或自动化工具订阅事件更新，无需邮件确认 |
| **内部状态页** | IM 集成    | 组织内部用户通过已绑定的 IM 平台接收推送        |

***

## 用户自助订阅

### 邮件订阅（公开状态页）

访客在公开状态页上输入邮件地址后，系统会发送一封确认邮件。确认邮件的有效期为 **5 分钟**，过期后需重新发起订阅。

<Steps>
  <Step title="输入邮件地址">
    访客在状态页底部的订阅区域填写邮件地址。
  </Step>

  <Step title="选择订阅范围">
    选择订阅所有更新，或仅订阅特定组件或事件的更新。
  </Step>

  <Step title="确认订阅">
    访客在收到的确认邮件中点击确认链接，完成订阅。
  </Step>
</Steps>

<Note>
  如果访客在确认前修改了订阅范围，系统会更新待确认的订阅内容，不会重新发送确认邮件。
</Note>

### IM 订阅（内部状态页）

组织内部用户访问内部状态页后，可通过已绑定的 IM 集成（飞书、钉钉、企业微信、Slack）接收事件推送通知。IM 订阅无需邮件确认。

### RSS/Atom 订阅（公开状态页）

公开状态页会自动提供 RSS 和 Atom 两种格式的事件 Feed，方便访客通过 RSS 阅读器（如 Feedly、Inoreader）或自动化工具订阅状态更新。Feed 为匿名访问，无需注册或邮件确认。

每个公开状态页提供以下四个 URL，内容完全一致，`feed.*` 与 `history.*` 互为别名（后者用于兼容 Atlassian Statuspage 的链接习惯）：

| URL 格式                 | 格式           |
| ---------------------- | ------------ |
| `{状态页地址}/feed.rss`     | RSS 2.0      |
| `{状态页地址}/feed.atom`    | Atom 1.0     |
| `{状态页地址}/history.rss`  | RSS 2.0（别名）  |
| `{状态页地址}/history.atom` | Atom 1.0（别名） |

其中 `{状态页地址}` 指公开状态页的访问地址，既可以是自定义域名（如 `https://status.example.com`），也可以是 Flashduty 分配的默认 URL。

Feed 的内容规则如下：

* 包含最近 **90 天** 内发布的事件（包括故障事件和维护事件），最多返回 **50 条**，按事件开始时间倒序
* 仅包含当前可见的组件影响记录：被设置为隐藏的分组或组件不会出现在 Feed 中
* 每条事件的 `<updated>` 使用最新一次时间线更新的时间；订阅者重新抓取时可据此发现新动态
* 响应支持 `ETag` / `If-None-Match`，未发生变化时返回 `304 Not Modified`

<Note>
  Feed 仅对**公开状态页**开放。对内部状态页或不存在的状态页请求 Feed URL 会返回 `404 Not Found`。内部状态页请通过 IM 集成接收更新。
</Note>

<Tip>
  如果你正在从 Atlassian Statuspage 迁移，可以直接把原有的 `history.rss` / `history.atom` 订阅地址替换为 Flashduty 状态页地址，无需修改订阅者配置。
</Tip>

***

## 订阅范围

订阅者可以灵活选择订阅范围：

| 范围        | 说明             |
| --------- | -------------- |
| **全部更新**  | 接收状态页上所有事件的通知  |
| **按组件订阅** | 仅接收指定组件相关事件的通知 |
| **按事件订阅** | 仅接收指定事件的后续更新通知 |

选择"全部更新"后，组件级和事件级的订阅设置将被忽略——订阅者会收到所有通知。

***

## 管理员管理订阅

### 查看订阅者

在状态页设置的 **订阅管理** 中，管理员可以查看当前订阅者列表，并按订阅方式或组件进行筛选。列表支持分页浏览，展示每位订阅者的邮件地址（或用户 ID）、订阅方式和订阅的组件。

### 批量导入

管理员可以批量导入订阅者，适用于迁移场景或需要为特定用户群体预先设置订阅的情况。导入时需提供：

| 字段       | 说明                    |
| -------- | --------------------- |
| **接收人**  | 邮件地址或用户标识             |
| **订阅范围** | 全部更新，或指定组件 ID / 事件 ID |
| **语言偏好** | 通知的语言设置               |

<Note>
  通过管理员导入的订阅不需要邮件确认，会直接生效。导入相同接收人的订阅时，系统会替换该接收人之前的订阅设置。
</Note>

### 导出订阅者

管理员可以导出订阅者列表，包括每位订阅者的接收地址、订阅方式、订阅的组件等信息。

***

## 订阅者自助管理

每位订阅者都拥有一个唯一的**管理令牌**，可以通过该令牌自助管理自己的订阅：

* **查看当前订阅**：查看自己订阅了哪些组件和事件
* **修改订阅范围**：更改订阅的组件或事件
* **取消订阅**：完全退出订阅

管理令牌包含在每封通知邮件的底部，订阅者可以通过点击"管理订阅"链接进入自助管理页面。

***

## 订阅与组件的关系

当你删除一个组件时，系统会自动清除该组件相关的所有订阅记录。订阅了该组件的用户将不再收到相关通知。

同样，当你删除一个事件时，系统会自动清除该事件相关的所有订阅记录。
