跳到主要内容

服务端 SDK 总览

Server SDK 运行在业务后端。一份语言依赖提供课堂客户端 client 和白板客户端 whiteboardClient;Python 使用 whiteboard_client,Go 使用 Client() / WhiteboardClient(),Java 使用 client() / whiteboardClient()。

选择语言​

语言包名环境指南
Node.js / TypeScript@eduskit/server-sdkNode.js 18+Node.js
PythoneduskitPython 3.9+,标准库 HTTPPython
Javacom.eduskit:server-sdkJava 11+,GsonJava
Gogithub.com/eduskit/server-sdk-goGo 1.21+Go
PHPeduskit/server-sdk-phpPHP 8.1+,HTTP 传输需要 cURL 扩展PHP

五种语言的安装示例均使用 0.1.5。Node.js 的课堂创建参数存在类型兼容性差异,见版本与分发。

配置​

配置含义
baseUrl对应一侧的 server-api 入口,SDK 自行追加 /v1/...
appId应用 ID,本地签发 Token 使用
appKeyHTTP 请求的 x-app-key
appSecretHTTP 请求的 x-app-secret,同时用于本地 HS256 签名
timeoutMsNode.js/PHP 请求超时,默认 10000 毫秒;其他语言见各自页面
langx-lang,默认 zh-CN

本地开发课堂 server-api 为 http://localhost:3112,白板 server-api 为 http://localhost:3012。这些是本地服务端口,构造器中的地址仍需显式填写。公网 server-api 使用部署方提供的地址,不能用客户端 https://sdk.eduskit.com 替代。

课堂与白板应用分别配置。只使用课堂时可以省略白板侧;访问未配置侧会得到 SDK_CLIENT_NOT_CONFIGURED,不会发 HTTP 请求。

示例从环境读取 EDU_SERVER_URL、EDU_APP_ID、EDU_APP_KEY、EDU_APP_SECRET。这些变量由业务服务的运行环境或密钥管理系统注入,不写入前端构建变量。

响应与错误​

成功响应通常为 { code, message, data, traceId },SDK 返回拆出的 data。请求和响应的 JSON 字段统一为 camelCase,Python 配置键与方法名才使用 snake_case。

失败通过各语言的 EduskitError 或 Go *eduskit.Error 返回。保留错误码、HTTP 状态、traceId、接口路径和来源,见错误与排查。共享客户端上的 lastTraceId 表示最近一次请求,不宜用于并发请求的精确关联。

SDK 不自动重试 HTTP 请求,也不封装 Webhook 验签。创建课堂、开课、结课、开始录制超时后,先确认服务端是否已经完成操作,再决定是否重试。

接收业务事件​

在控制台配置 HTTPS 地址与事件订阅后,业务后端可接收课堂和课件变化。接入步骤见服务端回调,字段见回调列表,各语言示例见回调验签。回调投递的重试机制与 Server SDK 的 HTTP 调用行为分别处理。

应用业务与租户管理接口​

源码构建的 client 提供 50 个应用凭证 HTTP 路由,包含用户、课堂、课件库、直播素材与诊断。参数与返回结构见应用业务接口,完整流程见业务操作示例。独立的租户管理客户端 使用租户会话管理账号、应用、仪表盘和计费。新增方法需要对应版本的 server-api 与 SDK 源码构建;公开包 0.1.5 不包含这些新增方法。