功能说明
使用手机号和短信验证码登录,验证码通过后可自动创建尚不存在的用户。POST /jim/sms_login 是 POST /jim/sms/login 的兼容别名,共用同一 handler、参数和响应。
请求说明
请求鉴权:免登录,仅需
appkey,无需Authorization。
请求类型:
POST
请求限频:
100次/秒
请求地址:https://请求域名/jim/sms/login
Content-Type:
application/json
请求参数
| 参数 | 数据类型 | 是否必填 | 参数说明 | |
|---|---|---|---|---|
| phone | string | 是 | 手机号 | |
| code | string | 是 | 收到的短信验证码 | |
| device_id | string | 新客户端必填 | SDK 实际连接设备 ID,1–128 个 Unicode 字符,无控制字符、无首尾空白 | |
| platform | string | 与 device_id 成对 | 精确小写 ios、android、web、windows、macos、linux | |
| device_name | string | 否 | 最多 128 字符,无控制字符 | |
| os_version | string | 否 | 最多 64 字符,无控制字符 | |
| app_version | string | 否 | 最多 64 字符,无控制字符 |
设备字段放在 JSON 顶层。先使用 SDK getDeviceId 获取实际连接标识。兼容期仅两个身份键同时不传允许旧登录;只传一项、空值、null 或类型错误拒绝,严格截止后旧登录返回 17605。详见 设备登录规则。
先调用 发送短信验证码 获取实际验证码。普通记录按创建时间校验五分钟有效期;当前校验服务有测试放行分支,不属于客户端协议,不能据此承诺严格验证码防绕过。
请求示例
POST /jim/sms/login HTTP/1.1
appkey: appkey
Content-Type: application/json
{
"phone":"<手机号>",
"code":"<实际下发的验证码>",
"device_id":"sdk-device-demo",
"platform":"android"
}
响应示例
{
"code":0,
"msg":"success",
"data":{
"user_id":"userid1",
"authorization":"xxxxxxxxx",
"nickname":"user1",
"avatar":"xxxxxxxx",
"status":0,
"im_token":"xxxxxxxxx"
}
}
成功字段类型、凭证用途和同设备重新登录替换会话见 登录响应。验证码校验失败通常 17009;JSON/手机号不合法 17003,IM 注册失败 17004,设备参数及封禁错误见 错误码。处理网络失败、非 2xx 和业务 code,不只检查 HTTP 200。