所有通知接口都需要有效的
Authorization: Bearer <token> 头。通知类型
| 类型 | 触发条件 | 接收者 |
|---|---|---|
TASK_PUBLISHED | 班级中发布了任务 | 所有班级成员 |
TASK_DUE_REMINDER | 任务截止日期临近 | 尚未提交的成员 |
EMAIL、WEBHOOK、TELEGRAM。
GET /users/me/notifications
按游标分页、按最新优先顺序获取你的通知收件箱。仅返回SENT 通知。
Query parameters
返回通知数量。最小
1,最大 50。上一页最后一条通知的 UUID。省略则从头开始获取。
为
true 时,仅返回 readAt 为 null 的通知。通知项列表。
当前页最后一项的
id。将其作为 cursor 传入即可获取下一页。若没有更多分页则为 null。所有分页中的未读通知总数。
GET /users/me/notifications/unread-count
仅返回未读通知数量。可用这个轻量接口更新通知徽标,而无需拉取完整收件箱。 Response — 200 OK未读通知数量。
PATCH /users/me/notifications/:id/read
将单条通知标记为已读。会把readAt 设为当前时间。如果 readAt 已经存在,则不会产生任何变化。
Path parameters
要标记为已读的通知 UUID。
已更新通知的 UUID。
| 状态 | 何时发生 |
|---|---|
404 Not Found | 通知不存在或不属于你。 |
POST /users/me/notifications/read-all
一次性将你所有通知标记为已读。 Response — 200 OK已标记为已读的通知数量。
GET /users/me/notification-prefs
获取你的通知渠道偏好。每条记录控制某个渠道是否启用,以及通知发送到哪里。 Response — 200 OK 通知偏好对象数组。偏好记录 UUID。
投递渠道:
EMAIL、WEBHOOK 或 TELEGRAM。投递地址(邮箱地址、webhook URL 或 Telegram 聊天 ID)。
此渠道是否启用。设为
false 可在不删除记录的情况下取消订阅。如果你没有
EMAIL 偏好记录,系统会回退到你的注册邮箱接收邮件通知,因此新用户会自动收到通知。PUT /users/me/notification-prefs
为某个渠道创建或更新通知偏好(upsert)。如果该渠道已有记录,则更新;否则创建新记录。 Request body投递渠道:
EMAIL、WEBHOOK 或 TELEGRAM。该渠道的投递地址。
EMAIL 使用邮箱地址,WEBHOOK 使用 URL,TELEGRAM 使用 Telegram 聊天 ID。设为
false 可暂停该渠道的投递,但不删除偏好记录。偏好记录 UUID。
渠道名称。
投递地址。
渠道是否启用。