# 用户注册 | BAC Document
社区开源的第三方哔哩哔哩 API 文档

# 用户注册

## 人机验证

完成人机验证(参考验证登录)

完成后得到`key`, `challenge`, `validate`, `seccode`四个参数

## 发送短信验证码

发送短信验证码(参考短信登录)

注意不同的是这里type=1而非21,推测此参数决定短信内容

    curl 'https://passport.bilibili.com/web/sms/general/v2/send' \
        --data-urlencode 'key=6eeb28e7bbd64b389da2be3a2778c7e3' \
        --data-urlencode 'captchaType=6' \
        --data-urlencode 'type=1' \
        --data-urlencode 'cid=1' \
        --data-urlencode 'tel=13888888888' \
        --data-urlencode 'challenge=c52148f88a28b6011db52bb213483ee8' \
        --data-urlencode 'validate=a98841cd6ea58e1b1f5783fca73cddb6' \
        --data-urlencode 'seccode=a98841cd6ea58e1b1f5783fca73cddb6|jordan'

查看示例

    {
        "code": 0,
        "message": "验证码短信已下发"
    }

## 提交注册请求

> https://passport.bilibili.com/web/reg/tel

请求方式：POST

正文参数（ application/x-www-form-urlencoded ）：

参数名 | 类型 | 内容 | 必要性 | 备注
--- | --- | --- | --- | ---
cid | num | 国际冠字码 | 必要 | 可以从 获取国际冠字码 接口中获取
tel | num | 手机号码 | 必要 |
code | num | 短信验证码 | 必要 |
nickName | str | 昵称 | 必要 |
pwd | str | 密码 | 必要 | 密码为明文
plat | num | 0 | 必要 | 平台？
gourl | str | 注册成功跳转地址 | 非必要 | 默认为主页`https://www.bilibili.com/`

json回复：

根对象：

字段 | 类型 | 内容 | 备注
--- | --- | --- | ---
code | num | 返回值 | 0：成功 1005：验证码错误 1007：验证码过期
message | str | 错误信息 | 成功时无此字段
data | obj | 信息本体 | 只在成功时存在

`data`对象：

字段 | 类型 | 内容 | 备注
--- | --- | --- | ---
redirectUrl | str | 跳转链接 |
hint | str | "注册成功" | 成功后不提示成功还能提示什么?
in_reg_audit | num | (?) |

    curl 'https://passport.bilibili.com/web/reg/tel' \
        --data-urlencode 'plat=0' \
        --data-urlencode 'cid=1' \
        --data-urlencode 'tel=13888888888' \
        --data-urlencode 'code=121314' \
        --data-urlencode 'nickName=萌系小妹纸わ'
        --data-urlencode 'pwd=Password1234' \
        --data-urlencode 'gourl=https://www.bilibili.com'

查看示例

    {
        "code": 0,
        "data": {
            "redirectUrl": "https://www.bilibili.com",
            "hint": "注册成功",
            "in_reg_audit": 0
        }
    }