⚠️ 本页面为历史归档文档,最新文档请访问 /docs

📘 云集开放接口 · UM API 文档

首页 🧩 策略系统 🎯 战略架构 👕 行业模块 🔌 插件规范 SDK 下载 创建应用

概述

所有 API 请求都使用 https,请求/响应均使用 UTF-8 编码,响应格式为 JSON

通用响应格式

{
    "code": 0,           // 0=成功,其他=失败
    "msg":  "succ",      // 消息描述
    "data": { ... }      // 业务数据(可选)
}

通用错误响应

{
    "code":    -1,
    "errcode": 500,
    "msg":     "服务异常"
}

GETact=login OAuth

获取扫码登录 URL,返回 JSON。客户端拿到 url 后跳转或嵌入 iframe。

请求参数

参数 必填 说明
act 固定为 login
appid 应用 ID
appkey 应用密钥
type 登录方式:wx/qq/alipay/douyin/baidu
redirect_uri 回调地址(https)
state 业务方自定义 state,用于防 CSRF

示例请求

GET /um/connect.php?act=login&appid=1012&appkey=xxx&type=wx&redirect_uri=https://example.com/cb&state=abc

成功响应

{
    "code": 0,
    "msg":  "succ",
    "type": "wx",
    "url":  "https://open.weixin.qq.com/connect/qrconnect?appid=...&redirect_uri=...&state=...#wechat_redirect",
    "qrcode": "https://open.weixin.qq.com/connect/qrconnect?...&client=1"
}

url 是微信跳转地址,qrcode 是 PC 端二维码版本(URL 末尾带 client=1)。

GETact=callback OAuth

用授权码 code 换取用户信息。客户端拿到 code 后调用此接口。

请求参数

参数 必填 说明
act 固定为 callback
appid 应用 ID
appkey 应用密钥
code redirect_uri 拿到的授权码(一次性)

成功响应

{
    "code":         0,
    "msg":          "succ",
    "type":         "wx",
    "access_token": "ACCESS_TOKEN",
    "social_uid":   "OPENID",
    "faceimg":      "https://thirdqq.qlogo.cn/...",
    "nickname":     "微信昵称",
    "gender":       "男",
    "location":     "广东 深圳",
    "ip":           "1.2.3.4"
}

特殊响应:等待扫码

{"code": 2, "msg": "待用户扫码确认"}

用户还没扫码确认,可在前端轮询直到 code=0

GETact=query

通过 social_uid 查询已绑定的第三方用户信息(用于二次访问)。

请求参数

参数 必填 说明
act 固定为 query
appid 应用 ID
appkey 应用密钥
type 登录方式
social_uid 用户 openid

POSTuser_register

注册新用户(通过手机号 / 邮箱)。

请求参数(JSON 或 form)

参数 必填 说明
appid 应用 ID
username 用户名
password 密码(明文,HTTPS 传输)
phone 二选一 手机号
email 二选一 邮箱
code 条件 短信/邮箱验证码(开启了验证时必填)

响应

{
    "code": 0,
    "msg":  "注册成功",
    "data": {
        "user_id": 10086,
        "token":   "eyJ0eXAiOiJKV1Qi..."
    }
}

POSTuser_login

账号密码登录。

请求参数

参数 必填 说明
appid 应用 ID
phoneemailusername 账号
password 密码

响应

{
    "code": 0,
    "msg":  "登录成功",
    "data": {
        "user_id": 10086,
        "token":   "eyJ0eXAi...",
        "user": {
            "id":       10086,
            "username": "demo",
            "phone":    "13800138000",
            "avatar":   "https://..."
        }
    }
}

POSTuser_info

查询 / 更新用户信息(需登录态 Token)。

请求头

Authorization: Bearer {token}

请求参数

参数 必填 说明
act get / update / change_pwd
appid 应用 ID

示例:获取信息

POST /um/user_info.php?act=get&appid=1012
Authorization: Bearer eyJ0eXAi...
{
    "code": 0,
    "data": {
        "id":       10086,
        "username": "demo",
        "phone":    "13800138000",
        "email":    "",
        "avatar":   "https://...",
        "nickname": "演示账号",
        "gender":   "男",
        "status":   1
    }
}

POSTuser_logout

登出(让 token 失效)。

请求头

Authorization: Bearer {token}

响应

{"code": 0, "msg": "已登出"}

GETact=check_sso v1.1

检测用户是否已在 SSO 中心登录。已登录则直接返回 Token 与用户信息,用于跨应用自动登录。

请求参数

参数 必填 说明
act 固定为 check_sso
appid 应用 ID
appkey 应用密钥

示例

GET /um/connect.php?act=check_sso&appid=1012&appkey=xxx

已登录响应

{
    "code": 0,
    "logged_in": true,
    "token": "eyJ0eXAiOiJKV1Qi...",
    "scope": "yunjii",
    "scope_type": "group",
    "user": {
        "id": 10086,
        "nickname": "演示",
        "avatar": "https://..."
    }
}

未登录响应

{"code": 0, "logged_in": false}

完整策略系统设计见 📘 完整策略系统文档

POSTact=sso_logout v1.1

SSO 统一登出:清除当前作用域(global / group / app)内所有 Token。

请求头

Authorization: Bearer {token}

请求参数

参数 必填 说明
act 固定为 sso_logout

响应

{"code": 0, "msg": "已登出", "killed": 3}

killed 表示本次共清除的 Token 数量。

GETact=policy v1.1

查询应用当前生效的登录策略与所有可配置项。供前端 SDK 动态获取。

请求参数

参数 必填 说明
act 固定为 policy
appid 应用 ID
appkey 应用密钥

响应

{
    "code": 0,
    "policy": "group_sso",
    "group_key": "yunjii",
    "all_options": {
        "multi_device.max_devices": 0,
        "login.max_attempts": 5,
        "ip_bound.change_action": "kick",
        "ip_bound.check_interval": 60,
        "single_device.kick_mode": "kick_old",
        "login.allow_simultaneous": true,
        "login.password_min_length": 6
    }
}

错误码

code errcode 说明
0 0 成功
2 - 待用户扫码确认(轮询场景)
-1 101 参数缺失
-1 102 应用不存在/已关闭/审核中/未通过
-1 103 appkey 不正确/回调域名未授权
-1 104 登录方式未配置/未开启
-1 201 数据库错误
-1 301 第三方 API 调用异常
-1 401 未登录/token 失效
-1 403 账号已禁用
-1 500 服务异常
-1 601 SSO 作用域无效
-1 602 超出最大设备数限制
-1 603 IP 绑定校验失败
-1 701 B 端无权限修改该配置项

更新日志

v1.1 (2026-06-09) NEW

  • 分组与策略系统:6 大登录策略(独立/分组SSO/全局SSO/单设备/多设备/IP绑定)
  • 三级权限模型:超管 / 客户 / B 端商家(商家/加盟商/代理商)/ C 端用户
  • 灵活配置中心:27+ 项可配置项全部注册化,新增策略无需改代码
  • Token 多实例:v1/v2 兼容,按 scope(global/group/app)维度管理
  • 设备指纹:基于 UA+IP+Language,关联 um_user_device 表
  • B 端控制台/um/b_console.php 商家自主配置入口
  • 3 个新 APIact=check_sso / act=sso_logout / act=policy
  • 5 个新数据表:um_user_token / um_user_device / um_b_users / um_b_roles / um_perm_registry / um_config_override
  • 详细设计见 📘 完整策略系统文档

v1.0 (2026-06-08)

  • 首个正式版本
  • 支持 OAuth 2.0 登录(微信/QQ/支付宝/抖音/百度)
  • 支持用户账号体系(注册/登录/资料/Token)
  • 兼容彩虹聚合登录协议,老项目零改造迁移