跳转到正文

注册宿主账号 ​

注册随附宿主应用的账号,成功后直接登录并返回用户资料。

POST /app/auth/register

调用方: 随附宿主应用 · 认证: 无需登录,流程中保留 PHPSID

登录前也可调用。涉及验证码或短信时,要在整个流程中保留同一个 PHPSID 会话。

请求参数 ​

JSON Body ​

参数类型必填说明
usernamestring是登录账号,3–64 字符。以 Unicode 字母或数字开头,之后允许字母、数字、下划线、点、连字符。
passwordstring是密码,6–72 字符。
captchastring条件条件必填。普通注册且 register_captcha=true 时必填。启用短信注册时,验证码在发送短信阶段完成。
mobilestring条件短信注册必填。中国大陆 11 位手机号,格式为 1 后接 3–9,再接 9 位数字。
sms_codestring条件短信注册必填。发送注册短信接口下发的 6 位数字验证码。

标有条件的必填项,只在相应操作或配置下需要提交。

请求示例 ​

bash
curl 'https://example.com/app/auth/register' \
  -b cookies.txt -c cookies.txt \
  -H 'Content-Type: application/json' \
  --data '{"username":"chenyue","password":"<设置账号密码>","captcha":"aBcD"}'

使用说明 ​

  • register_enabled=false 时不能注册。
  • 普通注册:按配置取得 register 场景图形验证码,再提交账号、密码和验证码。
  • 短信注册:取得 register_sms 图形验证码 → 发送注册短信 → 用相同 PHPSID、手机号和短信验证码完成注册。
  • 宿主会话与 IM Token 分开管理。浏览器保留 PHPSID Cookie;原生端可保存响应头 PHPSID,并在后续请求中使用同名请求头发送。
  • 登录或换票后若响应给出新的 PHPSID,后续请求使用新值。

返回参数 ​

成功响应的最外层字段如下。下面所有业务字段都位于 data 中。

字段类型说明
codeinteger0 表示成功;非 0 时查看 msg,不把 data 当成功结果使用。
msgstring成功通常为 ok,失败时为错误说明。
dataobject本次请求的业务结果,字段见下表。

data 字段 ​

字段类型说明
userHostUser当前登录用户资料。
app_namestring后台配置的应用名称。

返回示例 ​

示例展示字段结构;ID、时间和资料仅作说明,请使用实际回包。

json
{
  "code": 0,
  "msg": "ok",
  "data": {
    "user": {
      "id": "1024",
      "user_id": "chenyue",
      "username": "chenyue",
      "nickname": "陈悦",
      "avatar": "https://example.com/uploads/avatars/chenyue.jpg",
      "signature": "一起发现沿途的风景",
      "profile_updated_at": 1792301400000,
      "ip_region": null
    },
    "app_name": "PopoIM"
  }
}

返回对象字段 ​

数组中的每个对象使用同一套字段。点击名称跳到说明:

宿主用户资料

宿主用户资料(HostUser) ​

字段类型说明
idstringIM 内部用户 ID,以十进制字符串返回。调用用户相关接口时使用下面的 user_id。
user_idstring宿主系统提供的用户 ID,例如 chenyue;用于识别同一个人。
usernamestring | null可用于精确搜索的账号;没有设置时为 null。
nicknamestring显示昵称。
avatarstring头像地址。
signaturestring个性签名;未设置时为空字符串。
profile_updated_atinteger公开资料最后更新时间,Unix 毫秒时间戳。
ip_regionstring | nullIP 属地展示文字;没有信息时为 null。

错误处理 ​

3001 账号已使用、3003 图形验证码错误、3004 注册未开启、3007 短信验证码无效、3010 手机号已使用。

先检查 HTTP 状态,再检查 code。业务失败可能仍为 HTTP 200;非 0 的 code 都不能当成功。完整错误码见请求约定。

返回随附宿主账号接口列表 · HTTP 请求约定