im-extcreate.md 2.0 KB

Contract: IM 平台 extCreate(外部依赖)

方向: 平台后端 → IM 平台(出站调用) 用途: 为用户创建 IM 账号,获取 apiKey + userId

请求

POST {im.base-url}{im.create-path}
  • 测试环境示例:POST https://test-im.abtim-my.com/bot/extCreate
  • create-path 默认 /bot/extCreate

请求头

Header 来源
extToken 92a88467-6eca-11f1-9dd5-00163e1eec55(测试) 配置 im.ext-token

请求体(JSON)

{ "nickName": "+88615287406952", "type": 0 }
  • nickName:昵称,由后端取用户 userName,无则取 phone(哪个有值用哪个)。
  • type:固定默认 0
  • Content-Type:application/json

配置项(application.yml 新增段)

# IM 即时沟通配置
im:
  base-url: https://test-im.abtim-my.com   # IM 平台根地址(正式环境另行配置)
  ext-token: 92a88467-6eca-11f1-9dd5-00163e1eec55   # 平台级鉴权令牌
  create-path: /bot/extCreate               # 创建用户接口路径
  timeout-ms: 5000                          # 连接/读取超时(毫秒)

响应

{
  "code": 200,
  "message": "成功",
  "data": {
    "apiKey": "f7a49f9745114462a3333e5698aac9ae",
    "userId": 2069305587785445400
  }
}
字段 类型 说明
code int 200 表示成功;非 200 视为失败
message String 状态描述
data.apiKey String IM API 密钥(落库 im_api_key,返回 APP)
data.userId long IM 用户ID(落库 im_user_id,转 String 返回 APP)

处理规则

  • 成功code == 200data.apiKeydata.userId 均非空 → 取 data 落库并返回。
  • 失败code != 200、data 缺字段、HTTP 非 2xx、超时、网络异常 → 抛异常,不写库,接口返回失败供 APP 重试。
  • 幂等:调用前先查本地 info_user,已有 imApiKey 则不调用本接口,直接返回。