氦氪云端API文档(C1)

v1.0.0 by xinjie.hou@hekr.me

关键词

C1接口说明

流程说明

注:在需要登陆认证的API中目前有以下2种认证方式, 接口使用中至少需要采用以下一种认证方式:

1.需要依赖cookie, 确保cookie中存在u, _csrftoken_字段, 并在HTTP请求中,需要将此处所用_csrftoken_替换为cookie里面的 _csrftoken_ 数据

2.使用accesskey认证,除(C1-2, C1-14, C1-28); 推荐在不方便使用cookie的场景下使用,使用时需要在请求参数中带上用户的userAccessKey

C1-1 用户登录认证

GET http://login.hekr.me/oauth.htm?type=qq
GET http://login.smartmatrix.mx/oauth.htm?type=g

请求参数

参数名称 是否可选 参数类型 取值范围 说明
type 必选 字符串 qq / weibo / g / tw / weixin / fb 三方登陆类型

返回

C1-2 获取ACCESSKEY

GET http://user.hekr.me/token/generate.json?_csrftoken_=value&type=DEVICE

说明

该api 提供生成或返回访问密钥;密钥分为设备密钥和用户密钥,设备密钥在设备登录时候使用,用户密钥在用户授权登录中使用,例如websocket api中需要提供用户密钥。

该API为每次用户登录(APP/WEB)后进行调用,初次使用会创建对应类型accesskey并初始化该用户档案,若不是初次调用则返回已存在的该类型accesskey.用户获取到accesskey之后才能进行后续的诸如 用户会话终端登录, 绑定设备等操作,和后续的API操作

http header 参数

请求参数

参数名称 是否可选 参数类型 取值范围 说明
type 可选 字符串 DEVICE/USER 不选默认为DEVICE,期望生成(返回)的ak类型
_csrftoken_ 必选 字符串 随机四位数 与cookie中该值保持一致

返回

{
    "uid":"18fcad8f1345510603ef69238ab42b8e",
    "time":1433350988993,
    "type":"DEVICE",
    "token":"aaa"
}

C1-3 列举设备

GET http://user.hekr.me/device/list.json?_csrftoken_=value&accesskey=value

说明

调用该api获取当前用户拥有的设备

http header 参数

请求参数

参数名称 是否可选 参数类型 取值范围 说明
_csrftoken_ 可选 字符串 随机四位数 与cookie中该值保持一致
accesskey 可选 字符串 合法accesskey 用户的userAccessKey

返回

[
    {
    "uid": "293696196962",
    "tid": "RT5350_8F_ASDADSADSAD",
    "online": 1,
    "time": 1425892475758,
    "detail": "(\"pid\" \"1\" \"mid\" \"1\" \"cid\" \"1\" \"provider\" \"LSA\" \"category\" \"yuba\" \"model\" \"\" \"phone\" \"400-826-198600000000\" )",
    "state":"(\"power\" 1)",
    "name":"aaa",
    "fname":"bbb"
    },
    {....}
]

C1-4 隐藏离线设备

GET http://user.hekr.me/device/delete.json?_csrftoken_=value&tid=xxxx&accesskey=value

说明

在用户设备列表界面中,隐藏一个暂不使用的设备选项卡, 当该设备下次上线上报状态和明细后将再度显示

http header 参数

请求参数

参数名称 是否可选 参数类型 取值范围 说明
_csrftoken_ 可选 字符串 随机四位数 与cookie中该值保持一致
tid 必选 字符串 长度不超过64字符的合法tid 待隐藏离线设备tid
accesskey 可选 字符串 合法accesskey 用户的userAccessKey

返回

{
    "code":200,
    "message":"success"
}

C1-5 设备改名

GET http://user.hekr.me/device/rename/{tid}.json?_csrftoken_=value&name=xxxx&accesskey=value

http header 参数

请求参数

参数名称 是否可选 参数类型 取值范围 说明
_csrftoken_ 可选 字符串 随机四位数 与cookie中该值保持一致
tid 必选 字符串 长度不超过64字符的合法tid 待改名设备tid
name 必选 字符串 长度不超过64字符的name 设备改名的名字
accesskey 可选 字符串 合法accesskey 用户的userAccessKey

返回

{
    "code":200,
    "message":"success"
}

C1-6 获取设备名字

GET http://user.hekr.me/device/getName.json?_csrftoken_=xxx&tid=xxxx&accesskey=value

说明

若并没有调用C1-5为设备设定过名字,那么返回的name为 ""

http header 参数

请求参数

参数名称 是否可选 参数类型 取值范围 说明
_csrftoken_ 可选 字符串 随机四位数 与cookie中该值保持一致
tid 必选 字符串 长度不超过64字符的合法tid 期望获取名字的设备tid
accesskey 可选 字符串 合法accesskey 用户的userAccessKey

返回

{
    "code":200,
    "name":"客厅除湿机"
}

C1-7 激活设备(无属主登录情况下需要主动认领设备)

GET http://user.hekr.me/device/activate.json?encryptkey=xxx&ver=1.0&time=xxx&accesskey=value

说明

对于某些设备不方便当场绑定认领的,先使设备以无属主模式登陆云端,随后调用该API进行认领

http header 参数

请求参数

参数名称 是否可选 参数类型 取值范围 说明
encryptkey 必选 字符串 长度不超过64字符 其实就是设备的tid
ver 必选 字符串 合法的版本号 目前只支持1.0
time 必选 时间戳 毫秒时间戳 用户输入设备大概上线时间时间戳,前后5min窗口
accesskey 可选 字符串 合法accesskey 用户的userAccessKey

返回

{
    "code":200,
    "message":"success"
}

C1-8 新增目录

GET http://user.hekr.me/folder/create.json?_csrftoken_=value&name=xxxx&accesskey=value

http header 参数

请求参数

参数名称 是否可选 参数类型 取值范围 说明
_csrftoken_ 可选 字符串 随机四位数 与cookie中该值保持一致
name 必选 字符串 长度不超过64字符的合法name 新增目录名字
accesskey 可选 字符串 合法accesskey 用户的userAccessKey

返回

{
    "code":200,
    "message":"success"
}

C1-9 列举目录

GET http://user.hekr.me/folder/list.json?_csrftoken_=value&accesskey=value

http header 参数

请求参数

参数名称 是否可选 参数类型 取值范围 说明
_csrftoken_ 可选 字符串 随机四位数 与cookie中该值保持一致
accesskey 可选 字符串 合法accesskey 用户的userAccessKey

返回

[
{
    "fid":1,
    "name":"aaa"
},{...}
]

C1-10 删除目录

GET http://user.hekr.me/folder/delete/{fid}.json?_csrftoken_=value&accesskey=value

http header 参数

请求参数

参数名称 是否可选 参数类型 取值范围 说明
_csrftoken_ 可选 字符串 随机四位数 与cookie中该值保持一致
fid 必选 长整型 非0的合法fid 目录id
accesskey 可选 字符串 合法accesskey 用户的userAccessKey

返回参数

{
    "code":200,
    "message":"success"
}

C1-11 重命名目录

GET http://user.hekr.me/folder/rename/{fid}.json?_csrftoken_=value&name=aaaa&accesskey=value

http header 参数

请求参数

参数名称 是否可选 参数类型 取值范围 说明
_csrftoken_ 可选 字符串 随机四位数 与cookie中该值保持一致
fid 必选 长整型 非0的合法fid 目录id
nanme 必选 字符串 长度不超过64字符的合法name 重命名目录名字
accesskey 可选 字符串 合法accesskey 用户的userAccessKey

返回

{
    "code":200,
    "message":"success"
}

C1-12 把设备添加到目录

GET http://user.hekr.me/folder/{fid}/add/{tid}.json?_csrftoken_=value&accesskey=value

http header 参数

请求参数

参数名称 是否可选 参数类型 取值范围 说明
_csrftoken_ 可选 字符串 随机四位数 与cookie中该值保持一致
fid 必选 长整形 非0的合法fid 目录id
tid 必选 字符串 长度不超过64字符的合法tid 设备tid
accesskey 可选 字符串 合法accesskey 用户的userAccessKey

返回

{
    "code":200,
    "message":"success"
}

C1-13 把设备从子目录移到根目录

GET http://user.hekr.me/folder/{fid}/remove/{tid}.json?_csrftoken_=value&accesskey=value

http header 参数

请求参数

参数名称 是否可选 参数类型 取值范围 说明
_csrftoken_ 可选 字符串 随机四位数 与cookie中该值保持一致
fid 必选 长整形 非0的合法fid 目录id
tid 必须 字符串 长度不超过64字符的合法tid 设备tid
accesskey 可选 字符串 合法accesskey 用户的userAccessKey

返回参数

{
    "code":200,
    "message":"success"
}

C1-14 匿名账户

GET http://user.hekr.me/user/guestAccount.json?mobileuuid=xxxx&ver=1.0&nick=aaaa

说明

用户登录时不选择其他三方登录,而是选择本地匿名登陆,通过set cookie来维持该用户的使用

请求参数

参数名称 是否可选 参数类型 取值范围 说明
mobileuuid 必选 字符串 android(imei+imsi)/ios(uuid) 移动端唯一id
nick 可选 字符串 长度不超过10个字符 昵称
ver 必选 字符串 合法版本号 目前只支持1.0

返回

{
    "code":200,
    "u":"k018RfmBjlml/tM6n4pGCSIdsfTOhGiKhbR7dNpkoTaH1JimrnRoGm26gSzSmO7snWpQUqCErOAVA=",
    "isAllowGuestAccount":true,
    "_csrftoken_":"XA1z"
}

C1-15 获取用户名字信息

GET http://user.hekr.me/user/getUserProfile.json?uid=xxx&_csrftoken_=xxx&accesskey=value

说明

uid若不指定则查询自己的名字信息,若指定则查询他人的名字信息, 返回的nick 以氦氪昵称为准,即有hick昵称不为空则返回氦氪昵称,否则返回用户的三方nick,若用户为匿名用户且没设定氦氪昵称,则返回 "". 调用者也可以根据自己的需求选择返回哪个昵称

http header 参数

请求参数

参数名称 是否可选 参数类型 取值范围 说明
_csrftoken_ 可选 字符串 随机四位数 与cookie中该值保持一致
uid 可选 字符串 长度不超过64字符的合法uid uid
accesskey 可选 字符串 合法accesskey 用户的userAccessKey

返回参数

{
    "code":200,
    "uid":"xxxxx"
    "nick":"kjboss",
    "source_nick": "kj021",
    "hekr_nick": "kjboss"
}

C1-16 获取个人配置信息

GET http://user.hekr.me/user/getPreferences.json?accesskey=xxxx&_csrftoken_=xxx

说明

请求参数(假如包含cookie信息和accesskey 优先使用accesskey) accesskey 和 cookie 认证方式二选一

http header 参数

请求参数

参数名称 是否可选 参数类型 取值范围 说明
_csrftoken_ 可选 字符串 随机四位数 如果使用cookie的情况下,该参数必选,与cookie中该值保持一致
accesskey 可选 字符串 合法的accesskey accesskey

返回

{
    "code":200,
    "preferences_json":"",
    "preferences_sexp":""
}

C1-17 保存个人配置信息

POST http://user.hekr.me/user/setPreferences.json?accesskey=xxxx&_csrftoken_=xxx&preferences_json=xxx&preferences_sexp=xxx

说明

请求参数(假如包含cookie信息和accesskey 优先使用accesskey) accesskey 和 cookie 认证方式二选一

开发者可以使用该接口做简单的用户档案存储,存储的档案内容以用户作为维度可以在多设备上共享,例如设定氦氪昵称,则可设置 preferences_json 参数内容为:

{
    "account_name" : "nick", //氦氪昵称
    ... // 其他数据
}

注: 其他定制扩展APP也可以使用该方法逻辑设定内部账号昵称

http header 参数

请求参数

参数名称 是否可选 参数类型 取值范围 说明
_csrftoken_ 可选 字符串 随机四位数 如果使用cookie的情况下,该参数必选,与cookie中该值保持一致
accesskey 可选 字符串 合法的accesskey accesskey
preferences_json 可选 字符串 标准json格式字符串 个人偏好json格式数据
preferences_sexp 可选 字符串 标准s-exp格式字符串 个人偏好sexp格式数据

返回

{
    "code":200,
    "message":"success"
}

C1-18 设备解除绑定

GET http://user.hekr.me/device/clearAccesskey.json?tid=xxxx&_csrftoken_=xxx&accesskey=value

说明

只有在线设备才可以使用该接口,调用该接口后目标设备与调用用户脱离关系,用户将不再拥有、不能够操作该设备

http header 参数

请求参数

参数名称 是否可选 参数类型 取值范围 说明
_csrftoken_ 可选 字符串 随机四位数 与cookie中该值保持一致
tid 必选 字符串 长度不超过64字符的合法tid 设备tid
accesskey 可选 字符串 合法accesskey 用户的userAccessKey

返回

{
    "code":200,
    "message":"success"
}

C1-19 用户授权设备

GET http://user.hekr.me/auth/authDevice.json?tid=xxxx&_csrftoken_=xxx&grant_uid=xxx&desc=xxx&accesskey=value

说明

授权用户将某个设备授权给另外一个用户,之后,被授权用户将得到与授权用户一样的设备视图,并具备除除以下行为中的所有授权用户可操作权限集合: 删除或修改授权用户创建的 定时(预约)任务事件规则 不可以再将该设备授权给其他人,也就是说授权关系不能传递

http header 参数

请求参数

参数名称 是否可选 参数类型 取值范围 说明
_csrftoken_ 可选 字符串 随机四位数 与cookie中该值保持一致
accesskey 可选 字符串 合法accesskey 用户的userAccessKey
tid 必选 字符串 长度不超过64字符的合法tid 授权设备tid
grant_uid 必选 字符串 合法存在的uid 被授权者uid
desc 可选 字符串 长度不超过255的字符串 授权描述
expire_time 可选 UNIX_TIME UNIX_TIME 授权过期时间,设置0为不失效,默认不失效

返回

{
    "code":200,
    "message":"success"
}

C1-20 用户解除授权设备关系

GET http://user.hekr.me/auth/deauthDevice.json?from_uid=xxxx&tid=xxxx&_csrftoken_=xxx&grant_uid=xxx&accesskey=value

说明

该接口可以是设备所有者(属主)调用,也可以是被授权用户调用 其中当属主调用时,grant_uid不为空的时候,则取消该设备对该授权用户的授权关系;为空的时候则取消该设备对所有授权用户的授权关系。 当被授权者调用时,grant_uid 不得为空,这个时候是被授权用户主动取消该设备的授权关系

http header 参数

请求参数

参数名称 是否可选 参数类型 取值范围 说明
_csrftoken_ 可选 字符串 随机四位数 与cookie中该值保持一致
accesskey 可选 字符串 合法accesskey 用户的userAccessKey
tid 必选 字符串 长度不超过64字符的合法tid 授权设备tid
from_uid 必选 字符串 合法存在的uid 该授权关系中授权者uid
grant_uid 可选 字符串 合法存在的uid 被授权者uid

返回

{
    "code":200,
    "message":"success"
}

C1-21 授权设备列表

GET http://user.hekr.me/auth/listAuth.json?tid=xxx&_csrftoken_=xxx&accesskey=value

说明

该接口返回调用用户在该设备上授权给其他人的详细信息

http header 参数

请求参数

参数名称 是否可选 参数类型 取值范围 说明
_csrftoken_ 可选 字符串 随机四位数 与cookie中该值保持一致
accesskey 可选 字符串 合法accesskey 用户的userAccessKey
tid 必选 字符串 长度不超过64字符的合法tid 授权设备tid

返回

[
    {
        "uid":"xxxx",
        "uid_nick": "xxxx",
        "uid_account_name" : "xxxx",
        "tid":"xxxx",
        "grant_uid":"xxxx",
        "grant_uid_nick":"xxxx",
        "grant_account_name" : "xxxx",
        "operation":"",
        "expire_time":1437308032,
        "desc":""
    },
    {
        "uid":"xxxx",
        "uid_nick":"xxx",
        "uid_account_name": "xxx",
        "tid":"xxxx",
        "grant_uid":"xxbbxx",
        "grant_uid_nick":"xxx",
        "grant_account_name" : "xxx",
        "operation":"",
        "expire_time":0,
        "desc":""
    }
]

C1-22 创建事件规则

POST http://user.hekr.me/rule/createEvent.json?tid=xxx&rulename=xxxx&_csrftoken_=xxx&executecode=xxx&accesskey=value

http header 参数

请求参数

参数名称 是否可选 参数类型 取值范围 说明
_csrftoken_ 可选 字符串 随机四位数 与cookie中该值保持一致
accesskey 可选 字符串 合法accesskey 用户的userAccessKey
tid 必选 字符串 长度不超过64字符的合法tid 授权设备tid
rulename 必选 字符串 长度不超过64个字符 规则名字
executecode 必选 字符串 长度不超过255个字符的合法s-exp 事件执行代码
desc 可选 字符串 长度不超过255个字符 详细说明,描述

返回

{
    "code":200,
    "message":"success",
    "value" :
    {
        "...": "..." // 创建的规则信息
    }
}

C1-23 列举规则

GET http://user.hekr.me/rule/list.json?_csrftoken_=xxx&ruleid=xxx&accesskey=value

说明

若指定ruleid则返回该条规则详情,否则该用户返回所有的规则

http header 参数

请求参数

参数名称 是否可选 参数类型 取值范围 说明
_csrftoken_ 可选 字符串 随机四位数 与cookie中该值保持一致
accesskey 可选 字符串 合法accesskey 用户的userAccessKey
ruleid 可选 长整型 长整型 规则id

返回参数

[{
"id",
"rulename":"xxxxx",
"executecode":"",
"type":"",
"tid": "",
"timezoneoffset": xx,
"cronexpr": "",
"desc" : "",
"createtime": "2015-09-10 22:00:00",
"modifytime": "2015-09-20 15:00:00",
"starttime" : 1442678400000,
"endtime": 1492678400000
},{...}
]

C1-24 修改事件规则

POST http://user.hekr.me/rule/updateEvent.json?_csrftoken_=xxx&ruleid=xxx&tid=xxx&executecode=xxx&desc=xxxx&accesskey=value

说明

修改用户自己创建的事件规则

http header 参数

请求参数

参数名称 是否可选 参数类型 取值范围 说明
_csrftoken_ 可选 字符串 随机四位数 与cookie中该值保持一致
accesskey 可选 字符串 合法accesskey 用户的userAccessKey
ruleid 必选 长整型 长整型 待修改规则id
tid 必选 字符串 长度不超过64字符的合法tid 授权设备tid
executecode 可选 字符串 长度不超过255个字符的合法s-exp 事件执行代码
desc 可选 字符串 长度不超过255个字符 详细说明,描述

返回

{
    "code":200,
    "message":"success"
}

C1-25 删除规则

GET http://user.hekr.me/rule/remove.json?_csrftoken_=xxx&ruleid=xxx&tid=xxx&accesskey=value

说明

删除用户自己创建的事件规则

http header 参数

请求参数

参数名称 是否可选 参数类型 取值范围 说明
_csrftoken_ 可选 字符串 随机四位数 与cookie中该值保持一致
accesskey 可选 字符串 合法accesskey 用户的userAccessKey
ruleid 必选 长整型 长整型 待修改规则id
tid 必选 字符串 长度不超过64字符的合法tid 授权设备tid

返回

{
    "code":200,
    "message":"success"
}

C1-26 创建定时/计划任务规则

POST http://user.hekr.me/rule/createScheduler.json?rulename=xxxx&_csrftoken_=xxx&executecode=xxx&accesskey=value

说明

氦氪云后台会启动定时任务,时间到达后会调用E4-4 setTimer下发对应的执行逻辑代码,时间将近到达会下发延时任务;

字段允许值允许的特殊字符
0-59, - * /
小时0-23, - * /
日期1-31, - * ? / L W C
月份1-12, - * /
星期1-7, - * ? / L C #
年(可选)留空, 1970-2099, - * /

'*' 字符可以用于所有字段,在“分”字段中设为"*"表示"每一分钟"的含义。

'?' 字符可以用在“日”和“周几”字段. 它用来指定 '不明确的值'. 这在你需要指定这两个字段中的某一个值而不是另外一个的时候会被用到。在后面的例子中可以看到其含义。

'-' 字符被用来指定一个值的范围,比如在“小时”字段中设为"10-12"表示"10点到12点".

',' 字符指定数个值。比如在“周几”字段中设为"MON,WED,FRI"表示"the days Monday, Wednesday, and Friday".

'/' 字符用来指定一个值的的增加幅度. 比如在“秒”字段中设置为"0/15"表示"第0, 15, 30, 和 45秒"。而 "5/15"则表示"第5, 20, 35, 和 50". 在'/'前加"*"字符相当于指定从0秒开始. 每个字段都有一系列可以开始或结束的数值。对于“秒”和“分”字段来说,其数值范围为0到59,对于“小时”字段来说其为0到23, 对于“日”字段来说为0到31, 而对于“月”字段来说为1到12。"/"字段仅仅只是帮助你在允许的数值范围内从开始"第n"的值。 因此对于“月”字段来说"7/6"只是表示7月被开启而不是“每六个月”, 请注意其中微妙的差别。

'L'字符可用在“日”和“周几”这两个字段。它是"last"的缩写, 但是在这两个字段中有不同的含义。例如,“日”字段中的"L"表示"一个月中的最后一天" —— 对于一月就是31号对于二月来说就是28号(非闰年)。而在“周几”字段中, 它简单的表示"7" or "SAT",但是如果在“周几”字段中使用时跟在某个数字之后, 它表示"该月最后一个星期×" —— 比如"6L"表示"该月最后一个周五"。当使用'L'选项时,指定确定的列表或者范围非常重要,否则你会被结果搞糊涂的。

'W' 可用于“日”字段。用来指定历给定日期最近的工作日(周一到周五) 。比如你将“日”字段设为"15W",意为: "离该月15号最近的工作日"。因此如果15号为周六,触发器会在14号即周五调用。如果15号为周日, 触发器会在16号也就是周一触发。如果15号为周二,那么当天就会触发。然而如果你将“日”字段设为"1W", 而一号又是周六, 触发器会于下周一也就是当月的3号触发,因为它不会越过当月的值的范围边界。'W'字符只能用于“日”字段的值为单独的一天而不是一系列值的时候。

'L'和'W'可以组合用于“日”字段表示为'LW',意为"该月最后一个工作日"。

'#' 字符可用于“周几”字段。该字符表示“该月第几个周×”,比如"6#3"表示该月第三个周五( 6表示周五而"#3"该月第三个)。再比如: "2#1" = 表示该月第一个周一而 "4#5" = 该月第五个周三。注意如果你指定"#5"该月没有第五个“周×”,该月是不会触发的。

'C' 字符可用于“日”和“周几”字段,它是"calendar"的缩写。它表示为基于相关的日历所计算出的值(如果有的话)。如果没有关联的日历, 那它等同于包含全部日历。“日”字段值为"5C"表示"日历中的第一天或者5号以后",“周几”字段值为"1C"则表示"日历中的第一天或者周日以后"。

对于“月份”字段和“周几”字段来说合法的字符都不是大小写敏感的。

下面是一些完整的例子:

表达式                   含义
"0 0 12 * * ?"          每天中午十二点触发
"0 15 10 ? * *"         每天早上10:15触发
"0 15 10 * * ?"         每天早上10:15触发
"0 15 10 * * ? *"       每天早上10:15触发
"0 15 10 * * ? 2005"    2005年的每天早上10:15触发
"0 * 14 * * ?"          每天从下午2点开始到2点59分每分钟一次触发
"0 0/5 14 * * ?"        每天从下午2点开始到2:55分结束每5分钟一次触发
"0 0/5 14,18 * * ?"     每天的下午2点至2:55和6点至6点55分两个时间段内每5分钟一次触发
"0 0-5 14 * * ?"        每天14:00至14:05每分钟一次触发
"0 10,44 14 ? 3 WED"    三月的每周三的14:10和14:44触发
"0 15 10 ? * MON-FRI"   每个周一、周二、周三、周四、周五的10:15触发
"0 15 10 15 * ?"        每月15号的10:15触发
"0 15 10 L * ?"         每月的最后一天的10:15触发
"0 15 10 ? * 6L"        每月最后一个周五的10:15触发
"0 15 10 ? * 6L"        每月最后一个周五的10:15触发
"0 15 10 ? * 6L 2002-2005"      2002年至2005年的每月最后一个周五的10:15触发
"0 15 10 ? * 6#3"       每月的第三个周五的10:15触发

http header 参数

请求参数

参数名称 是否可选 参数类型 取值范围 说明
_csrftoken_ 可选 字符串 随机四位数 与cookie中该值保持一致
accesskey 可选 字符串 合法accesskey 用户的userAccessKey
rulename 必选 字符串 长度不超过64字符 期望创建规则的名字
tid 必选 字符串 长度不超过64字符的合法tid 授权设备tid
executecode 必选 字符串 长度不超过255个字符的合法s-exp 执行代码
timeZoneOffset 必选 整型 [-720,720] UTC时间的时区偏移量,以分钟为单位,例如UTC+8则为480
cronexpr 必选 字符串 Quartz Cron表达式 任务计划执行 Quartz Cron表达式
starttime 可选 长整型 长整型 毫秒时间戳,任务计划执行时间
endtime 可选 长整型 长整型 毫秒时间戳,任务计划执行完毕时间
desc 可选 字符串 长度不超过255个字符 详细说明,描述

注意:timeZoneOffset UTC时间的时区偏移量,标识该任务的时区偏移信息,以分钟为单位(例如中国时区为UTC+8,以分钟为单位,那么值为480),实际调度以服务器的UTC时间为准.参考示例 enter image description here

返回

{
    "code":200,
    "message":"success",
    "value" :
    {
        "...": "..." // 创建的规则信息
    }
}

C1-27 修改定时/计划任务规则

POST http://user.hekr.me/rule/updateScheduler.json?ruleid=xxxx&_csrftoken_=xxx&executecode=xxx&accesskey=value

说明

注:修改定时任务时若指定了disable参数那么其他参数的更改将不做生效

http header 参数

请求参数

参数名称 是否可选 参数类型 取值范围 说明
_csrftoken_ 可选 字符串 随机四位数 与cookie中该值保持一致
accesskey 可选 字符串 合法accesskey 用户的userAccessKey
ruleid 必选 长整型 长整型 规则id
tid 必选 字符串 长度不超过64字符的合法tid 授权设备tid
rulename 可选 字符串 长度不超过64字符 期望修改规则的名字
executecode 可选 字符串 长度不超过255个字符的合法s-exp 事件执行代码
timeZoneOffset 可选 整形 [-720,720] UTC时间的时区偏移量,以分钟为单位,例如UTC+8则为480
cronexpr 可选 字符串 Quartz Cron表达式 任务计划执行 Quartz Cron表达式
starttime 可选 长整型 长整型 毫秒时间戳,任务计划执行时间
endtime 可选 长整型 长整型 毫秒时间戳,任务计划执行完毕时间
desc 可选 字符串 长度不超过255个字符 详细说明,描述
disable 可选 整型 0/1 是否禁用此规则, 1表示禁用(disbale), 0 表示启用(enable)

返回

{
"code":200,
"message":"success"
}

C1-28 取消用户的某个accesskey

GET http://user.hekr.me/token/disableToken.json?_csrftoken_=xxx&accesskey=xxx

说明

调用后该用户这个ak将会被清空,待下次调用c1-2后会生成新的ak 假如取消deviceAccesskey的话, 设备需要重新绑定

http header 参数

请求参数

参数名称 是否可选 参数类型 取值范围 说明
_csrftoken_ 必选 字符串 随机四位数 与cookie中该值保持一致
accessKey 必选 字符串 合法accesskey 待取消的userAccesskey/deviceAccesskey

返回参数

{
    "code":200,
    "message":"success"
}

C1-29 获取用户的告警信息详情

GET http://user.hekr.me/user/warningDetail.json?_csrftoken_=value&id=xxx&tid=xxx&count=xxx&accesskey=value

http header 参数

请求参数

参数名称 是否可选 参数类型 取值范围 说明
_csrftoken_ 可选 字符串 随机四位数 与cookie中该值保持一致
accesskey 可选 字符串 合法accesskey 用户的userAccessKey
msgIdList 可选 字符串 不大于512字符 期待获取详细信息的警告id列表,用逗号分隔
tid 可选 字符串 不大于64字符 设备唯一标示
count 必选 整型 整型 一次性获取告警信息条数的最大数目(如果id参数有指定,且数目大于count,实际返回数目也以count为准)

返回

[{
"tid":xxxx,
"msg_id" : "xxxx",
"report_time":xxxxx,
"warning_tag":"",
"warning_content":"",
},{...}
]

C1-30 获取用户设备统计数据详情

GET http://user.hekr.me/user/getStatistics.json?_csrftoken_=value&starttime=xxx&endtime=xxx&method=xx&dataTagIndex=xxx&tid=xxx&accesskey=value

说明

注: starttime 和 endtime 直接最小时间间隔应在10分钟以上,否则展现数据画图并无意义

http header 参数

请求参数

参数名称 是否可选 参数类型 取值范围 说明
_csrftoken_ 可选 字符串 随机四位数 与cookie中该值保持一致
accesskey 可选 字符串 合法accesskey 用户的userAccessKey
starttime 必选 UNIX_TIME UNIX_TIME 统计开始时间
endtime 必选 UNIX_TIME UNIX_TIME 统计结束时间
method 必选 字符串 all/avg/sum/min/max/count 使用统计方法,其中all代表其他五种运算都执行
tid 必选 字符串 不大于64字符 设备唯一标示
datatagindex 必选 整型 合法数据种类编号 统计设备数据的种类编号

返回

{
"scale":xxx,
"interval" : xxxx,
"value" : [
{
    "max" : xxx,
    "min" : xxx,
    "sum" : xxx,
    "avg" : xxx,
    "count" : xxx,
    "time" : xxxxx
}, {....},
]
}

C1-31 个推信道注册

GET http://user.hekr.me/user/registerGeXinChannel.json?_csrftoken_=value&tid=xx&gtappid=xx&gtcid=xxx&ostype=xx&accesskey=value

http header 参数

请求参数

参数名称 是否可选 参数类型 取值范围 说明
_csrftoken_ 可选 字符串 随机四位数 与cookie中该值保持一致
accesskey 可选 字符串 合法accesskey 用户的userAccessKey
tid 必选 字符串 不大于64字符 设备唯一标示
gtappid 必选 字符串 合法appid 手机客户端在个推平台注册登记应用后,生成的AppID
gtcid 必选 字符串 合法gtcid app在初始化个推客户端SDK时,从个推平台获取的cid,注意:该参数,android客户端填写从个推平台获取的cid,IOS客户端填写从苹果服务器获取的DeviceToken
ostype 必须 整型 1/2/3 设备os类型 1.安卓 2.苹果 3.WinPhone

返回

{
    "code":200,
    "message":"success"
}

C1-32 个推信道注销

GET http://user.hekr.me/user/unRegisterGeXinChannel.json?_csrftoken_=value&tid=xx&gtappid=xx&gtcid=xxx&ostype=xx&accesskey=value

http header 参数

请求参数

参数名称 是否可选 参数类型 取值范围 说明
_csrftoken_ 可选 字符串 随机四位数 与cookie中该值保持一致
accesskey 可选 字符串 合法accesskey 用户的userAccessKey
tid 必选 字符串 不大于64字符 设备唯一标示
gtappid 必选 字符串 合法appid 手机客户端在个推平台注册登记应用后,生成的AppID

返回

{
    "code":200,
    "message":"success"
}

C1-33 触发型规则运行快照

GET http://user.hekr.me/athena/ruleInExecuteInfo.json?_csrftoken_=value&tid=xx&ruleid=xx&accesskey=value

http header 参数

请求参数

参数名称 是否可选 参数类型 取值范围 说明
_csrftoken_ 可选 字符串 随机四位数 与cookie中该值保持一致
accesskey 可选 字符串 合法accesskey 用户的userAccessKey
tid 必选 字符串 不大于64字符 设备唯一标示
ruleid 必选 长整形 存在的规则id 查看的事件性规则id

返回

    {
        "code":200,
        "message":"success",
        "errorDesc": "succeed",
        "isDeliverd":1,
        "lastTriggerTime":1446534790736,"
        "executeRet":1,
    }

C1-34 触发型规则执行历史记录

GET http://user.hekr.me/athena/triggerRecord.json?_csrftoken_=value&tid=xx&ruleid=xx&startTime=value&endTime=value&count=value&accesskey=value

http header 参数

请求参数

参数名称 是否可选 参数类型 取值范围 说明
_csrftoken_ 可选 字符串 随机四位数 与cookie中该值保持一致
accesskey 可选 字符串 合法accesskey 用户的userAccessKey
tid 必选 字符串 不大于64字符 设备唯一标示
ruleid 必选 长整形 存在的规则id 查看的事件性规则id
startTime 可选 长整形 合法毫秒时间戳 时间范围,起始
endTime 可选 长整形 合法毫秒时间戳 时间范围,结束
count 可选 整数 [0,50] 查询数量,最大支持50(超过默认使用50)

返回

    [{
        "code":"(if (> power 1) (quote (turn-on)))",
        "currentQuota":498,
        "errorDesc":"succeed",
        "id":1675,
        "isDelivered":1,
        "reportTime":"2015-11-03 15:13:10",
        "reportTimestamp":1446534790736,
        "ret":1,
        "ruleid":823,
        "tid":"faketid1",
        "uid":"2dc623a83dfb1884ad7374afdd76f3e9"},
...]

C1-35 Mobile Login API interface

GET http://login.hekr.me/m_login.htm?oauthid=C4CA4238A0B923820DCC509A6F75849B&type=weibo&context=2JVo%2F6DeuKdjmkhlmHJ58kzW%2F0MrK0F75L8OKup5qgFkO02nwhoExGa%2FwIU9zkm1719OmHu%2B96Ma%0D%0AjN5AJYkDhWNWKx54fAczIAUay2C4ddkkEnoSQ%2BVKykJhFJBWB6ZpYPt6cJbmKHNyJbJDG7bKqRW4%0D%0AXeBfRcL5YM2prLPgtHtJ76qakexUBq46VXLCXGkzFjxLjGsBwoKkpyIQ4d2NmMRON36PHjEBA2Tv%0D%0AExT8yPBd4MYUtJe%2FDND17WcDAl7J0eGylZxqf8k%3D  

请求参数

参数名称 是否可选 参数类型 取值范围 说明
oauthid 可选 字符串 oauth项目ID
type 必选 字符串 qq/weibo/google/twitter/weixin/facebook oauth接口类型
context 必选 字符串 oauth接口callback后加密内容
oauthid oauth项目ID,可在poseidon中创建获得,每个oauth项目ID都具有唯一性。如果值为空或没有使用该参数则使用Hekr默认的oauth接口。
type 目前仅支持qq/weibo/google/twitter/weixin/facebook的oauth2.0接口,有其他接口需求请联系HEKR售前、后人员。
context oauth接口callback后将返回参数内容 (raw) 和oauth接口类型 (type) 还有oauth项目id (oauthid) 组合成为json格式。
{"type": "weibo","oauthid": "C4CA4238A0B923820DCC509A6F75849B", "raw":"{\"access_token\":\"2.00iIGD4CXiJCvCc5432bc7a6ugDjeB\",\"remind_in\":\"616692\",\"expires_in\":616692,\"uid\":\"2172859980\"}"}

type为请求参数中的type
oauthid为请求参数中的oauthid,如果打算使用hekr默认的oauth接口,则值留空(注意,不是null,只留双引号即可"")
例如:
{"type": "weibo","oauthid": "", "raw":"{\"access_token\":\"2.00iIGD4CXiJCvCc5432bc7a6ugDjeB\",\"remind_in\":\"616692\",\"expires_in\":616692,\"uid\":\"2172859980\"}"}
raw参数内容是将oauth接口callback返回回来的内容转换成为json格式数据

通过DES加密算法使用OAUTH项目创建时提供的apikey加密后得到的值,再通过base64编码并且再进行一次URLEncoder.encode后即可提交。

需要注意的是,如果只使用hekr默认的oauth接口,是不需要对context的值进行DES加密的,直接进行base64编码后再进行一次URLEncoder.encode后即可提交。

说明

参数进行提交由hekr的mobile login api接口验证通过后会有一次302跳转至http://login.hekr.me/success.htm进行跨域cookie同步。 cookie中会包含有当前用户在hekr服务器中的uid与登陆验证信息u,可用于登陆HEKR云端服务器。