企业 API
企业接口服务地址为 http(s)://console-openapi.hekr.me
错误返回方式说明
调用接口成功返回20X,如有返回内容会在body中给出,没有返回内容body将为空,仅有HTTP头。
调用接口失败返回40X或500,错误信息会在body中给出,如果返回的HTTP Code是401,请检查Authorization是否正确。
如果接口需要使用参数PPK,并且PPK不合法,将返回错误码:6400015。
如果请求参数不合法或者错误,将返回错误码:8400002。
厂家获取所有(包括授权)产品信息
这个接口是企业调用,获取其自身(包括授权)产品的信息,注意跟 根据用户信息获取所有包括授权产品信息接口 的区别。
Request
curl --request GET \
--url https://console-openapi.hekr.me/api/v1/enterprise/product \
-H "Authorization: key={serverKey}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
Response
[
{
"category" : { // 所在品类信息(小类)
"id" : "KUr1cijapr2cv844" ,
"name" : {
"en_US" : "ef" ,
"zh_CN" : "触摸开关"
},
"logo" : "https://stage-allinone-ufile.hekr.me/category/d6c96fc8-1b7a-4d96-ae11-84cd9540bf6e/KUr1cijapr2cv844.png" , ;// 品类图标
"parent" : { // 品类父级,也就是大类信息
"id" : "56efcab1a8ee" ,
"name" : {
"zh_CN" : "生活电器" ,
"en_US" : "Life electric application"
}
}
},
"products" : [ // 小品类下的所有产品信息
{
"mid" : "45a3KOPKLImt" ,
"name" : "测试产品" , // 产品名称
"productType" : "INDEPENDENT" , // 产品类型 INDEPENDENT:独立(wi f i)设备,GATEWAY:网关设备,SUB:网关子设备
"displayName" : { // 产品名称
"zh_CN" : "测试" ,
"en_US" : "Test"
},
"model" : "产品型号" ,
"logo" : "https://stage-allinone-ufile.hekr.me/category/1bfbcb91-6223-42c5-a2d8-466f2fcf69b3/1455783857385iconfont-hekriconshebeitaideng18.png" ,
"bindType" : "WIFI" , //设备绑定方式,这个具体参照安卓或者IOS SDK配网说明
"accessWay" : [ // 设备通信方式, WIFI,GPRS,ThirdGe nerat io n ( 3 G),ZIG_BEE,BLUETOOTH,ETHERNET(网线),MHZ_ 433 ,MHZ_ 315 ,Z_WAVE
"WIFI"
],
"configDesc" : "这里是测试配网指导文字" ,
"configDescImg" : [
"https://stage-allinone-ufile.hekr.me/product-config/8790ecc4-6230-47d6-9bef-892b2b5d4124.png"
]
}
]
}
]
根据用户信息获取所有(包括授权)产品信息
这个接口是普通用户调用,获取用户所属企业(包括授权)产品的信息,注意跟 厂家获取所有包括授权产品信息 的区别。
Request
curl --request GET \
--url https://console-openapi.hekr.me/external/enterprise/product \
-H "Authorization: Bearer {JWT_TOKEN}" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
Response
返回信息和 厂家获取所有(包括授权)产品信息 一样
厂家获获取所有(包括授权)协议模板信息
Request
GET /enterprise/protocolTemplate HTTP / 1.1
Content-Type : application/json
Authorization : key={serverKey}
Response
[
{
"mid" : "xxx" ,
"pid" : "xxx" ,
"createTime" : 1509526739706 ,
"protocol" : {
"2" : {
"cmdId" : 2 ,
"cmdTag" : "SetPower" ,
"desc" : "设置开关" ,
"frameType" : 2 ,
"tags" : null ,
"fields" : [
{
"dataType" : "NUMBER" ,
"name" : "Light" ,
"desc" : "亮度" ,
"dataLength" : 1 ,
"usedForIFTTT" : false ,
"maxValue" : 100 ,
"minValue" : 0 ,
"maxValueMean" : "最亮" ,
"minValueMean" : "最暗" ,
"enumeration" : []
}
]
},
"workModeType" : "JSON_TRANSPARENT"
}
}
]
参数名字
说明
mid
产品标记
pid
企业标识
createTime
创建时间戳 毫秒
protocol
协议内容
workModeType
工作模式,JSON_TRANSPARENT:json透传;TRANSPARENT48:48透传;JSON_CTRL json主控;JSON_TRANSPARENT_NOT_CHECK_RAW json透传,不校验48串
protocol 参数说明
参数名字
说明
2
对应于cmdId参数的值
cmdId
命令
cmdTag
命令名字
desc
命令描述
frameType
1 上报帧,2 下发帧
tags
数组,可能为null ,ifttt:可用于联动,infrared 红外设备标记,ifttt-no-repeat-trigger:联动是否可以重复触发,带有该标记则不允许重复触发。
fields
数组,包含了参数,详情见下面说明
fields 值说明
参数名字
说明
dataType
NUMBER:整数,STRING 字符串类型
name
参数名字
desc
参数描述
dataLength
参数值长度
usedForIFTTT
是否用于联动,true:可以是联动触发条件。在配置联动触发条件的时候可以作为一个过滤条件,不过滤的话,所有上报帧都可以作为触发条件 联动参见这里
maxValue
最大值,NUMBER才会有(存在则有范围校验规则)
minValue
最小值,同上
maxValueMean
最大值描述,同上
minValueMean
最小值描述,同上
enumeration
整数数组,枚举值,NUMBER才会有(存在则有枚举校验,比范围校验优先级高)
判断设备模块固件是否需要升级
curl -v -X POST \
-H "Authorization: Bearer {JWT_TOKEN}" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
"https://console-openapi.hekr.me/external/device/fw/ota/check" \
-d '[
{
"devTid" : "esp_2m_bb8", // 设备id
// 产品公开码 简称PPK
"productPublicKey" : "56dce943d4149",
"binType" : "A", // 固件类型
"binVer" : "2.0.3.0" // 固件版本
},
{
"devTid" : "esp_2m_bb9",
"productPublicKey" : "56dcf1b5d14e", //简称PPK
"binType" : "B",
"binVer" : "1.2.0.0"
}
]'
返回
如果productPublicKey不合法,将不返回相应任何设备信息。
< 200
< [
{
"devTid" : "esp_2m_bb8" ,
"update" : false // 是否需要升级:true,是;false,否
} ,
{
"devTid" : "esp_2m_bb9" ,
"update" : true,
"devFirmwareOTARawRuleVO" : { // 如果需要升级,该值非空
// 新固件地址
"binUrl" : "http://fs.hekr.me/dev/fw/ota/xxx.bin" ,
"md5" : "5d41402abc4b2a76b9719d911017c592" , // 固件md5
"latestBinType" : "B" , // 新固件类型
"latestBinVer" : "1.2.3.4" , // 新固件版本
"size" : 77 // 固件大小,单位Byte
}
}
]
根据pid获取企业资讯
curl -v -X GET \
-H "Authorization: Bearer {JWT_TOKEN}" \
-H "Accept: application/json" \
"https://user-openapi.hekr.me/external/vc/getByPid?pid=12121212121&page=5&size=1"
参数
参数名
是否可选
参数类型
取值范围
说明
pid
必选
String
企业id
page
可选
int
[0, ?],默认为是0
页码
size
可选
int
[1, 100],默认是20
每页大小
返回
< 200
< {
"page" : 5 ,
"size" : 1 ,
"totalResults" : 117 ,
"totalPages" : 117 ,
"first" : false,
"last" : false,
"result" : [
{
"id" : "56de99337d845ab213487607" , // 资讯id
"authorName" : "健康小助手" ,
"updateTime" : 1457611920 ,
"title" : "每日饮水小贴士" ,
"infoTags" : [ // 资讯标签
"健康" ,
"饮水"
] ,
// 资讯url
"infoContent" : "http://media.hekr.me/pid/vc/xxxx.html"
}
]
}
根据PPK获取企业资讯
该接口支持根据PPK列表批量获取企业资讯(企业资讯按最后更新时间倒序排序)。
curl -v -X GET \
-H "Authorization: Bearer {JWT_TOKEN}" \
-H "Accept: application/json" \
-H "X-Hekr-ProdPubKey: {PPK}" \
"https://console-openapi.hekr.me/external/vc/getByPPK?page=5&size=1"
参数
参数名
是否可选
参数类型
取值范围
说明
page
可选
int
[0, ?],默认是0
获取第几页的企业资讯
size
可选
int
[1, 100],默认是20
每页企业资讯的数量
返回
售后管理
针对设备反馈问题
curl -v -X POST \
-H "Authorization: Bearer {JWT_TOKEN}" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
"https://console-openapi.hekr.me/external/feedback"
-d '{
"username" : "example@hekr.me",
"title" : "温度统计不灵",
"contact" : "联系人",
"content" : "温度统计功能,时灵时不灵...", // 具体的反馈内容
// 反馈内容如有图片,则存放图片链接,多张图片以","分隔。如果没有图片,可以不填
"images" : "http://media.hekr.me/xx1.png,http://media.hekr.me/xx2.png",
"feedbackType":"LOG",// 反馈问题类型,可为空,可填"LOG","APP"
"logUrl":"https://xxxxx" // 日志上传之后生成的地址
"appInfo":"xxxxx"
}'
参数
参数名
是否可选
参数类型
取值范围
说明
username
可选
string
用户账号
title
必选
string
反馈标题
content
必选
string
反馈内容
contact
可选
string
反馈联系人
logUrl
可选
string
日志链接
appInfo
可选
string
日志内容,将相关内容对象以ASE方式加密,秘钥为uid的MD5值
images
必选
string
反馈内容如有图片,则存放图片链接,多张图片以","分隔。如果没有图片,可以不填
反馈图片
feedbackType
可选
string
APP APP反馈,LOG 配网日志反馈,WEB_LOG 页面日志反馈
反馈类型
返回
如果username不存在,将不返回任何信息。
< 200
< {
"id" : "56de96dd46ea0f809999b8cc" // 反馈问题的id
}
批量获取用户的反馈问题和问题处理结果
curl -v -X GET \
-H "Authorization: Bearer {JWT_TOKEN}" \
-H "Accept: application/json" \
"https://console-openapi.hekr.me/external/user/feedback?page=10&size=2"
参数
参数名
是否可选
参数类型
取值范围
说明
page
可选
int
[0, ?],默认是0
获取第几页的反馈问题
size
可选
int
[1, 100],默认是20
每页问题的数量
返回
< 200
< {
"page" : 5 ,
"size" : 2 ,
"totalResults" : 20 ,
"totalPages" : 10 ,
"first" : false,
"last" : false,
"result" : [
{
"id" : "56de959d84ef43a521757054" ,
"title" : "设备无法控制" ,
"type" : "产品质量" ,
"content" : "我的设备无法控制" ,
"handleStatus" : 1 ,
"createTime" : 1457947833
} ,
{
"id" : "56de626884efc280586a5fd6" ,
"title" : "设备无法获取PM2.5的值" ,
"type" : "产品功能不可用" ,
"content" : "我的设备无法获取PM2.5的值" ,
"images" : "http://media.hekr.me/xx1.png" ,
"handleTime" : 1456874520 ,
"handleContent" : "请将设备的保护薄膜撕掉" ,
"handleStatus" : 2 ,
"createTime" : 1456824900
}
]
}
获取产品协议模板
curl -v -X GET \
-H "Accept: application/json" \
-H "X-Hekr-ProdPubKey: {PPK}" \
"https://console-openapi.hekr.me/external/device/protocolTemplate"
返回
< 200
< {
"mid" : "1ccb5e2ed8" ,
"pid" : "062801590" ,
"cid" : "02af881daf" ,
"accessProtocol" : 0 , // 设备工作方式: 0是JSON透传、1是JSON主控
"fixedLength" : false, // 是否是定长
"statistics" : false, // 是否需要统计
"createTime" : "2016-02-22 16:15:47" ,
"protocol" : { // 协议命令集合
"3" : { // 命令的key,与具体命令中的cmdId保持一致
"cmdTag" : "SetLight" , // 命令名称
"cmdId" : 3 , // 命令的Id
"desc" : "设置亮度" , // 命令描述
"frameType" : 2 , // 命令帧类型:1是上报帧、2是下发帧
"usedForIFTTT" : true, // 是否在IFTTT规则中展示
"fields" : [ // 命令使用到的产品参数
{
"name" : "Light" , // 参数名称
"desc" : "亮度" , // 参数描述
"units" : "百分比" , // 参数单位,可选
"unitsDesc" : "%" , // 参数单位的符号表示,可选
"dataType" : "INT" , // 参数的数据类型,JSON主控包括“INT”、“FLOAT”、“STRING”,JOSN透传包括“NUMBER”、“STRING”
"dataLength" : 1 , // 数据长度,单位“Byte”,JSON透传下有该属性,JSON主控下无该属性
"save" : true, // 云端是否保存该参数的值
"reportedFrequency" : 5 , // 该参数上报云端的频率,单位是“分钟/次”,即多少分钟上报一次该参数
"available" : true, // 该参数在此命令中是否是有效数据
"usedForIFTTT" : true, // 是否在IFTTT规则中展示
"maxValue" : "100" , // 参数的最大取值
"minValue" : "0" , // 参数的最小取值
"maxValueMean" : "亮度100%" , // 参数最大值的含义,可选
"minValueMean" : "亮度0%" , // 参数最小值的含义,可选
"enumeration" : [ // 参数的枚举值,可选
{
"value" : 150 , // 参数的枚举取值
"desc" : "超亮状态" // 枚举取值说明
}
]
}
]
}
}
}
详细说明
获取演示设备列表
GET https://console-openapi.hekr.me/external/device/default/static HTTP / 1.1
Authorization : Bearer {JWT_TOKEN}
HTTP / 1.1 200 OK
Content-Type : application/json;charset=UTF-8
[
{
"id" : "5971c35ddddae41048e00faf" ,
"pid" : "00000000000" ,
"name" : "智能空气净化器" ,
"logo" : "https://allinone-ufile.hekr.me/deviceStaticPage/58ea54ec-71e1-4115-8073-c8e1544e4b86/airPurifier.png" ,
"desc" : "1" ,
"packageFile" : "https://allinone-ufile.hekr.me/deviceStaticPage/7c96558b-967d-4714-8d8c-71dc36f52581/znkqjhq.zip" ,
"indexUrl" : "https://allinone-ufile.hekr.me/deviceStaticPage/7c96558b-967d-4714-8d8c-71dc36f52581/index.html" ,
"deviceName" : "智能空气净化器" ,
"androidH5Page" : "https://allinone-ufile.hekr.me/deviceStaticPage/7c96558b-967d-4714-8d8c-71dc36f52581/index.html" ,
"androidH5Zip" : "https://allinone-ufile.hekr.me/deviceStaticPage/7c96558b-967d-4714-8d8c-71dc36f52581/znkqjhq.zip" ,
"iosH5Zip" : "https://allinone-ufile.hekr.me/deviceStaticPage/7c96558b-967d-4714-8d8c-71dc36f52581/znkqjhq.zip" ,
"iosH5Page" : "https://allinone-ufile.hekr.me/deviceStaticPage/7c96558b-967d-4714-8d8c-71dc36f52581/index.html"
}
]
返回体
字段
含义
name
演示设备名称
logo
演示设备LOGO
deviceName
演示设备名称 已废弃 请使用name
androidH5Page
android控制页面地址
androidH5Zip
android压缩包地址
iosH5Zip
ios压缩包地址
iosH5Page
ios控制页面地址
文件存储
查询文件列表(用户)
接口调用方应为企业用户
GET /api/v1/enterprise-file HTTP / 1.1
Authorization : Bearer {JWT_TOKEN}
HTTP / 1.1 200 OK
Content-Type : application/json;charset=UTF-8
{
"content" : [
{
"id" : "59548130b64a61a42ab4f8a7" ,
"filename" : "光照度传感器.png" ,
"url" : "https://allinone-ufile.hekr.me/product-logo/5cd4999f-97e4-46cd-8567-e8fbe7be32c0/%E5%85%89%E7%85%A7%E5%BA%A6%E4%BC%A0%E6%84%9F%E5%99%A8.png" ,
"tags" : [
"ad"
]
}
],
"last" : true ,
"totalPages" : 1 ,
"totalElements" : 1 ,
"sort" : null ,
"first" : true ,
"numberOfElements" : 1 ,
"size" : 20 ,
"number" : 0 ,
"page" : 1
}
请求参数
参数
是否必须
默认
含义
page
false
0
第几页(从0开始)
size
false
20
每页多少条记录
filename
false
筛选文件名,使用正则表达式
tag
false
筛选标签,例如tag=tag1,tag2将筛选同时具有tag1,tag2 的文件
sort
false
排序方法,例如sort=createTime 按时间升序,sort=createTime,DESC 按时间倒序
查询文件列表(企业)
GET /api/v1/enterprise-file?admin=true HTTP / 1.1
Authorization : Bearer {JWT_TOKEN}
请求参数
参数
是否必须
默认
含义
page
false
0
第几页(从0开始)
size
false
20
每页多少条记录
filename
false
筛选文件名,使用正则表达式
tag
false
筛选标签,例如tag=tag1,tag2将筛选同时具有tag1,tag2 的文件
sort
false
排序方法,例如sort=createTime 按时间升序,sort=createTime,DESC 按时间倒序
上传文件(企业)
POST /api/v1/file?prefix=efile HTTP / 1.1
Content-Type : multipart/form-data; boundary=----WebKitFormBoundaryqcu5Qdx1ivNGl0o6
Authorization : Bearer {JWT_TOKEN}
------WebKitFormBoundaryqcu5Qdx1ivNGl0o6
Content-Disposition: form-data; name="file"; filename="png.png"
Content-Type: image/png
------WebKitFormBoundaryqcu5Qdx1ivNGl0o6--
HTTP / 1.1 200 OK
Content-Type : application/json;charset=UTF-8
{
"key" : "efile/dca71f4b-ca3a-4c66-b62c-8441983fc1a6/png.png" ,
"url" : "https://stage-allinone-ufile.hekr.me/efile/dca71f4b-ca3a-4c66-b62c-8441983fc1a6/png.png" ,
"md5" : "079f7d85b3d8951946a8ca2612cecc06" ,
"filename" : "png.png"
}
请求体
参数
是否必须
说明
file
是
要上传的文件
prefix
是
文件前缀
返回体
参数
含义
key
上传文件唯一标识,该值仅用于氦氪内部服务
url
上传后文件地址
md5
文件md5值
filename
文件名
添加企业文件记录(企业)
必须先调用上传文件(企业) ,将接口返回的filename、url填入该接口同名body字段
POST /api/v1/enterprise-file HTTP / 1.1
Authorization : Bearer {JWT_TOKEN}
{
"url": "https://stage-allinone-ufile.hekr.me/efile/dca71f4b-ca3a-4c66-b62c-8441983fc1a6/png.png",
"filename": "png.png",
"tags": ["ad"]
}
HTTP / 1.1 200 OK
Content-Type : application/json;charset=UTF-8
删除企业文件记录(企业)
DELETE /api/v1/enterprise-file/{id} HTTP / 1.1
Authorization : Bearer {JWT_TOKEN}
HTTP / 1.1 200 OK
Content-Type : application/json;charset=UTF-8
参数
是否必须
说明
id
true
要删除的记录ID
产品FAQ
产品FAQ为产品常见问题。
查询FAQ列表(企业)
GET https://console-openapi.hekr.me/api/v1/commonProblem?admin=true HTTP / 1.1
Authorization : Bearer {JWT_TOKEN}
HTTP / 1.1 200 OK
Content-Type : application/json;charset=UTF-8
{
"content" : [
{
"id" : "5976ecccf50a3c077de6fc11" ,
"pid" : "01240737641" ,
"mid" : "IyFauxgNdjFs" ,
"title" : "asfd" ,
"content" : "asdfsdf" ,
"updateTime" : 1500966092898
}
],
"last" : true ,
"totalPages" : 1 ,
"totalElements" : 1 ,
"sort" : [
{
"direction" : "DESC" ,
"property" : "updateTime" ,
"ignoreCase" : false ,
"nullHandling" : "NATIVE" ,
"ascending" : false
}
],
"first" : true ,
"numberOfElements" : 1 ,
"size" : 10 ,
"number" : 0 ,
"page" : 1
}
请求参数
参数
是否必须
默认
含义
page
false
0
第几页(从0开始)
size
false
20
每页多少条记录
mid
false
过滤参数:产品mid
添加FAQ (企业)
POST https://https://console-openapi.hekr.me/api/v1/commonProblem HTTP / 1.1
Authorization : Bearer {JWT_TOKEN}
{
"mid": "IyFauxgNdjFs",
"title": "如何重置设备?",
"content": "长按底座下发黑色凸起按钮3秒钟后即可重置设备"
}
HTTP / 1.1 200 OK
Content-Type : application/json;charset=UTF-8
请求体
参数
类型
是否必须
默认
含义
mid
String
true
产品mid
titile
String
true
问题
content
String
true
答案
修改FAQ(企业)
PUT https://console-openapi.hekr.me/api/v1/commonProblem HTTP / 1.1
Authorization : Bearer {JWT_TOKEN}
{
"id": "5976f0faf50a3c0add5cf8a3",
"mid": "IyFauxgNdjFs",
"title": "如何重置设备?",
"content": "长按底座下发黑色凸起按钮3秒钟后即可重置设备。",
}
HTTP / 1.1 200 OK
Content-Type : application/json;charset=UTF-8
请求体
参数
类型
是否必须
默认
含义
id
String
true
faq id
mid
String
true
产品mid
titile
String
true
问题
content
String
true
答案
删除FAQ(企业)
DEELTE https://console-openapi.hekr.me/api/v1/commonProblem/{id} HTTP/1.1
Authorization: Bearer {JWT_TOKEN}
HTTP / 1.1 200 OK
Content-Type : application/json;charset=UTF-8
请求参数
参数
类型
是否必须
默认
含义
id
String
true
faq id
查询FAQ列表(用户)
GET https://console-openapi.hekr.me/api/v1/commonProblem HTTP / 1.1
X-Hekr-ProdPubKey : {PPK}
Authorization : Bearer {JWT_TOKEN}
HTTP / 1.1 200 OK
Content-Type : application/json;charset=UTF-8
{
"content" : [
{
"id" : "5976ecccf50a3c077de6fc11" ,
"pid" : "01240737641" ,
"mid" : "IyFauxgNdjFs" ,
"title" : "asfd" ,
"content" : "asdfsdf" ,
"updateTime" : 1500966092898
}
],
"last" : true ,
"totalPages" : 1 ,
"totalElements" : 1 ,
"sort" : [
{
"direction" : "DESC" ,
"property" : "updateTime" ,
"ignoreCase" : false ,
"nullHandling" : "NATIVE" ,
"ascending" : false
}
],
"first" : true ,
"numberOfElements" : 1 ,
"size" : 10 ,
"number" : 0 ,
"page" : 1
}
请求头
参数
类型
是否必须
默认
含义
PPK
String
true
产品公共秘钥
titile
String
true
问题
content
String
true
答案
查询广告设置
GET https://console-openapi.hekr.me/api/v1/app/advertising?pid=12345678910 HTTP / 1.1
HTTP / 1.1 200 OK
Content-Type : application/json;charset=UTF-8
[
{
"id" : "5abcced46aa4a026dabb7870" ,
"title" : "test" , // 广告标题
"content" : "https://xxx" , // 广告内容为一个连接
"displayOrder" : 2 , // 显示排序
"createTime" : 1522323156277 ,
"updateTime" : 1522323156277
}
]
请求头
参数
类型
是否必须
默认
含义
pid
String
true
企业ID
根据serverKey获取设备长短码
该接口是方便厂家产测使用,厂家每调用一次该接口,就会得到一个设备相关信息。具体参数信息参见下面说明。
Request
curl -X POST \
--url https://console-openapi.hekr.me/api/v1/product/device/generateByProdKey \
-H "Authorization: key={serverKey}" \
-H "Content-Type: application/json" \
-d '{
"prodKey": "46ae158c0b478ed16128b65d7894eb87"
}'
请求头
参数
类型
是否必须
默认
含义
serverKey
String
true
企业serverKey(个人中心,serverkey中生成)
prodKey
String
true
产品PK
Response
{
"prodKey" : "46ae158c0b478ed16128b65d7894eb87" ,
"devTid" : "3a0a208423f146fca1aaaf1147fdffa6" ,
"devPriKey" : "478c5f5adb123b6f90ab4c4560d219dc" ,
"bindKey" : "f458b8c9ecc54ecc475c51aeb89cd84b" ,
"createTime" : 1529930181963 ,
"shortCode" : "gzab748h" ,
"shortCodePassword" : "B46D15" ,
"qrCode" : "http://www.hekr.me?action=bind&devTid=3a0a208423f146fca1aaaf1147fdffa6&bindKey=f458b8c9ecc54ecc475c51aeb89cd84b" ,
"qrCodeShort" : "bind;gzab748h;B46D15"
}
返回体
参数名字
说明
prodKey
产品PK
devTid
设备devTid
devPriKey
设备私钥
bindKey
设备绑定key
createTime
创建时间(毫秒时间戳)
shortCode
设备短码
shortCodePassword
设备短码密码
qrCode
长码二维码的内容(直接将内容转换成二维码即可)
qrCodeShort
短码二维码内容(直接将内容转换成二维码即可)
长码和短码的区别
长码二维码的内容是基于devTid和bindKey生成的,该二维码内容比较多,二维码尺寸太小可能会造成识别率不高的问题,此时您应该使用短码二维码,该二维码内容是基于短码和短码密码生成的。格式是bind;短码;密码
,一共是4+8+6=18
个数字和英文大小写构成字符,也就是18个字节。另外由于短码比较短,当不需要二维码或者二维码不能识别的时候可以手动输入进行绑定,较长码来说输入更方便。
绑定方式
长码绑定和短码绑定方式不一样,长码绑定方式见这里 ,短码绑定方式参见这里 。同时,短码方式支持更改初始密码 。密码是为了加强设备安全性,比如之前有人扫描了你的二维码内容,那么他可以调用api进行设备绑定(如果允许设备被强行绑定的话),那么你可以修改这个密码,那么已经泄漏的二维码就已经不可用了,不需要担心被其他人绑定。
根据devTid获取长短码信息
Request
curl -X GET \
'https://console-openapi.hekr.me/api/v1/product/device/devTid?devTid=3a0a205316f746fca1aaaf4885fdffa6' \
-H "Authorization: key={serverKey}" \
-H 'Content-Type: application/json'
请求头
参数
类型
是否必须
默认
含义
serverKey
String
true
企业serverKey(个人中心,serverkey中生成)
devTid
String
true
设备devTid
Response
{
"prodKey" : "46ae303c0b400ed16128b65d4223eb87" ,
"devTid" : "3a0a205316f746fca1aaaf4885fdffa6" ,
"devPriKey" : "404c5f5adb484b6f90ab4c5470d219dc" ,
"bindKey" : "f208b8c9ecc54ecc884c51aeb23cd57b" ,
"createTime" : 1529930181963 ,
"shortCode" : "gzab473h" ,
"shortCodePassword" : "B81D67" ,
"qrCode" : "http://www.hekr.me?action=bind&devTid=3a0a205316f746fca1aaaf4885fdffa6&bindKey=f208b8c9ecc54ecc884c51aeb23cd57b" ,
"qrCodeShort" : "bind;gzab473h;B81D67"
}
返回体
参数名字
说明
prodKey
产品PK
devTid
设备devTid
devPriKey
设备私钥
bindKey
设备绑定key
createTime
创建时间(毫秒时间戳)
shortCode
设备短码
shortCodePassword
设备短码密码
qrCode
长码二维码的内容(直接将内容转换成二维码即可)
qrCodeShort
短码二维码内容(直接将内容转换成二维码即可)
根据短码获取长短码信息
Request
curl -X GET \
'https://console-openapi.hekr.me/api/v1/product/device/shortCode?shortCode=gzab473h&shortCodePassword=B81D67' \
-H "Authorization: key={serverKey}" \
-H 'Content-Type: application/json'
请求头
参数
类型
是否必须
默认
含义
serverKey
String
true
企业serverKey(个人中心,serverkey中生成)
shortCode
String
true
设备短码
shortCodePassword
String
true
设备短码密码
Response
{
"prodKey" : "46ae303c0b400ed16128b65d4223eb87" ,
"devTid" : "3a0a205316f746fca1aaaf4885fdffa6" ,
"devPriKey" : "404c5f5adb484b6f90ab4c5470d219dc" ,
"bindKey" : "f208b8c9ecc54ecc884c51aeb23cd57b" ,
"createTime" : 1529930181963 ,
"shortCode" : "gzab473h" ,
"shortCodePassword" : "B81D67" ,
"qrCode" : "http://www.hekr.me?action=bind&devTid=3a0a205316f746fca1aaaf4885fdffa6&bindKey=f208b8c9ecc54ecc884c51aeb23cd57b" ,
"qrCodeShort" : "bind;gzab473h;B81D67"
}
返回体
参数名字
说明
prodKey
产品PK
devTid
设备devTid
devPriKey
设备私钥
bindKey
设备绑定key
createTime
创建时间(毫秒时间戳)
shortCode
设备短码
shortCodePassword
设备短码密码
qrCode
长码二维码的内容(直接将内容转换成二维码即可)
qrCodeShort
短码二维码内容(直接将内容转换成二维码即可)
根据ctrlKey获取设备快照
Request
curl -X POST \
'https://console-openapi.hekr.me/api/v1/device/deviceStatusQuery' \
-H "Authorization: key={serverKey}" \
-d '["xx","xx"]'
请求头
参数
类型
是否必须
默认
含义
serverKey
String
true
企业serverKey(个人中心,serverkey中生成)
ctrlKey
array
true
设备ctrlKey数组
Response
[
{
"devTid" : "01_5c793268aee2fd283917bb289a907" ,
"status" : {
"airSpeed_Set" : {
"currentValue" : 0 ,
"reportTimestamp" : 1529379579660
},
"AutoMidClose" : {
"currentValue" : 0 ,
"reportTimestamp" : 1529067716660
},
"ManualHighOpen" : {
"currentValue" : 0 ,
"reportTimestamp" : 1529067716660
}
}
}
]
返回体
参数名字
说明
devTid
设备devTid
status
设备快照信息
根据prodKey注册设备并获取二维码信息
Request
curl -X POST \
'https://console-openapi.hekr.me/api/v1/device/qrcode' \
-H "Authorization: key={serverKey}" \
-H 'Content-Type: application/json'
请求头
参数
类型
是否必须
默认
含义
prodKey
String
true
产品密钥
devTid
String
true
设备devTid
Response
{
"prodKey" : "af9817a453ec087f21a8cbc0ee46b8a9" ,
"devTid" : "devTidTestbyjiatao01" ,
"bindKey" : "9e21223d22924c89bf9349985442776c" ,
"shortCode" : "gzab4NtG" ,
"shortCodePassword" : "KM62XW" ,
"qrCode" : "http://www.hekr.me?action=bind&devTid=devTidTestbyjiatao01&bindKey=9e21223d22924c89bf9349985442776c" ,
"qrCodeShort" : "bind;gzab4NtG;KM62XW"
}
返回体
参数名字
说明
prodKey
产品PK
devTid
设备devTid
bindKey
设备绑定key
shortCode
设备短码
shortCodePassword
设备短码密码
qrCode
长码二维码的内容(直接将内容转换成二维码即可)
qrCodeShort
短码二维码内容(直接将内容转换成二维码即可)
错误码表
错误码
提示信息
中文释义
8200000
Success
调用成功
8400000
Product does not exist
产品不存在
8400001
Protocol template does not exist
协议模板不存在
8400002
Illegal argument
非法参数
8400003
The param of platform is not illegal. The client should be Android or IOS
平台参数错误;应为Android或IOS
8400004
The pid does not exist
指定pid不存在
8400005
The h5 template does not exist
h5模板不存在
8400028
产品类型错误,目前只支持48产品
8400030
未找到设备长短码信息
8400029
权限错误,无权查看该设备信息
8400031
缺少配额