阅读主题
API 概览
本版 OpenAPI 覆盖玩家授权、会话、订单、权益、工单、开发者注册、Windows 浏览器授权、区服角色、外部履约和账号生命周期。运营后台其余接口不在该文件范围。
下载 OpenAPI 3.1 JSON。导入支持 OpenAPI 3.1 的工具后,将服务地址保留为本地演示地址 http://127.0.0.1:18787。本版不提供可直接上线的生产地址。
| 方法与路径 | 鉴权 | 用途 |
|---|---|---|
GET /api/health | 无 | 返回 {status: 'ok', mode: 'demo'} |
GET /api/config?appId=... | 无 | 获取已批准应用的品牌、功能开关与维护状态 |
POST /api/server/auth/exchange | X-API-Key | 可信游戏服务器兑换一次性授权码 |
GET /api/me | Authorization: Bearer ... | 查询当前平台玩家与模拟游戏角色 |
请求约定
POST 请求使用 Content-Type: application/json,当前 JSON 请求体上限为 32 KB。成功响应直接返回业务对象,不包在 data 字段中。时间字段采用 ISO 时间字符串;金额使用整数分,钱包使用整数百分之一平台币。
powershell
Invoke-RestMethod 'http://127.0.0.1:18787/api/health'
Invoke-RestMethod 'http://127.0.0.1:18787/api/config?appId=starlight-h5'配置返回 brand、gameName、appId、accent、announcement、customerService、maintenance、giftsEnabled、couponsEnabled、walletEnabled、membershipEnabled、version。应用待审、停用或开发者受限时不能用配置接口绕过应用准入,返回 APP_UNAVAILABLE。
maintenance: true 是正常配置结果,配置查询仍可成功;登录、下单等受维护限制的操作会另行拒绝。客户端应展示维护提示并停止发起受限业务。
两种凭据不可混用
X-API-Key 属于可信游戏服务器,用于可信兑换、区服角色管理和履约回执。玩家 Bearer token 来自兑换响应,用于玩家身份和玩家业务。开发者控制台或运营后台会话不是玩家凭据。将后台会话传给 /api/me 会被拒绝,不会转换成玩家身份。
服务端密钥不能进入浏览器源码、Android 资源、VITE_*、公开演示代码或日志。玩家会话也不应放进 URL 查询参数。详见 凭据管理。
跨域与异常
默认允许 localhost 与 127.0.0.1 的 5173、5174、5175 端口来源。浏览器来源不在允许列表时返回 403 ORIGIN_FORBIDDEN;原生或服务器请求不带 Origin 时不受浏览器 CORS 检查。CORS 不能替代 API 密钥、玩家身份或游戏归属验证。
失败统一为 {"error":{"code":"...","message":"..."}}。共享类型允许可选 requestId,当前实现通常不返回它,不能依赖它做链路关联。按 error.code 处理业务,不解析中文提示文字。完整对照见 错误处理。
接入顺序
先获取应用配置,完成 服务端接入起步 与 授权码兑换,再使用 /api/me 验证身份。只有身份闭环通过后,再接 本地订单与支付。
实现依据
packages/server/src/app.ts:createApp中间件与基础公开路径。packages/contracts/src/index.ts:PlatformConfig、SessionResponse、ApiErrorBody。apps/docs/public/openapi.json:本版公开机器可读契约。