AI 接入指南
本页是给代码助手和自动开发工具的明确约束。应同时读取 OpenAPI、完整手册 和 一次性邀请流程。不要根据本站网页内部请求猜测未公开接口。
不变约束
- 唯一公开生产根地址是
https://api.screenshare.cn/v1。 - 使用 Bearer API Key;密钥只存在服务端,不使用网站 Cookie 或用户密码调用业务 API。
- 一把组织密钥只绑定一个组织。读取
/v1/me并严格比较 partner_id。 - 组织授权要求创建者当前为该组织有效的实际 manager 成员,Admin/SSer 不构成跨组织豁免。
- 创建邀请必须预先持久化 Idempotency-Key、组织、密钥引用和规范化正文。重试保持不变。
- 邀请是玩家自行进入的页面。不得伪造访客 Cookie、远程信息或跳过首次完整提交。
- 邀请 ID、正式工单 ID、记录 ID 和 USS UUID 是不同标识,不能互换。
- 工单详情路径使用 invitation_id。status=resolved 不是查端结论。
- 公开记录只允许完整 USS UUID 精确查询。没有公开按玩家名枚举的接口。
- 404 RECORD_NOT_FOUND 不等于 clean;warning 不等于 cheating。
- Webhook 必须先按原始 body 验签、检查时间,再解析并核对组织;按事件 ID 持久化去重。
- 事件通知可能重复、乱序或遗漏,保留低频 API 核对流程。
- 不实现本版本未公开的付款、权限提升、会话内容、附件、账号管理或自动结果写入接口。
- 按限流协议处理动态 Retry-After,不硬编码 60 秒;配额按组织和创建账号共享,轮换密钥不能增加组织额度。
- 每把密钥最多并发 2 个工单请求;创建邀请重试保留原编号,遇到日配额耗尽应持久化待办,不能循环换编号或立即重试。
/v1/me.expires_at可为null,表示个人或组织密钥不自动到期;不要把 null 当作无效日期。永久密钥仍受撤销、实时授权与全部限流规则约束;邀请的expires_at仍是实际到期时间。
建议模块
server configuration -> organization credential map
-> startup /v1/me validation
authorized command -> persisted request + idempotency key
-> create invitation -> private player link
verified webhook -> durable inbox -> fetch latest resource
periodic reconcile -> merge by resource ID -> user-facing status
在多租户应用中,每个本地租户必须先匹配到可信的组织配置。不得允许未经授权的请求自由指定密钥引用。接收事件时,不信任未验签的 partner_id 来决定访问哪个组织。
最低测试用例
- 密钥缺失、无效、撤销、过期及权限不足。
- 相同账号管理 A/B,但 A 的密钥不能访问 B。
- 同一幂等编号同正文重放成功,改正文返回冲突。
- 玩家并发认领后只有一个正式工单。
- 邀请到期、已使用、撤销和 claiming 中间状态。
- Webhook 原始字节签名、大小写、时间窗口、错误组织、重复投递、重试。
- 记录更新/移出组织/删除后的本地同步。
- 远程密码、邮箱、联系方式和内部备注不出现在 API 结果或应用日志。
生成代码时的输出要求
明确列出所需 scopes、环境变量、使用的组织配置、持久化字段、重试策略和日志脱敏方案。引用对应文档页和 OpenAPI operationId。没有已公开字段时,写明需要人工确认或产品扩展,不凭空生成数据关联。