API 中心(在线调试台)
在线调试 REST 接口;凭证只保存在当前浏览器会话,不写入服务端。
API 中心把生成的 公开 REST 接口定义变成可操作的调试台:选择端点、填参数、发送真实请求,并直接看到状态码、响应头、响应体与等价 curl。它不重写接口表,端点清单一律来自构建时读取的接口定义。
能做什么
- 按 tag 分组的端点选择器,覆盖平台 REST 与互动白板 REST。
- 路径参数与查询参数按接口定义生成输入框,必填项有标记。
- 请求体按照 schema 生成字段模板,可自由编辑 JSON。
- 两种鉴权:项目凭证 Basic,或白板房间/项目 Token。
- 响应区展示状态码、响应头与格式化后的响应体,附等价 curl。
凭证与安全
- 凭证只保存在当前标签页的
sessionStorage,关闭标签页即清除;不会写入服务端存储、日志或 Cookie。 - 文档站提供同源代理
/api-proxy,浏览器不直接跨域访问控制面;代理不记录Authorization/token请求头,也不做任何持久化。 - 生产部署需要在文档站反向代理中放通
/api-proxy/(配置见部署文档),否则控制台会提示网络错误。 - 低权限 Token 也能用于调试:例如
reader角色调用写接口会返回403,这是预期行为。
HTTP 状态码与错误码对照
判分支看 code,status 只做粗分流。 尤其是 401 与 403 的区别(第 9 轮起):
| status | 含义 | 常见 code | 该怎么做 |
|---|---|---|---|
| 401 | 未认证:没带凭证、凭证无效、会话失效、令牌过期 | unauthorized、missing_authorization、invalid_credentials、invalid_appid、invalid_token、token_expired、token_channel_mismatch | 重新登录或换 Token;别提示「权限不足」 |
| 403 | 已认证但被拒:没权限、服务未开通、应用被停用、被封禁 | banned(带 details.permissionDenied: true)、service_not_enabled、app_disabled、join_rejected | 不要跳登录页;按 code 给出「没权限 / 未开通 / 被禁用」的说明 |
| 400 | 参数或格式不合法 | invalid_parameter、invalid_channel_name | 修参数,别原样重试 |
| 404 | 资源不存在 | *_not_found | 检查 id 或视为已删除 |
| 409 | 状态冲突 / 重名 | project_exists、recording_invalid_state | 先查状态再决定重试 |
| 429 | 限流或配额 | rate_limited、recording_quota_exceeded | 按 Retry-After 退避;配额类要调额 |
| 500 / 502 / 503 | 服务端或上游暂不可用 | internal_error、upstream_unavailable、RTC_PROVIDER_UNAVAILABLE | 带退避重试,并带上 X-Request-Id 反馈 |
三条实践规则:
- 同一个 403 可能是「角色没权限」也可能是「服务没开通」,提示文案完全不同——必须读
code。 - 判断「会话失效/掉线」要同时满足
status === 401且code属于认证类;把 403 当掉线会把只是没权限的用户踢出登录页。 - 「没权限」看
details.permissionDenied === true,不要找名为permission_denied的错误码——它不是合法 code。全量错误码见 错误码全表。
使用步骤
- 在控制台创建项目并复制
customerId/customerSecret,或先用服务端签一个房间 Token。 - 选择端点,填写路径与查询参数。
- 需要时编辑请求体 JSON。
- 点击“发送请求”,在右侧查看结果;curl 预览可用于在终端复现。
限制
- 代理只转发
/v1、/dev/v1、/v2、/console前缀,其他路径一律拒绝。 - 浏览器端受同源策略与 CORS 限制,代理是唯一受支持的调用方式。
- 控制台不会保存历史请求;如需回归请使用示例脚本或 SDK。
交互式 API 控制台
选择端点、填写参数并发起真实请求。请求经由文档站的同源代理转发(`/api-proxy`),凭证只保存在当前浏览器会话的 `sessionStorage`,不会写入服务端日志或存储。 210 个端点.
凭证仅保存在本标签页的 sessionStorage;关闭标签页即清除。文档站代理不记录 Authorization / token 请求头,也不做任何持久化。
尚未发送请求。
curl 预览
响应
状态: —
响应头
尚未发送请求。