13.24
限流与安全
这套 API 的设计目标是:即使令牌泄露,也无法被用来滥用某个服务器。以下防护对每个请求都生效。
每个接口都会先检查 Premium,早于查询令牌,也早于计算任何限流。因此没有有效订阅的服务器总是得到同样的 402,而不会出现只执行了一半的请求。
- 不能群体提及。 通过 API 发送的所有消息(包括 Webhook 消息和标签)都禁用了
@everyone、@here以及任意身份组提及。开单时只能提及面板配置的身份组和开单者本人。 - 不能假冒身份。 Webhook 显示名中若含有 “discord”“clyde” 这类保留词会被替换,头像覆盖也必须是有效的
https://链接。 - 必须有 Premium。 本 API 是 Premium 功能。没有有效订阅时,每个请求都会返回
402和premium_required: true,也无法新建或轮换令牌。 - 限流。 每个令牌按操作分别限流(例如:开单 10 次/分钟、发消息 30 次/分钟、重命名 2 次/10 分钟、切换面板 2 次/10 分钟、编辑面板 10 次/分钟、重新发送面板 4 次/10 分钟、读取 120 次/分钟)。超出限制会返回
429和以秒为单位的retry_after。可调用GET /api/token查看最新的对照表。 - 重负载读取单独限流。 聊天记录搜索和 HTML 下载各为 10 次/分钟,完整的已索引聊天记录为 30 次/分钟,因此它们不会挤占宽松的 120 次/分钟读取额度。此外,整台服务器上同时最多只跑两个搜索,超出时间预算就以
504中断,这样搜索流量永远不会拖垮工单操作。 - 未关闭工单的上限。 一旦服务器达到未关闭工单的安全上限,API 就不再开新工单;对黑名单上的用户,它也会拒绝开单。
- 最小权限。 敏感权限(读取工单消息、查看聊天记录、搜索聊天记录、下载聊天记录 HTML、使用标签、重命名工单、管理面板、切换工单面板)默认关闭,必须为每个令牌明确开启。
- 历史数据读取会被审计。 下载完整 HTML 聊天记录会连同所用令牌一起写入服务器的操作日志,API 执行的每一次改动同样会被记录。
- 面板始终绑定你的配置。 管理面板权限只能改动面板的外观(名称、嵌入消息、按钮)。频道、分类、提及身份组、表单和客服团队都无法通过 API 修改。
- 有效期与轮换。 令牌可以设置有效期,也可以在控制台中停用或轮换;轮换会让原来的密钥立即失效。
- 限定服务器范围。 令牌只在它被创建的那个服务器中有效,每个请求都会重新按该服务器核对一次。