用户管理

更新时间:2023-12-07 03:33:44下载pdf

本文介绍了同步用户,获取用户列表和获取用户信息的接口。

接口列表

请求方式 API 说明
POST /v1.0/apps/{schema}/user 同步用户
GET /v2.0/apps/{schema}/users 获取用户列表
GET /v1.0/users/{uid}/infos 获取用户信息

同步用户

接口说明

该接口为账号同步接口,您可结合自己的业务场景,根据不同参数来完成账号创建和账号信息修改。

  • 在同一应用下,传入相同用户名,则会更新该用户上一次的用户信息。
  • 如需在涂鸦 OEM App 中直接使用,OEM App 当前仅支持手机号和邮箱地址,且密码 hash 规则为 MD5 算法。

接口地址

POST /v1.0/apps/{schema}/user

请求参数

参数名 类型 参数类型 必填 说明
schema String URI 应用唯一标识,对应涂鸦 IoT 平台应用管理中的标识名。
country_code String body 国家码。
username String body 用户名。
password String body 用户密码,建议使用 MD5 hash 原密码。
username_type Integer body 用户名类型。
  • 1:手机号
  • 2:邮箱号
  • 3:其他
默认值:3。
nick_name String body 昵称。
time_zone_id String body 时区ID。

返回参数

参数名 类型 说明
code Integer 错误码
success Boolean 判断请求是否成功。
true:成功
false:失败
msg String 请求失败返回的信息,成功则返回空值。
result Object<result> 返回结果。

result 说明

参数名 类型 说明
uid String 涂鸦用户 ID。

请求示例

POST /v1.0/apps/testApp/user
{ "country_code":"86", "username":"182*****678", "password":"c7fb2740c5f******4ed765a479fa", "username_type":1, "time_zone_id": "Asia/Shanghai" }

Java SDK 示例

TuyaClient client = new TuyaClient(clientId, secret, RegionEnum.CN); String uid = client.registerUser("testApp","86","182*****678",MD5Util.getMD5("123456")"nickName",UserTypeEnum.MOBLIE); System.out.println("成功同步用户: "+uid);

返回示例

{ "success": true, "result": { "uid": "ay1534*****4744oIAa" } }

错误码

以下为该接口常见的业务异常,更多的异常错误,请参考 全局错误码

错误码 说明
500 系统错误。
1106 权限非法,请确认您应用 schema 是否正确。
2403 国家码不支持,请确认国家码是否在当前数据中心。
2021 手机号无效,当选择用户名类型为 1 时,手机号码格式不符合。
2022 邮箱号无效,当选择用户名类型为 2 时,邮箱号格式不符合。

获取用户列表

接口说明

  • 您在涂鸦 IoT 平台创建的应用关联到的用户数据,可通过该 API 完成拉取。
  • 考虑到用户隐私安全,针对用户个人隐私字段,将进行加密处理。
  • 接口返回的是从开始时间到截止时间内产生的数据,截止时间距离开始时间最大间隔为30天。

接口地址

GET /v2.0/apps/{schema}/users

请求参数

参数名 类型 参数类型 必填 说明
schema String URI App schema。
page_no Int URL 当前页。
page_size Int URL 每页大小, 取值范围:0~100。
start_time Long URL 开始时间,10位时间戳
end_time Long URL 截止时间,10位时间戳

返回参数

参数名 类型 说明
code Integer 错误码
success Boolean 判断请求是否成功。
true:成功
false:失败
msg String 请求失败返回的信息,成功则返回空值。
result Object<result> 用户信息。

result 说明

参数名 类型 说明
list Object list 说明
has_more Boolean 判断是否有更多用户数据。
true:有
false:无
total Integer 该 schema 下的所有用户总数。

list 说明

参数名 类型 说明
uid String 用户 UID。
username String 用户名。
mobile String 手机号码 (手机号注册用户返回)。
email String 邮箱(邮箱注册用户返回)。

请求示例

GET /v2.0/apps/testapp/users?page_no=1&page_size=10&start_time=1602848780&end_time=1603809946

Java SDK 示例

TuyaClient client = new TuyaClient(clientId, secret, RegionEnum.CN); UserList result = client.getUsers("testApp",1,10); System.out.println("获取用户列表: "); System.out.println(JSONObject.toJSONString(result));

返回示例

{ "success":true, "t":1551851043862, "result":{ "list":[ { "country_code":"86", "uid":"ay15264******aK4Jo", "username":"****", "mobile":"****" }, { "country_code":"86", "uid":"ay1526******09hBOKe", "username":"****", "email":"****" } ], "has_more":false, "total":12 } }

错误码

以下为该接口常见的业务异常,更多的异常错误,请参考 全局错误码

错误码 说明
500 系统错误。
1003 无效的 grant type。
1107 无效的 code。

获取用户信息

接口说明

用来获取用户信息。

接口地址

GET /v1.0/users/{uid}/infos

请求参数

参数名 类型 参数类型 必填 说明
uid String URI 用户 ID。

返回参数

参数名 类型 说明
code Integer 错误码
success Boolean 判断请求是否成功。
true:成功
false:失败
msg String 请求失败返回的信息,成功则返回空值。
result Object<result> 用户信息。

result 说明

参数名 类型 说明
country_code String 国家码。
avatar String 头像。
mobile String 电话。
nick_name String 昵称。
uid String 用户 ID。
username String 用户名称。
create_time Long 创建时间。
update_time Long 更新时间。

请求示例

GET /v1.0/users/ay876543456789/infos

返回示例

{ "result": { "avatar": "", "create_time": 1582601946, "mobile": "86-153******93", "nick_name": "", "uid": "ay1587******2vqTA", "update_time": 1582601946, "username": "86-153******93" }, "success": true, "t": 1586153261345 }

错误码

以下为该接口常见的业务异常,更多的异常错误,请参考 全局错误码

错误码 说明
500 系统错误