Gizwits Open API¶
简介¶
机智云 Open API 主要帮助开发者通过 HTTP 的方式维护用户、用户与设备之间的绑定关系,以及获取设备数据、发送控制指令给设备。
访问地址¶
http://api.gizwits.com
SDK¶
- python sdk: https://github.com/gizwits/gservice_sdk_py
用户信息 [/app/users]¶
创建匿名用户 [POST]¶
-
Request (application/json)
-
Header
X-Gizwits-Application-Id: {appid}
-
Body
{ "phone_id": "apiary" }
-
-
Response 201 (application/json)
- Body
{ "uid": "akkdlfeiow", "token": "akdlfkad", "expire_at": 13894002020 }
- Body
使用用户名和密码创建用户 [POST]¶
-
Request (application/json)
-
Header
X-Gizwits-Application-Id: {appid}
-
Body
{ "username": "bob", "password": "123456" }
-
-
Response 201 (application/json)
- Body
{ "uid": "akkdlfeiow", "token": "akdlfkad", "expire_at": 13894002020 }
- Body
使用手机号创建用户 [POST]¶
需要先调用获取验证码接口获取 code
-
Request (application/json)
-
Header
X-Gizwits-Application-Id: {appid}
-
Body
{ "phone": "123456", "password": "123456", "code": "abc" }
-
-
Response 201 (application/json)
- Body
{ "uid": "akkdlfeiow", "token": "akdlfkad", "expire_at": 13894002020 }
- Body
使用第三方账号(百度/新浪)创建用户 [POST]¶
-
Request (application/json)
-
Header
X-Gizwits-Application-Id: {appid}
-
Body
{ "authData": { "src": "baidu|sina", "uid": "2346677", "token":"pnktnjyb996sj4p156gjtp4im" } }
-
-
Response 201 (application/json)
- Body
{ "uid": "akkdlfeiow", "token": "akdlfkad", "expire_at": 13894002020 }
- Body
匿名用户设置用户名和密码 [PUT]¶
-
Request (application/json)
-
Header
X-Gizwits-Application-Id: {appid} X-Gizwits-User-token: {token}
-
Body
{ "username": "bob", "password": "abda2" }
-
-
Response 200 (application/json)
- Body
{ "updatedAt": "2011-11-07T21:25:10.623Z" }
- Body
匿名用户设置手机号和密码 [PUT]¶
-
Request (application/json)
-
Header
X-Gizwits-Application-Id: {appid} X-Gizwits-User-token: {token}
-
Body
{ "phone": "1328830223", "password": "123456", "code": "123" }
-
-
Response 200 (application/json)
- Body
{ "updatedAt": "2011-11-07T21:25:10.623Z" }
- Body
修改密码 [PUT]¶
-
Request (application/json)
-
Header
X-Gizwits-Application-Id: {appid} X-Gizwits-User-token: {token}
-
Body
{ "old_pwd": "123456", "new_pwd": "123456" }
-
-
Response 200 (application/json)
- Body
{ "updatedAt": "2011-11-07T21:25:10.623Z" }
- Body
修改 email [PUT]¶
-
Request (application/json)
-
Header
X-Gizwits-Application-Id: {appid} X-Gizwits-User-token: {token}
-
Body
{ "email": "bob@bob.com", }
-
-
Response 200 (application/json)
- Body
{ "updatedAt": "2011-11-07T21:25:10.623Z" }
- Body
修改手机号 [PUT]¶
-
Request (application/json)
-
Header
X-Gizwits-Application-Id: {appid} X-Gizwits-User-token: {token}
-
Body
{ "phone": "1328830223", "code": "abc" }
-
-
Response 200 (application/json)
- Body
{ "updatedAt": "2011-11-07T21:25:10.623Z" }
- Body
用户登录 [/app/login]¶
可以使用用户名/邮箱/手机号登录
用户登录 [POST]¶
-
Request (application/json)
-
Header
X-Gizwits-Application-Id: {appid}
-
Body
{ "username": "bob", "password": "123456" }
-
-
Response 200 (application/json)
- Body
{ "uid": "akkdlfeiow", "token": "akdlfkad", "expire_at": 13894002020 }
- Body
验证码 [/app/codes]¶
获取验证码 [POST]¶
-
Request (application/json)
-
Header
X-Gizwits-Application-Id: {appid}
-
Body
{ "phone": "13223233" }
-
-
Response 200 (application/json)
校验验证码 [POST]¶
-
Request (application/json)
-
Header
X-Gizwits-Application-Id: {appid}
-
Body
{ "phone": "13223233", "code": "123456" }
-
-
Response 200 (application/json)
重置密码 [/app/reset_password]¶
使用邮箱重置密码 [POST]¶
请求成功后用户会收到一封重置密码的邮件, 用户根据邮件的链接进行密码重置
-
Request (application/json)
-
Header
X-Gizwits-Application-Id: {appid}
-
Body
{ "email": "bob@bob.com" }
-
-
Response 200 (application/json)
使用手机号重置密码 [POST]¶
-
Request (application/json)
-
Header
X-Gizwits-Application-Id: {appid}
-
Body
{ "phone": "13232433", "code": "13232', "new_pwd": "1323200" }
-
-
Response 200 (application/json)
获取设备历史数据 [/app/devdata]¶
获取设备历史数据 [GET]¶
-
参数列表
- product_key (required, string,
pk
) - did (optional, string,
gdGn7PzAYf4VrhnVag5x8D
) - start_ts (optional, number,
1349032093
) - end_ts (optional, number,
1349032093
) - attr (optional, string,
temp
) - limit (optional, number,
20
) - skip (optional, number,
0
)
- product_key (required, string,
-
Request (application/json)
- Header
X-Gizwits-Application-Id: {appid}
- Header
-
Response 200 (application/json)
- Body
{ "data": [{ "did": "gdGn7PzAYf4VrhnVag5x8D", "ts": 148293984328, "entity": 1, "attr": "temp", "val": 10 },{ "did": "gdGn7PzAYf4VrhnVag5x8D", "ts": 148293984328, "entity": 1, "attr": "temp", "val": 10 }] }
- Body
绑定关系 [/app/bindings]¶
获取绑定列表 [GET]¶
-
参数列表
- limit (optional, number,
20
) - skip (optional, number,
0
)
- limit (optional, number,
-
Request (application/json)
- Header
X-Gizwits-Application-Id: {appid} X-Gizwits-User-token: {token}
- Header
-
Response 200 (application/json)
- Body
{ "devices": [{ "product_key": "akdlfkad", "did": "abcada", "mac": "1122334455667788", "is_online": false, "passcode": "123456", "host": "m2m.gizwits.com", "port": 3128, "remark": "", "is_disabled": false },{ "product_key": "akdlfkad", "did": "abcada", "mac": "1122334455667788", "is_online": false, "passcode": "123456", "host": "m2m.gizwits.com", "port": 3128, "remark": "", "is_disabled": false }] }
- Body
绑定设备 [POST]¶
-
Request (application/json)
-
Header
X-Gizwits-Application-Id: {appid} X-Gizwits-User-token: {token}
-
Body
{ "devices": [{ "did": "gdGn7PzAYf4VrhnVag5x8D", "passcode": "gokit", "remark": "" }] }
-
-
Response 200 (application/json)
{ "success": ['abc', 'add'], "failed": ['adad', 'ee'] }
解除绑定 [DELETE]¶
-
Request (application/json)
-
Header
X-Gizwits-Application-Id: {appid} X-Gizwits-User-token: {token}
-
Body
{ "devices": [{ "did": "gdGn7PzAYf4VrhnVag5x8D" }] }
-
-
Response 200 (application/json)
{ "success": ['abc', 'add'], "failed": ['adad', 'ee'] }
设备信息 [/app/devices/{did}]¶
获取设备详细信息 [GET]¶
-
参数列表
- did (required, string,
abcada
)
- did (required, string,
-
Request (application/json)
- Header
X-Gizwits-Application-Id: {appid} X-Gizwits-User-token: {token}
- Header
-
Response 200 (application/json)
- Body
{ "product_key": "akdlfkad", "did": "abcada", "mac": "1122334455667788", "is_online": false, "passcode": "123456", "host": "m2m.gizwits.com", "port": "3128" }
- Body
查询设备 [/app/devices]¶
根据 product_key 和 mac 查询设备 [GET]¶
-
参数列表
- product_key (required, string,
product_key
) - mac (required, string,
112233445566
)
- product_key (required, string,
-
Request (application/json)
- Header
X-Gizwits-Application-Id: {appid}
- Header
-
Response 200 (application/json)
- Body
{ "did": "abcada", "passcode": "123456", }
- Body
远程控制设备 [/app/control/{did}]¶
远程控制设备可以通过两种方式,一种是设置数据点,一种是发送原始控制指令。 推荐使用设置数据点的方式,通过这种方式控制设备,系统内部自动会生成原始控制指令发送给设备,使用起来更简单。
- 参数列表
- did (required, string,
did
)
- did (required, string,
设置数据点 [POST]¶
- 只能设置可写类型的数据点
- bool 类型的数据点设置为 true/false
- enum 类型的数据点设置为枚举的字符串
- uint8/uint16/uint32 类型的数据点设置为数字
-
binary 类型的数据设置为 hex 类型字符串,如发送一串二进制数据 0x01, 0x02, 0x03, 就写成 "010203"
-
Request (application/json)
-
Header
X-Gizwits-Application-Id: {appid} X-Gizwits-User-token: {token}
-
Body
{ "attr": "temp", "val": 10 }
-
-
Response 200 (application/json)
- Body
{}
- Body
发送原始控制指令 [POST]¶
-
Request (application/json)
-
Header
X-Gizwits-Application-Id: {appid} X-Gizwits-User-token: {token}
-
Body
{ "raw": [<byte>, <byte>, ...] }
-
-
Response 200 (application/json)
- Body
{}
- Body