IM 开放平台 · 第三方接入

任何第三方业务系统(SaaS / 打车 / 电商 / 本地生活等)按标准 5 步流程接入 IM,即可打通入口、身份授权与用户触达;第三方系统保有独立业务闭环、脱离 IM 也能完整运行。

标准接入流程(5 步)

1

应用注册

在 IM 开放平台提交应用信息、回调域名与申请 scope,等待平台审核。

2

发放凭证

审核通过后发放 appId + appSecret,登记 scope(应用级授权)。

3

用户授权

引导用户 OAuth 授权指定 scope(用户级授权)。

4

用户同步

OAuth userinfo 拉取 + UserProfileChanged 事件订阅(授权范围内)。

5

业务打通

第三方用自身业务闭环,经 IM 入口/消息触达用户;解绑/撤销即断开。

应用信息

字段说明
appId平台审核通过后发放的唯一应用标识
appName应用名称
callbackUrlOAuth 回调地址(HTTPS)
appType应用类型
scope申请的授权范围(最小授权)
statusPENDING / APPROVED / SUSPENDED

授权流程

OAuth 2.0 Authorization Code + PKCE,两层授权:

  • 应用级授权(接入即授权):应用审核通过即获得 appId + appSecret,并登记 scope。
  • 用户级授权(OAuth):第三方引导用户授权指定 scope。

时序

第三方 App / Third-party App ──GET /oauth/authorize?appId&scope&redirect_uri──▶ IM
IM ──用户授权页 / Auth page──▶ 用户确认 / User confirms
用户确认 / User confirms ──▶ IM 重定向 / redirects to redirect_uri?code=...
第三方 App / Third-party App ──POST /oauth/token (code + PKCE verifier)──▶ IM
IM ──{ access_token, refresh_token, expires_in }──▶ 第三方 / Third-party
第三方 App / Third-party App ──GET /oauth/userinfo (Authorization: Bearer token)──▶ IM

标准接口清单

方法与路径说明
POST /open/applications应用注册申请
GET /open/applications/{appId}应用信息查询(平台审核)
PUT /open/applications/{appId}应用信息/scope 管理
GET /oauth/authorize用户授权页
POST /oauth/tokencode 换 token + userinfo
GET /oauth/userinfo授权范围内用户资料
POST /open/applications/{appId}/revoke撤销应用/用户授权

scope 说明(最小授权)

scope说明
profile.basic昵称 / 头像
profile.phone手机号(脱敏)
notify站内信 / 推送

用户同步

  • 拉取(Pull):GET /oauth/userinfo(授权范围内)。
  • 订阅(Subscribe):UserProfileChanged 事件(topic 见 OpenAPI / AsyncAPI 契约)。
  • 同步内容仅限授权范围(昵称 / 头像 / 手机号脱敏);不共享 IM 聊天 / 好友 / 群组数据。
  • 解绑 / 撤销:第三方业务数据保留,仅移除 IM 登录 / 触达方式。

安全规范

  • appSecret 加密托管,不落明文,只签发应用 token。
  • scope 最小授权 + 授权版本;撤销 / 解绑即失效。
  • 审计:授权 / 撤销 / 同步 / 触达均记审计;日志脱敏。

验收清单

  • 模拟第三方系统按 5 步流程完成授权 / 同步 / 业务打通 / 撤销全链路。
  • appSecret 不落明文;撤销后 token / userinfo / 事件均失效。
  • 第三方系统在 IM 不可用时仍独立闭环运行。

SDK 与示例:

SDK 与接入示例将在开放平台上线时提供下载;当前可参考仓库内接入文档。