跳到主要内容

小程序能力

小程序能力分为两部分:控制台中的版本构建与兼容性报告,以及运行时使用的会话接口。

  • 构建、报告和安装包下载属于控制台操作,使用控制台 Access Token。
  • 运行时会话属于公开 API,使用应用凭证签名。

构建上传建议在服务端完成,并在任务状态变为 SUCCEEDED 后再向用户发布版本。不要把构建凭证或应用 Secret 放入小程序包。

运行时换码流程​

小程序运行时的核心是**一次性登录码(login code)**的签发与换取,涉及两个角色和两个接口:

蓝答客户端(已登录的用户)
│ POST /api/miniapp/login (用户态鉴权 + X-Tenant-Id)
▼
服务端签发的 code(Redis,有效期 120 秒,一次性)
│ 小程序把 code 交给你的业务服务端
▼
你的业务服务端
│ POST /api/open/v2/miniapp/session (应用签名 V2)
▼
换取身份:{appId, userId, tenantId, sessionId}

1. 签发 code(蓝答客户端调用)​

POST https://im.lanchr.com/api/miniapp/login
X-Tenant-Id: <租户ID>
Authorization: <蓝答用户登录态>

{"appId": "app_43e19f98e5584c51925d08fc", "sessionId": "<业务会话ID>"}
  • 该接口使用蓝答用户登录态鉴权,不是应用签名;还会校验 appId 对应的应用必须是 MINIAPP 类型且处于 ACTIVE。
  • 响应 {"code":"<一次性登录码>"}。code 有效期 120 秒,只能使用一次(换取成功后立即失效)。

2. 换取身份(业务服务端调用)​

POST https://im.lanchr.com/api/open/v2/miniapp/session
Content-Type: application/json
X-Open-App-Id: <app-id>
X-Open-Credential-Id: <credential-id>
X-Open-Timestamp: <timestamp-ms>
X-Open-Nonce: <unique-nonce>
X-Open-Signature: <hmac-sha256>

{"code": "<一次性登录码>"}
  • 使用应用签名 V2,该接口不需要 Scope。
  • 成功响应 value 为 {appId, userId, tenantId, sessionId}。
  • code 无效、过期或已使用时返回 403 + 400008(服务端以 SecurityException 拒绝)。

运行时字段请以 小程序 API V2 为准。