白板错误码
构建时从公开白板错误码定义生成:稳定错误码、HTTP 状态与处理建议。
错误码与处理建议
下表由白板错误码定义在构建时生成。错误统一返回 `{ code, message, reason, sdkCode, details }`;`code` 是稳定机器码,可安全用于重试与告警分类。
| code | HTTP 状态 | 含义 | 重试建议 |
|---|---|---|---|
invalid_parameter | 400 | 请求参数缺失或格式错误。 | 修正请求后再试 |
whiteboard_invalid_operation | 400 | 当前房间状态下该操作无效。 | 修正请求后再试 |
whiteboard_invalid_scene_path | 400 | 场景路径必须以 `/` 开头,不能包含 `//` 或 `..`,场景名 1..64 字符且不含 `/`。 | 修正请求后再试 |
invalid_credentials | 401 | 项目密钥与 customer id 不匹配。 | 修正请求后再试 |
invalid_token | 401 | 白板 Token 格式错误、签名无效或不可识别。 | 修正请求后再试 |
missing_authorization | 401 | 未提供项目 Basic 凭证或白板 Token。 | 修正请求后再试 |
token_expired | 401 | 白板 Token 已过期,请重新签发。 | 修正请求后再试 |
whiteboard_token_room_mismatch | 401 | 房间 Token 绑定的房间 UUID 与请求不一致。 | 修正请求后再试 |
unauthorized | 403 | 凭证有效,但无权执行该操作。 | 修正请求后再试 |
whiteboard_room_banned | 403 | 房间已被封禁;解除封禁前不能写入或签发 Token。 | 修正请求后再试 |
whiteboard_token_role_forbidden | 403 | Token 角色权限不足(reader 不能写入;封禁/关闭需要 admin)。 | 修正请求后再试 |
whiteboard_room_not_found | 404 | 房间 UUID 在当前项目下不存在。 | 修正请求后再试 |
whiteboard_scene_not_found | 404 | 房间内不存在请求的场景路径。 | 修正请求后再试 |
whiteboard_stroke_not_found | 404 | 笔迹 ID 不存在或已被擦除。 | 修正请求后再试 |
whiteboard_redo_empty | 409 | 该成员没有可重做的笔迹,或新笔迹已使重做栈失效。 | 修正请求后再试 |
whiteboard_room_closed | 409 | 房间已永久关闭,仅保留只读审计与回放能力。 | 修正请求后再试 |
whiteboard_undo_empty | 409 | 该成员在当前场景没有可撤销的笔迹(撤销按成员隔离)。 | 修正请求后再试 |
whiteboard_version_conflict | 409 | 变更与当前房间状态冲突(场景重复或写者名额已满)。 | 修正请求后再试 |
rate_limited | 429 | 超出项目请求配额,请按 `details.retryAfterSeconds` 退避重试。 | 可退避重试 |
internal_error | 500 | 服务端异常,请保留 `x-request-id` 便于排查。 | 可退避重试 |