From 7c670ef83098bb26713ffcaf53b2fab37fe4a034 Mon Sep 17 00:00:00 2001 From: strawmanbobi Date: Tue, 15 Nov 2016 19:58:17 +0800 Subject: [PATCH] removed help doc --- src/web_console/web/doc/index.html | 5529 ---------------------------- 1 file changed, 5529 deletions(-) delete mode 100644 src/web_console/web/doc/index.html diff --git a/src/web_console/web/doc/index.html b/src/web_console/web/doc/index.html deleted file mode 100644 index fe6f5b1..0000000 --- a/src/web_console/web/doc/index.html +++ /dev/null @@ -1,5529 +0,0 @@ - - - - - - - - - - - UCON服务器逻辑接口文档 V2.4 - - - - - - -
- -
- -
- -
-

概述

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- 无兼容性说明 -
- 2015-02-02:创建文档 V1.0版本 -
- 2015-02-13:修改到 V1.1版本 -
- 2015-03-02:修改到 V1.2版本 -
- 2015-03-12:修改到 V1.3版本,增加遥控器实例表,区别于遥控器模式 -
- 2015-03-15:修改到 V1.4版本,增加蓝牙相关说明文档 -
- 2015-03-20:修改到 V1.5版本,增加遥控器侧数据存储空间映射文档 -
- 2015-05-12:修改到 V1.6版本,修复了前期没考虑设备实例数据结构的问题 -
- 2015-05-30:修改到 V1.7版本,增加预约功能接口定义 -
- 2015-06-25:修改到 V1.8版本,增加预约数据结构定义,修正其它数据结构定义 -
- 2015-07-03:修改到 V1.9版本,修正部分错误 -
- 2015-07-12:修改到 V1.10版本,更改预约接口及流程 -
- 2015-12-28:修改到 V1.11版本,补充了后续增加的APP和底座调用接口,补充了家电遥控数据结构,引入了码库版本区间字段,追加版本同步接口 -
- 2016-01-21:修改到 V1.12版本,增加了动态开关接口;升级了LCD点阵获取方法 -
- 2016-02-19:修改到 V1.13版本,增加了遥控器实例上的2个字段及相关更新操作 -
- 2016-03-02:修改到 V1.14版本,增加用户系统接口 -
- 2016-03-31:修改到 V2.0版本,增加了TAG说明,修改了预约的数据结构 -
- 2016-04-18:修改到 V2.1版本,增加了空中升级记录功能接口 -
- 2016-05-05:修改到 V2.2版本,增加了用户快速寻回配置接口 -
- 2016-05-21:修改到 V2.3版本,增加了消息推送部分说明 -
- 2016-06-12:修改到 V2.4版本,为SIRIUS增加房间相关接口 -
- 2016-08-18:修改到 V2.5.1版本,为SIRIUS增加遥控器关联接口 -
- 提示:调试时请在测试环境下进行! -
-
-

运行环境

- - - - - - - - - - - - - - - - - - - - - -
WebService服务器测试环境URLhttp://irextdev.wicp.net:8200
WebService服务器生产环境URLhttp://api.irext.com.cn:8200
工厂服务器URLhttp://192.168.1.100
Query参数示例http://irextdev.wicp.net:8200/irext/device/get_device_by_id?device_id=1 -
Form参数示例http://irextdev.wicp.net:8200/irext/device/register_device?password=098f6bcd4621d373cade4e83&op_flag=0x01
- 表单参数: { name: 'irext-XXXXX', pdsn: 'P000000000000001', ip_address: '192.168.1.101', version: '1.0.0' } -
-
-

API接口定义

-

设备相关接口

- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
生成设备密码
服务器工厂服务器 (测试阶段请使用测试服务器)
URL/irext/device_validation/create_device_validation
请求类型POST
输入参数 - - - - - - - - - - - -
名称类型说明
pdsnQuery设备PDSN
-
返回值SingleDeviceValidationResponse
- 可能的返回状态: SUCCESS, FAILED
- 数据结构: DeviceValidation -
示例http://irextdev.wicp.net:8200/irext/device_validation/create_device_validation?pdsn=P000000000000001 -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
设备注册
服务器主服务器
URL/irext/device/register_device
请求类型POST
输入参数 - - - - - - - - - - - - - - - - - - - - - -
名称类型说明
op_flagQuery初始化操作flag
passwordQuery密码(MD5散列报文,在生产出厂时由工厂模式程序配置并保存)
deviceFormDevice对象
-
返回值SingleDeviceResponse
- 可能的返回状态: SUCCESS, FAILED, DEVICE_VALIDATING_FAILED
- 数据结构: Device -
示例http://irextdev.wicp.net:8200/irext/device/register_device?op_flag=0x01&password=098f6bcd4621d373cade4e83
- 表单参数(newDevice): { "pdsn" : "P000000000000001", "name" : "irext-XXXXXX", "ip_address" : "192.168.1.102", "version" : "1.1.0" } -
建议和备注 - 0. 输入参数中的Device对象为表单(Form)参数,op_flag和password为URL参数,文档中其它指明表单参数处均如此
- 1. 密码散列使用32字节MD5算法, 密码报文文本长度小于等于32字节
- 2. SingleDeviceResponse返回到客户端的id和token需要客户端保存, token有效期(TTL)为7天, token会保存在Device类型的token成员中
- 3. token过期之后, 在调用其它API时, 返回值的status为AUTHENTICATION_FAILURE (code: 103), 此时建议客户端做后台静默登录
- 4. 客户端发起注册请求时各返回值意义: SUCCESS-注册成功; DEVICE_ALREADY_REGISTERED:-此设备(PDSN)已被注册; FAILED-其它失败 -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
更新设备信息
服务器主服务器
URL/irext/device/update_device_by_pdsn
请求类型POST
输入参数 - - - - - - - - - - - - - - - - - - - - - -
名称类型说明
pdsnQuery设备SN
tokenQuery设备注册换取的token
newDeviceFormDevice对象
-
返回值SingleDeviceResponse
- 可能的返回状态: SUCCESS, FAILED, AUTHENTICATION_FAILURE
- 数据结构: Device -
示例http://irextdev.wicp.net:8200/irext/device/update_device_by_pdsn?token=098f6bcd4621d373cade4e83&psdn=P000000000000001
- 表单参数(newDevice): { "name" : "irext-XXXXXX", "ip_address" : "192.168.1.102", "version" : "1.1.0" }
- 数据结构: Device -
建议和备注
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
根据SN查询设备
服务器主服务器
URL/irext/device/get_device_by_pdsn
请求类型GET
输入参数 - - - - - - - - - - - -
名称类型说明
pdsnQuery设备SN
-
返回值SingleDeviceResponse
- 可能的返回状态: SUCCESS, FAILED
- 数据结构: Device -
示例/irext/device/get_device_by_pdsn?pdsn=P000000000000001
-
建议和备注后台查询可能匹配到多个Device,默认返回最新的一个 -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
创建设备实例
服务器主服务器
URL/irext/device/create_device_instance
请求类型POST
输入参数 - - - - - - - - - - - -
名称类型说明
device_instanceFormDeviceInstance对象
-
返回值SingleDeviceInstanceResponse
- 可能的返回状态: SUCCESS, FAILED, DEVICE_VALIDATING_FAILED
- 数据结构: DeviceInstance -
示例http://irextdev.wicp.net:8200/irext/device/create_device_instance
- 表单参数(newDeviceInstance): { "pdsn" : "P000000000000001", "name" : "irext-XXXXXX", "ip_address" : "192.168.1.102", "version" : "V1.0.0", "mobile_id": "2" } -
建议和备注 -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
修改设备实例
服务器主服务器
URL/irext/device/update_device_instance
请求类型POST
输入参数 - - - - - - - - - - - - - - - - - - - - - -
名称类型说明
pdsnQuery设备SN
tokenQuery设备注册换取的token
device_instanceFormDeviceInstance对象
-
返回值SingleDeviceInstanceResponse
- 可能的返回状态: SUCCESS, FAILED, DEVICE_VALIDATING_FAILED
- 数据结构: DeviceInstance -
示例http://irextdev.wicp.net:8200/irext/device/update_device_instance?pdsn=P000000000000001&token=098f6bcd4621d373cade4e83
- 表单参数(newDeviceInstance): { "name" : "我的底座", "ip_address" : "192.168.1.102", "version" : "V1.0.0", "mobile_id": "xxxxxxxxxx", "user_open_id" : "wx_123456789", "user_name" : "strawmanbobi:" } -
建议和备注 - 1. 建议APP侧只修改name和mobile_id字段 - 2. 加入微信登录之后,也需要修改user_open_id和user_name字段 -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
根据mobile ID查询设备实例
服务器主服务器
URL/irext/device/list_device_instances
请求类型GET
输入参数 - - - - - - - - - - - -
名称类型说明
mobile_idQuery移动终端ID
-
返回值DeviceInstanceResponse
- 可能的返回状态: SUCCESS, FAILED
- 数据结构: DeviceInstance -
示例/irext/device/list_device_instances?mobile_id=2
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
根据PDSN和Mobile ID获取和终端绑定的单个设备对象
服务器主服务器
URL/irext/device/get_device_instance
请求类型GET
输入参数 - - - - - - - - - - - - - - - - -
名称类型说明
mobile_idQuery移动终端ID
pdsnQuery设备SN
-
返回值DeviceInstanceResponse
- 可能的返回状态: SUCCESS, FAILED
- 数据结构: DeviceInstance -
示例/irext/device/get_device_instance?mobile_id=xxxxxx&pdsn=P000000000000001
-
-
- -

遥控器索引相关接口

- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
获取遥控器(家电)类型列表
服务器主服务器
URL/irext/remote/list_categories
请求类型GET
输入参数 - - - - - - - - - - - - - - - - - - - - - -
名称类型说明
fromQuery查询开始的ID号,用作分页,无分页时请指定为0
countQuery每页显示的条目数量,由客户端自定义
pdsnQuery遥控器的PDSN,可以为空
-
返回值CategoryResponse
- 可能的返回状态: SUCCESS, FAILED
- 数据结构: List<Category> -
示例http://irextdev.wicp.net:8200/irext/remote/list_categories?from=0&count=20&pdsn=S000000000000001
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
获取遥控器(家电)品牌列表
服务器主服务器
URL/irext/remote/list_brands
请求类型GET
输入参数 - - - - - - - - - - - - - - - - - - - - - - - - - - -
名称类型说明
category_idQuery该品牌所述的电器类型(Category) ID
fromQuery查询开始的ID号,用作分页,无分页时请指定为0
countQuery每页显示的条目数量,由客户端自定义
pdsnQuery遥控器的PDSN,可以为空
-
返回值BrandResponse
- 可能的返回状态: SUCCESS, FAILED
- 数据结构: List<Brand> -
示例http://irextdev.wicp.net:8200/irext/remote/list_brands?category_id=1&from=0&count=20&pdsn=S000000000000001
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
获取遥控器(家电)流行品牌列表
服务器主服务器
URL/irext/remote/list_popular_brands
请求类型GET
输入参数 - - - - - - - - - - - - - - - - -
名称类型说明
category_idQuery该品牌所述的电器类型(Category) ID
pdsnQuery遥控器的PDSN,可以为空
-
返回值BrandResponse
- 可能的返回状态: SUCCESS, FAILED
- 数据结构: List<Brand> -
示例http://irextdev.wicp.net:8200/irext/remote/list_popular_brands?category_id=1&pdsn=S000000000000001
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
获取遥控器索引列表(用于码表下载模式)
服务器主服务器
URL/irext/remote/list_remote_indexes
请求类型GET
输入参数 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
名称类型说明
category_idQuery该品牌所述的电器类型(Category) ID
brand_idQuery该品牌所述的电器品牌(Brand) ID
city_codeQuery城市国标码
fromQuery查询开始的ID号,用作分页,无分页时请指定为0
countQuery每页显示的条目数量,由客户端自定义
pdsnQuery遥控器PDSN,可以为空
-
返回值RemoteIndexResponse
- 可能的返回状态: SUCCESS, FAILED, INVALID_CATEGORY, INVALID_PARAMETER, REMOTE_INDEX_NOT_FOUND
- 数据结构: List<RemoteIndex> -
示例http://irextdev.wicp.net:8200/irext/remote/list_remote_indexes?category_id=1&brand_id=1&from=0&count=20&pdsn=S000000000000001
- 或者 - http://irextdev.wicp.net:8200/irext/remote/list_remote_indexes?category_id=3&city_code=320100&from=0&count=20 -
建议和备注 - 0. category_id 为 1(空调) 和 2(电视机) 的时候, brand_id 有效;category_id 为 3(机顶盒) 的时候,city_code 有效,系统会根据上述组合进行参数校验, - 根据情况返回 INVALID_PARAMETER 和 INVALID_CATEGORY 错误 -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
获取用户配置过的遥控器索引数量(用于快速下载模式)
服务器主服务器
URL/irext/remote/count_user_remote_indexes
请求类型GET
输入参数 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
名称类型说明
sns_idQuery用户社交登录之后的ID
sns_typeQuery用户社交账号类型(0:微信)
mobile_idQuery用户终端唯一标识
remote_versionQuery要配置的遥控器固件版本号
remote_idsQuery某台UCON上已经配置过的家电的id列表
-
返回值IntegerResponse
- 可能的返回状态: SUCCESS, FAILED, INVALID_CATEGORY, INVALID_PARAMETER, REMOTE_INDEX_NOT_FOUND
- 数据结构: Integer -
示例http://irextdev.wicp.net:8200/irext/remote/list_user_remote_indexes?sns_id=oVlSbwQlWG0kJhrw68gpQ9WZDL94&sns_type=0&mobile_id=7b7951d5e08d9d11b71084ddf869ecea&remote_version=V2.2.4
- 或者 - http://irextdev.wicp.net:8200/irext/remote/list_user_remote_indexes?mobile_id=7b7951d5e08d9d11b71084ddf869ecea&remote_version=V2.2.4 -
建议和备注 - 0. 如果用户有用社交账号登录,尽量用社交账号寻回配置; - 1. 如果没有登录,则使用mobile ID寻回配置 - 2. 返回值数组的remote_index的属性中具有name,它表示一个用户之前配置并命名过的家电的名字 -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
获取用户配置过的遥控器索引列表(用于快速下载模式)
服务器主服务器
URL/irext/remote/list_user_remote_indexes
请求类型GET
输入参数 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
名称类型说明
sns_idQuery用户社交登录之后的ID
sns_typeQuery用户社交账号类型(0:微信)
mobile_idQuery用户终端唯一标识
remote_versionQuery要配置的遥控器固件版本号
remote_idsQuery某台UCON上已经配置过的家电的id列表
-
返回值RemoteIndexResponse
- 可能的返回状态: SUCCESS, FAILED, INVALID_CATEGORY, INVALID_PARAMETER, REMOTE_INDEX_NOT_FOUND
- 数据结构: List<RemoteIndex> -
示例http://irextdev.wicp.net:8200/irext/remote/list_user_remote_indexes?sns_id=oVlSbwQlWG0kJhrw68gpQ9WZDL94&sns_type=0&mobile_id=7b7951d5e08d9d11b71084ddf869ecea&remote_version=V2.2.4
- 或者 - http://irextdev.wicp.net:8200/irext/remote/list_user_remote_indexes?mobile_id=7b7951d5e08d9d11b71084ddf869ecea&remote_version=V2.2.4 -
建议和备注 - 0. 如果用户有用社交账号登录,尽量用社交账号寻回配置; - 1. 如果没有登录,则使用mobile ID寻回配置 - 2. 返回值数组的remote_index的属性中具有name,它表示一个用户之前配置并命名过的家电的名字 -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
根据按键时间编码匹配遥控器型号
服务器主服务器
URL/irext/remote/match_remote
请求类型POST
输入参数 - - - - - - - - - - - - - - - - - - - - - -
名称类型说明
pdsnQuery设备SN
tokenQuery设备注册换取的token
matchObjForm用于匹配的Application/json参数
-
返回值KeyMatchResponse
- 可能的返回状态: SUCCESS, FAILED, AUTHENTICATION_FAILURE, REMOTE_INDEX_NOT_FOUND, REMOTE_NOT_FOUND, MULTIPLE_REMOTE_MATCHED
-
示例http://irextdev.wicp.net:8200/irext/remote/match_remote
- 表单参数(matchObj): { "category_id" : "1", "brand_id" : "2", "city_code" : "", "key" : "POWER", "code" : [9048,4420,598,1612,598,520,572,520,...] } -
建议和备注 - 0. matchObj 中的 category_id 为必填字段,brand_id 和 city_code 为可选字段,如果 category_id 为 1或者2 (电视机或者空调),那么系统默认会根据 brand_id 做过滤, - 如果category_id 为 3 (机顶盒),系统会根据 city_code 进行过滤
- 1. 返回值 KeyMatchResponse 的数据结构和其它 response 数据结构不尽相同,请参考返回值一节
- 2. 系统会根据后台生成的模板键码值的 ±25% 作为模糊匹配标准,如果匹配不到说明采样误差太大
- 3. MULTIPLE_REMOTE_MATCHED 状态表示一次性匹配到多个遥控器,表示不能作为唯一匹配的评判标准,SUCCESS表示匹配到唯一遥控器类型
- 4. 无论是否唯一匹配,只要有匹配项,服务器均会返回所有匹配到的 remote 的二进制文件名,由客户端决定是否下载二进制码表 -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
根据文件名下载代码二进制文件
服务器主服务器
URL/rb/
请求类型GET
输入参数 - - - - - - - - - - - -
名称类型说明
file_name直接Query参数要下载的二进制文件名
-
返回值文件
示例http://irextdev.wicp.net:8200/rb/ykir_upd6121g_remote_box_164.bin
-
-
- -

遥控器相关接口

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
创建遥控器实例
服务器主服务器
URL/irext/remote/create_remote_instance
请求类型POST
输入参数 - - - - - - - - - - - -
名称类型说明
remote_instanceForm遥控器实例(remote_instance)的Application/JSON对象
-
返回值SingleRemoteInstanceResponse
- 可能的返回状态: SUCCESS, FAILED
- 数据结构: RemoteInstance -
示例http://irextdev.wicp.net:8200/irext/remote/create_remote_instance
- 表单参数(remote_instance):
- { "rsn":"098f6bcd4621d373cade4e83", "device_pdsn":"P000000000000001", "device_ip":"192.168.1.102", "is_bound" : "1", "mobile_id" : "098f6bcd4621d373cade4e83", "user_open_id":"wx_123456789", "user_name":"strawmanbobi", "mac_address" : "11:22:33:44:55:66", "remote_instance_type" : "2" }(默认和底座配对)
- 或者 - { "rsn":"098f6bcd4621d373cade4e83", "is_bound" : "0", "mobile_id" : "098f6bcd4621d373cade4e83", "user_open_id":"wx_123456789", "user_name":"strawmanbobi", "identifier" : "6384E0F3-0642-032A-6DDD-B3499FB43079", "remote_instance_type" : "1" }(单独遥控器)
- (user_open_id 和 user_name 待加入SNS登录之后再填) -
建议和备注 - 0. 遥控器实例(remoteInstance) 本意为一个遥控器硬件的实例,而并非遥控器内部配置的控制模式(如:客厅电视、卧室空调等)的实例
- 1. rsn 为遥控器的唯一硬件标识
- 2. 如果单独添加遥控器实例,则不需要填写device_pdsn,且需要把 is_bound 设置为0
- 3. 如果要添加和底座绑定的遥控器实例,需要填写 device_pdsn,且需要把 is_bound 设置为1
- 4. mobile_id 为设置该遥控器的移动终端唯一标识 IOS/Android上统一为获取手机硬件的唯一ID编码并进行32字节MD5散列生成
- 5. Android 客户端使用 mac_address 标识每一台唯一UCON遥控器设备,IOS客户端使用 identifier 标识每一台唯一UCON遥控器设备 -
- 6. 创建遥控器实例时remote_instance_status请不要填入,remote_instance_type根据蓝牙扫描时获取的名称确定:如果名称为UCON,则视为单体,此字段填0;如果名称为UCON_REMOTE,则视为套装遥控,此字段填1 -
- 7. version在创建时可以不填写,但是需要在后面恰当的时机通过调用update_remote_instance来进行更新 - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
遥控器实例改名
服务器主服务器
URL/irext/remote/rename_remote_instance
请求类型POST
输入参数 - - - - - - - - - - - - - - - - -
名称类型说明
nameQuery新的遥控器实例名称
remote_instance_idQuery要改名的遥控器实例ID
-
返回值ServiceResponse
- 可能的返回状态: SUCCESS, FAILED -
示例http://irextdev.wicp.net:8200/irext/remote/rename_remote_instance?name=irext&remote_instance_id=1 -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
更新遥控器实例
服务器主服务器
URL/irext/remote/update_remote_instance
请求类型POST
输入参数 - - - - - - - - - - - - - - - - -
名称类型说明
remote_instanceForm新的遥控器实例
remote_instance_idQuery要更新的遥控器实例ID
-
返回值SingleRemoteInstanceResponse
- 可能的返回状态: SUCCESS, FAILED -
示例http://irextdev.wicp.net:8200/irext/remote/update_remote_instance?remote_instance_id=1
- 表单参数(remote_instance):
- { "rsn":"098f6bcd4621d373cade4e83", "device_pdsn":"P000000000000001", "device_ip":"192.168.1.102", "is_bound" : "1", "mobile_id" : "098f6bcd4621d373cade4e83", "user_open_id":"wx_123456789", "user_name":"strawmanbobi", "mac_address" : "11:22:33:44:55:66", "remote_instance_type" : "2" }(默认和底座配对)
- 或者 - { "rsn":"098f6bcd4621d373cade4e83", "is_bound" : "0", "mobile_id" : "098f6bcd4621d373cade4e83", "user_open_id":"wx_123456789", "user_name":"strawmanbobi", "identifier" : "6384E0F3-0642-032A-6DDD-B3499FB43079", "remote_instance_type" : "1" }(单独遥控器)
- (user_open_id 和 user_name 待加入SNS登录之后再填) -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
根据移动终端 ID 例举遥控器实例 (侧滑菜单列表)
服务器主服务器
URL/irext/remote/list_remote_instances
请求类型GET
输入参数 - - - - - - - - - - - -
名称类型说明
mobile_idQuery移动终端唯一 ID
-
返回值RemoteInstanceResponse
- 可能的返回状态: SUCCESS, FAILED
- 数据结构: List<RemoteInstance> -
示例http://irextdev.wicp.net:8200/irext/remote/list_remote_instances?mobile_id=098f6bcd4621d373cade4e83 -
建议和备注 - 0. 遥控器实例(remoteInstance) 本意为一个遥控器硬件的实例,而并非遥控器内部配置的控制模式(如:客厅电视、卧室空调等)的实例。
- 1. mobile_id 为设置该遥控器的移动终端唯一标识 IOS/Android上统一为获取手机硬件的唯一ID编码并进行32字节MD5散列生成 -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
遥控器实例重置
服务器主服务器
URL/irext/remote/reset_remote_instance
请求类型POST
输入参数 - - - - - - - - - - - -
名称类型说明
remote_instance_idQuery遥控器实例ID(remote_instance的ID)
-
返回值ServiceResponse
- 可能的返回状态: SUCCESS, FAILED
-
示例http://irextdev.wicp.net:8200/irext/remote/reset_remote_instance?remote_instance_id=2 -
建议和备注 - 0. 遥控器实例(remoteInstance) 本意为一个遥控器硬件的实例,而并非遥控器内部配置的控制模式(如:客厅电视、卧室空调等)的实例。
- 1. 此调用应该在APP同遥控器发送蓝牙命令0x000B成功之后进行,此时遥控器会进行恢复出厂设置,清空所有用户配置,以确保事物的完整性
- 2. 此调用会同时删除这台遥控器上的所有家电遥控配置数据 -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
绑定遥控器
服务器主服务器
URL/irext/remote/bind_remote_instance
请求类型POST
输入参数 - - - - - - - - - - - - - - - - -
名称类型说明
device_pdsnQuery底座设备的SN
mobile_instance_idQuery遥控器实例ID
-
返回值ServiceResponse
- 可能的返回状态: SUCCESS, FAILED -
示例http://irextdev.wicp.net:8200/irext/remote/bind_remote_instance?device_pdsn=P000000000000001&remote_instance_id=1 -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
创建遥控器模式
服务器主服务器
URL/irext/remote/create_remote
请求类型POST
输入参数 - - - - - - - - - - - -
名称类型说明
remoteForm遥控器模式(remote)的Application/JSON对象
-
返回值SingleRemoteResponse
- 可能的返回状态: SUCCESS, FAILED
- 数据结构: Remote -
示例http://irextdev.wicp.net:8200/irext/remote/create_remote
- 表单参数(remote):
- { "device_pdsn":"", "rsn":"098f6bcd4621d373cade4e83", "name":"客厅空调", "category_id" : "1", "brand_id" : "2", "category_name":"空调", "brand_name":"奥克斯", - "city_code" : "", "create_type":"0", "mac_address": "11:22:33:44:55:66", "remote_number":"1", "identifier":"xxxxxxx" }
- 或者 - { "device_pdsn":"", "rsn":"098f6bcd4621d373cade4e83", "name":"卧室电视", "category_id" : "2", "brand_id" : "1", "category_name":"电视机", "brand_name":"LG", - "city_code" : "", "create_type":"1", "remote_code":".......", "mac_address": "11:22:33:44:55:66", "remote_number":"1", "identifier":"xxxxxxx" } -
建议和备注 - 0. 每一个remote的条目代表当前遥控器的一种模式,而不是一个控制器实例。一个遥控器实例(RemoteInstance)下可能会记录多个模式。
- 1. rsn 为遥控器的唯一硬件标识
- 2. 参数中的 query 型参数 device_pdsn / token 以及表单参数中的 remote.device_pdsn 为可选参数,因为支持遥控器单独配置,如果无底座device,则在调用时不需要它们
- 3. create_type 请参考枚举变量中的创建模式一节,0表示通过下载码表创建,1表示通过自学习创建。其中当create_mode为0时,字段remote_index_id不能为空;在create_mode为1时,key_code 不能为空
- 4. category_name, brand_name 和 remote_index 的存在是为了通过字段冗余增强查询效率
- 5. remote_index_name 下载模式完成后根据过程中 remote_index 列表生成的索引名字
- 6. Android 客户端使用 mac_address 标识每一台唯一UCON遥控器设备,IOS客户端使用 identifier 标识每一台唯一UCON遥控器设备
- 7. remote_number为UCON遥控器上家电配置的空位编号,一共8种家电模式,remote_number在进行遥控器配置时需单独计算,值为0~7
- 8. remote_number的生成规则为:(1)获取当前remote_instance上所有现有的remote列表;(2)根据列表中现有的项目的remote_number进行计算,使用从小到大的排序插空算法,例如目前已有的remote列表中各个remote的remote_number值为0,1,3,4,那么在APP上用户点击“+”时生成的remote_number即为需要新增的number,这里应该是2

- 9. Sirius在使用该接口时,需要额外填入三个参数,详情请参考Remote的数据结构定义 : room_id, room_name, sirius_id。其中 sirius_id 为该台 Sirius 设备的唯一标识,32字节MD5散列报文 -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
更新遥控器模式
服务器主服务器
URL/irext/remote/update_remote
请求类型POST
输入参数 - - - - - - - - - - - - - - - - -
名称类型说明
remote_idQuery要更新的遥控器的ID
remoteForm新遥控器的 Appliation/JSON 对象
-
返回值ServiceResponse
- 可能的返回状态: SUCCESS, FAILED, AUTHENTICATION_FAILURE, REMOTE_NOT_FOUND -
示例http://irextdev.wicp.net:8200/irext/remote/update_remote?remote_id=1
- 表单参数(remote):
- { "device_pdsn":"", "rsn":"098f6bcd4621d373cade4e83", "name":"客厅空调", "category_id" : "1", "brand_id" : "2", "category_name":"空调", "brand_name":"奥克斯", - "city_code" : "", "create_type":"0" }
- 或者 - { "device_pdsn":"", "rsn":"098f6bcd4621d373cade4e83", "name":"客厅空调", "category_id" : "2", "brand_id" : "1", "category_name":"空调", "brand_name":"LG", - "city_code" : "", "create_type":"1", "key_code":"......." } -
建议和备注 - 0. 每一个remote的条目代表当前遥控器的一种模式,而不是一个控制器实例。一个遥控器实例(RemoteInstance)下可能会记录多个模式。
- 1. rsn 为遥控器的唯一硬件标识
- 2. 参数中的 query 型参数 device_pdsn / token 以及表单参数中的 remote.device_pdsn 为可选参数,因为支持遥控器单独配置,如果无底座device,则在调用时不需要它们
- 3. create_type 请参考枚举变量中的创建模式一节,0表示通过下载码表创建,1表示通过自学习创建。其中当create_mode为0时,字段remote_index_id不能为空;在create_mode为1时,key_code 不能为空
- 4. category_name, brand_name 和 remote_index 的存在是为了通过字段冗余增强查询效率 - 5. remote_index_name 请使用下载模式调用的
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
删除遥控器模式
服务器主服务器
URL/irext/remote/delete_remote
请求类型POST
输入参数 - - - - - - - - - - - -
名称类型说明
remote_idQuery要删除的遥控器的ID
-
返回值ServiceResponse
- 可能的返回状态: SUCCESS, FAILED -
示例http://irextdev.wicp.net:8200/irext/remote/delete_remote?remote_id=1
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
根据遥控器实例 ID 列举遥控器模式 (主面板)
服务器主服务器
URL/irext/remote/list_remotes
请求类型GET
输入参数 - - - - - - - - - - - - - - - - - - - - - -
名称类型说明
remote_instance_idQuery遥控器实例 ID
fromQueryRemote ID起始值,如果从头开始,请赋值为0
countQuery每页显示遥控器模式条目数量,建议为8 (总共支持8种模式,无翻页)
-
返回值RemoteResponse
- 可能的返回状态: SUCCESS, FAILED
- 数据结构: List<Remote> -
示例http://irextdev.wicp.net:8200/irext/remote/list_remotes?remote_instance_id=1&from=0&count=8 -
建议和备注 - 0. 遥控器实例(remoteInstance) 本意为一个遥控器硬件的实例,而并非遥控器内部配置的控制模式(如:客厅电视、卧室空调等)的实例,它的ID是在调用 list_remote_instances 之后从列表中获得的 -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Sirius专用,根据房间列举遥控器模式
服务器主服务器
URL/irext/remote/list_remotes_by_room
请求类型GET
输入参数 - - - - - - - - - - - - - - - - - - - - - - - - - - -
名称类型说明
sirius_idQuerySirius唯一标识(32字节设备唯一标识MD5散列)
room_idint房间的ID字段
fromQueryRemote ID起始值,如果从头开始,请赋值为0
countQuery每页显示遥控器模式条目数量
-
返回值RemoteResponse
- 可能的返回状态: SUCCESS, FAILED
- 数据结构: List<Remote> -
示例http://irextdev.wicp.net:8200/irext/remote/list_remotes_by_room?sirius_id=098f6bcd4621d373cade4e83cade4e83&room_id=1&from=0&count=20 -
建议和备注 - 0. 返回的值当中,除了Remote数据结构中定义的字段之外,还有2个重要字段:
- A) protocol,表示当前遥控使用的 protocol 码
- B) remote,表示当前遥控使用的 remote 码
- 这两个字段可以拼接成码表文件前缀,用于从阿里云OSS上下载码表或者从本地文件系统加载码表,这两个字段,只要在创建遥控(create_remote)时,填入了remote_index_id,就会自动被索引
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Sirius专用,根据房间和特定的类型列举遥控器
服务器主服务器
URL/irext/remote/list_remotes_by_room_and_category
请求类型GET
输入参数 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
名称类型说明
sirius_idQuerySirius唯一标识(32字节设备唯一标识MD5散列)
room_idint房间的ID字段
category_idint电器类型ID
fromQueryRemote ID起始值,如果从头开始,请赋值为0
countQuery每页显示遥控器模式条目数量
-
返回值RemoteResponse
- 可能的返回状态: SUCCESS, FAILED
- 数据结构: List<Remote> -
示例http://irextdev.wicp.net:8200/irext/remote/list_remotes_by_room_and_category?sirius_id=098f6bcd4621d373cade4e83cade4e83&room_id=1&category_id=1&from=0&count=20 -
建议和备注 - 0. 返回的值当中,除了Remote数据结构中定义的字段之外,还有2个重要字段:
- A) protocol,表示当前遥控使用的 protocol 码
- B) remote,表示当前遥控使用的 remote 码
- 这两个字段可以拼接成码表文件前缀,用于从阿里云OSS上下载码表或者从本地文件系统加载码表,这两个字段,只要在创建遥控(create_remote)时,填入了remote_index_id,就会自动被索引
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
创建遥控器关联
服务器主服务器
URL/irext/remote/create_remote_relationship
请求类型POST
输入参数 - - - - - - - - - - - -
名称类型说明
remote_relationshipForm遥控器关联的Application/JSON对象
-
返回值SingleRemoteRelationshipResponse
- 可能的返回状态: SUCCESS, FAILED
- 数据结构: RemoteRelationship -
示例http://irextdev.wicp.net:8200/irext/remote/create_remote_relationship
- 表单参数(remote_relationship):
- { "remote_id":"1", "remote_map":"upd6121g_box_201", "remote_id":"2", "remote_map":"upd6121g_tv_300", } -
建议和备注 - 0. 注意此关系是从被绑定的遥控器开始计算,例如某机顶盒面板中需要一个电视机的POWER开关,那么机顶盒为被绑定者(remote_id),电视机为绑定者(related_remote_id)
- 1. 一个被绑定者只有一个绑定者与它绑定
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
获得被绑定者遥控器的关联
服务器主服务器
URL/irext/remote/get_remote_relationship
请求类型GET
输入参数 - - - - - - - - - - - -
名称类型说明
remote_idQuery被绑定者的唯一标识ID
-
返回值SingleRemoteRelationshipResponse
- 可能的返回状态: SUCCESS, FAILED
- 数据结构: RemoteRelationship -
示例http://irextdev.wicp.net:8200/irext/remote/get_remote_relationship?remote_id=1
-
建议和备注 - 0. 注意此关系是从被绑定的遥控器开始计算,例如某机顶盒面板中需要一个电视机的POWER开关,那么机顶盒为被绑定者(remote_id),电视机为绑定者(related_remote_id)
- 1. 最多只能获取到唯一的绑定者,或者空
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
删除被绑定者遥控器的关联
服务器主服务器
URL/irext/remote/delete_remote_relationship
请求类型POST
输入参数 - - - - - - - - - - - -
名称类型说明
remote_idQuery被绑定者的唯一标识ID
-
返回值ServiceResponse
- 可能的返回状态: SUCCESS, FAILED -
示例http://irextdev.wicp.net:8200/irext/remote/delete_remote_relationship?remote_id=1
-
建议和备注 - 无 -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
根据遥控器模式ID获取索引信息 (预约功能使用)
服务器主服务器
URL/irext/remote/get_remote_info
请求类型GET
输入参数 - - - - - - - - - - - -
名称类型说明
remote_idQuery遥控器模式 ID
-
返回值RemoteInfoResponse
- 可能的返回状态: SUCCESS, FAILED, REMOTE_NOT_FETCHED
- 数据结构: RemoteInfo -
示例http://irextdev.wicp.net:8200/irext/remote/get_remote_info?remote_id=2 -
-
- -

预约功能接口

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
创建预约
服务器主服务器
URL/irext/subscription/create_subscription
请求类型POST
输入参数 - - - - - - - - - - - - - - - - - - - - - -
名称类型说明
pdsnQuery设备SN
tokenQuery设备注册换取的token
subscriptionForm新的预约的 Appliation/JSON 对象
-
返回值SubscriptionResponse
- 可能的返回状态: SUCCESS, FAILED
- 数据结构: Subscription -
示例http://irextdev.wicp.net:8200/irext/subscription/create_subscription?pdsn=P000000000000001&token=098f6bcd4621d373cade4e83cade4e83
- 表单参数(subscription):
- 电视机、机顶盒等命令码:
- { "sub_time":"2015-06-01 18:00:00", "device_pdsn":"P000000000000001", "remote_id":"ykir_tc9012f_remote_tv_291", "remote_keys":"0,0,10,5", "remote_index_type":"0", "category_id":"2", "remote_no":"1", "mobile_id": "xxxxxxxxxxxxxxxxxx", "user_id":"xxxxxx", "remote_instance_id":"1", "remote_name":"客厅电视机", "remote_status":"1" }
- 或者空调状态码:
- { "sub_time":"2015-06-01 18:00:00", "device_pdsn":"P000000000000001", "remote_id":"ykir_dongzhi1_remote_ac_meidi2_dongzhi1", "remote_keys":"0,8,1,1,0", "remote_index_type":"0", "category_id":"1", "remote_no":"2", "mobile_id": "xxxxxxxxxxxxxxxxxx", "user_id":"xxxxxx", "remote_instance_id":"1", "remote_name":"卧室空调" } -
建议和备注 - 下面为APP客户端实现预约的基本方法:
- 0. 预约必须在APP添加了UCON CENTER之后进行,由于在添加UCON CENTER时,在后台数据库device_instance表中(详细请参考/irext/device/create_device_instance接口)根据mobile_id字段获取已经添加的UCON Center设备,为所有和此手机相关的设备生成预约
- 1. 每调用一个接口,只为一个底座生成一条预约,如果有多个底座和此APP关联,需要调用此接口多次
- 2. Query参数中的pdsn和body参数中的device_pdsn均表示本次要为某个特定PDSN的UCON Center生成
- 3. remote_id为选中家电遥控器的码库文件前缀 (protocol + remote) 字段组合(码库文件名去掉.bin扩展名),remote_no因为历史原因,这里其实代表remote表的外键,表示唯一的一个remote(家电遥控器,例如:客厅电视机、卧室空调等)
- 4. 目前只有经由码库下载进行配置的家电才可预约,自学习的不支持预约,需要在APP界面和流程上进行限制处理
- 5. 底座版本为V1.0.0及以下,不支持预约空调,底座版本可使用/irext/device/list_device_instances接口进行版本号查询
- 6. remote_keys根据家电类型不同,格式也不相同,空调属于一类;电视机、机顶盒等属于一类
- 7. 空调类型的预约,remote_keys恒为5个数组组成,用逗号分割,分别含义是:“电源, 温度, 模式, 风速, 是否扫风”,每个字段枚举如下:
- a) 电源:0-打开,1-关闭
- b) 温度:0表示16度,1表示17度,以此类推,最大到30度,使用14表示
- c) 模式:0-制冷,1-制热,2-自动,3-送风,4-干燥
- d) 风速:0-自动,1-高速,2-中速,3-低速
- e) 扫风:0-扫风,1-不扫风
- f)示例:0,8,0,1,0 表示:“开机,24度,制冷,高速,扫风”
- 8.电视机和机顶盒类型的remote_keys,格式为“间隔时间,键码”的成对组合,间隔时间单位为秒,键码为枚举数字,含义如下:
- a) 电视机: - 0-电源 - 1-静音 - 2-上 - 3-下 - 4-左 - 5-右 - 6-确定 - 7-音量+ - 8-音量- - 9-返回 - 10-输入源 - 11-菜单 - 12-主页 - 13-设置
- b) 机顶盒: - 0-电源 - 1-静音 - 2-上 - 3-下 - 4-左 - 5-右 - 6-确定 - 7-音量+ - 8-音量- - 9-返回 - 10-输入源 - 11-菜单 - 12-上一页 - 13-下一页
- 9. 空调目前只预约一个状态(只需要开关、温度、模式三项,风速和风向缺省填0,比如remote_keys应为:“0,8,0,0,0”),电视机和机顶盒也只需要预约一个电源打开即可(比如电视机的remote_keys 应为 “0,0”)
- 10. remote_index_type始终为0,是一个预留字段
- 11. ble_tag104是指如果此蓝牙外设是通过mac地址识别,则为1,如果是通过广告中的名称识别,则为0 -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
更改预约
服务器主服务器
URL/irext/subscription/update_subscription
请求类型POST
输入参数 - - - - - - - - - - - - - - - - -
名称类型说明
idQuery待修改的预约的ID标识
subscriptionForm新的预约的 Appliation/JSON 对象
-
返回值SubscriptionResponse
- 可能的返回状态: SUCCESS, FAILED
- 数据结构: Subscription -
示例http://irextdev.wicp.net:8200/irext/subscription/update_subscription?subscription_id=1
- 表单参数(subscription):
- 电视机、机顶盒等命令码:
- { "sub_time":"2015-06-01 18:00:00", "device_pdsn":"P000000000000001", "remote_id":"ykir_tc9012f_remote_tv_291", "remote_keys":"0,0,10,5", "remote_index_type":"0", "category_id":"2", "remote_no":"1", "mobile_id": "xxxxxxxxxxxxxxxxxx", "user_id":"xxxxxx", "remote_instance_id":"1", "remote_name":"客厅电视机", "remote_status":"1" }
- 或者空调状态码:
- { "sub_time":"2015-06-01 18:00:00", "device_pdsn":"P000000000000001", "remote_id":"ykir_dongzhi1_remote_ac_meidi2_dongzhi1", "remote_keys":"0,8,1,1,0", "remote_index_type":"0", "category_id":"1", "remote_no":"2", "mobile_id": "xxxxxxxxxxxxxxxxxx", "user_id":"xxxxxx", "remote_instance_id":"1", "remote_name":"卧室空调" } -
建议和备注 - 下面为APP客户端实现预约的基本方法:
- 0. 预约必须在APP添加了UCON CENTER之后进行,由于在添加UCON CENTER时,在后台数据库device_instance表中(详细请参考/irext/device/create_device_instance接口)根据mobile_id字段获取已经添加的UCON Center设备,为所有和此手机相关的设备生成预约
- 1. 每调用一个接口,只为一个底座生成一条预约,如果有多个底座和此APP关联,需要调用此接口多次
- 2. Query参数中的pdsn和body参数中的device_pdsn均表示本次要为某个特定PDSN的UCON Center生成
- 3. remote_id为选中家电遥控器的码库文件前缀 (protocol + remote) 字段组合(码库文件名去掉.bin扩展名),remote_no因为历史原因,这里其实代表remote表的外键,表示唯一的一个remote(家电遥控器,例如:客厅电视机、卧室空调等)
- 4. 目前只有经由码库下载进行配置的家电才可预约,自学习的不支持预约,需要在APP界面和流程上进行限制处理
- 5. 底座版本为V1.0.0及以下,不支持预约空调,底座版本可使用/irext/device/list_device_instances接口进行版本号查询
- 6. remote_keys根据家电类型不同,格式也不相同,空调属于一类;电视机、机顶盒等属于一类
- 7. 空调类型的预约,remote_keys恒为5个数组组成,用逗号分割,分别含义是:“电源, 温度, 模式, 风速, 是否扫风”,每个字段枚举如下:
- a) 电源:0-打开,1-关闭
- b) 温度:0表示16度,1表示17度,以此类推,最大到30度,使用14表示
- c) 模式:0-自动,1-制冷,2-除湿,3-送风,4-制热
- d) 风速:0-自动,1-高速,2-中速,3-低速
- e) 扫风:0-扫风,1-不扫风
- f)示例:0,8,1,1,0 表示:“开机,24度,制冷,高速,扫风”
- 8.电视机和机顶盒类型的remote_keys,格式为“间隔时间,键码”的成对组合,间隔时间单位为秒,键码为枚举数字,含义如下:
- a) 电视机: - 0-电源 - 1-静音 - 2-上 - 3-下 - 4-左 - 5-右 - 6-确定 - 7-音量+ - 8-音量- - 9-返回 - 10-输入源 - 11-菜单 - 12-主页 - 13-设置
- b) 机顶盒: - 0-电源 - 1-静音 - 2-上 - 3-下 - 4-左 - 5-右 - 6-确定 - 7-音量+ - 8-音量- - 9-返回 - 10-输入源 - 11-菜单 - 12-上一页 - 13-下一页
- 9. 空调目前只预约一个状态(只需要开关、温度、模式三项,风速和风向缺省填0,比如remote_keys应为:“0,8,1,0,0”),电视机和机顶盒也只需要预约一个电源打开即可(比如电视机的remote_keys 应为 “0,0”)
- 10. remote_index_type始终为0,是一个预留字段。 -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
查询预约
服务器主服务器
URL/irext/subscription/list_subscriptions
请求类型GET
输入参数 - - - - - - - - - - - - - - - - - - - - - -
名称类型说明
mobile_idQuery终端设备的ID号(手机、平板等设备的唯一标识号)
fromQuery分页起始值,如果从头开始,请赋值为0
countQuery每页数量
-
返回值SubscriptionResponse
- 可能的返回状态: SUCCESS, FAILED
- 数据结构: List<Subscription> -
示例http://irextdev.wicp.net:8200/irext/subscription/list_subscriptions?mobile_id=xxxxxxxxxxxxxxxx
-
-
- -

APP管理接口

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
UE更新
服务器主服务器
URL/irext/mobile/update_mobile
请求类型POST
输入参数 - - - - - - - - - - - -
名称类型说明
mobileFormMobile对象
-
返回值SingleMobileResponse
- 可能的返回状态: SUCCESS, FAILED
- 数据结构: Mobile -
示例http://irextdev.wicp.net:8200/irext/mobile/update_mobile -
建议和备注 - 0. Mobile类型的mobile_id成员,为UE唯一标识,最好统一成手机、平板等所有手持设备均可获取的唯一标识码
- 1. 密码散列使用32字节MD5算法, 密码报文文本长度小于等于32字节
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
根据PID获取移动终端信息
服务器主服务器
URL/irext/mobile/get_mobile_by_mobile_id
请求类型GET
输入参数 - - - - - - - - - - - -
名称类型说明
mobile_idQuery移动终端唯一标识ID
-
返回值SingleMobileResponse
- 可能的返回状态: SUCCESS, FAILED
- 数据结构: Mobile -
示例http://irextdev.wicp.net:8200/irext/mobile/get_mobile_by_pdsn?mobile_id=0123456
-
-
- -

用户系统接口

- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
注册用户
服务器主服务器
URL/irext/user/register_user
请求类型POST
输入参数 - - - - - - - - - - - - - - - - -
名称类型说明
mobile_idQuery发起用户注册的这台移动设备的唯一标识ID
userForm用户对象
-
返回值SingleUserResponse
- 可能的返回状态: SUCCESS, FAILED
- 数据结构: User -
示例http://irextdev.wicp.net:8200/irext/user/register_user
- 表单参数: { "name":"strawmanbobi", "weixin_id":"1234567", "avatar_url":"http://www.baidu.com/1.jpg" } -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
绑定移动设备
服务器主服务器
URL/irext/user/bind_mobile_to_user
请求类型POST
输入参数 - - - - - - - - - - - - - - - - - - - - - -
名称类型说明
mobile_idQuery这台移动设备的唯一标识ID
sns_idQuery用户用社交账号登录获得的ID
sns_typeQuery社交账号类型
-
返回值ServiceResponse
- 可能的返回状态: SUCCESS, FAILED
-
示例http://irextdev.wicp.net:8200/irext/user/bind_mobile_to_user?mobile_id=7b7951d5e08d9d11b71084ddf869ecea&sns_id=oVlSbwQlWG0kJhrw68gpQ9WZDL94&sns_type=0
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
微信换取access token
服务器主服务器
URL/irext/user/weixin_access_token
请求类型POST
输入参数 - - - - - - - - - - - -
名称类型说明
OAuth2FormOAuth2 对象
-
返回值StringResponse
- 可能的返回状态: SUCCESS, FAILED
- 数据结构: OAuth2 -
示例http://irextdev.wicp.net:8200/irext/user/weixin_access_token
- 表单参数: { "app_id":"1234567890", "auth_code":"1234567890" } -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
微信获取用户信息
服务器主服务器
URL/irext/user/weixin_get_user_info
请求类型POST
输入参数 - - - - - - - - - - - -
名称类型说明
OAuth2FormOAuth2对象
-
返回值StringResponse
- 可能的返回状态: SUCCESS, FAILED
- 数据结构: WeixinUser -
示例http://irextdev.wicp.net:8200/irext/user/weixin_get_user_info
- 表单参数: { "access_token":"1234567890", "openid":"1234567890" }
- 备注:无需传入lang参数,默认就是简体中文,将来如果需要英文和繁体中文另加 -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
动态获取微信分享标题和文字
服务器主服务器
URL/irext/user/get_weixin_share_wording
请求类型POST
输入参数 - - - - - - - - - - - - - - - - -
名称类型说明
mobile_idQuery移动设备唯一标识
UserInfoForm只需要包含name和weixin_id两个成员的用户对象
-
返回值StringResponse
- 可能的返回状态: SUCCESS, FAILED
-
示例http://irextdev.wicp.net:8200/irext/user/get_weixin_share_wording?mobile_id=1234567890
- 表单参数: { "name":"strawmanbobi", "weixin_id":"1234567890" } -
-
- -

日志接口

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
遥控器每日活跃统计
服务器主服务器
URL/irext/stat/create_stat
请求类型POST
输入参数 - - - - - - - - - - - -
名称类型说明
typeForm活跃数统计对象
-
返回值StatResponse
- 可能的返回状态: SUCCESS, FAILED
- 数据结构: Stat -
示例http://irextdev.wicp.net:8200/irext/stat/create_stat
- 表单参数: { stat_type: '0', remote_pdsn: 'P000000000000001', uda: ['1451533320','1451533321','1451533322','1451533323'], uop:[], mobile_id: '1', user_id: 'wx_1234567890', longitude: '12345.12345', latitude: '12345.12345' } -
建议和备注 - 0. APP和底座均可以使用此接口
- 1. 在1.12版本文档上,暂时没有实现UOP(user operation),它只是一个预留字段
- 2. 在1.12版本文档上,目前不需要上传mobile_id, user_id, longitude, latitude -
-
- -

推送消息接口

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
向客户端推送通告
服务器主服务器
URL/irext/push/notify_app
请求类型POST
输入参数 - - - - - - - - - - - -
名称类型说明
push_messageForm消息对象
-
返回值ServiceResponse
- 可能的返回状态: SUCCESS, FAILED
-
示例http://irextdev.wicp.net:8200/irext/push/notify_app
- 表单参数: { from_peer: '0', to_peer: '7b7951d5e08d9d11b71084ddf869ecea', message: '1' } -
建议和备注 - 0. 建议底座使用,注意消息的文字用UTF-8编码 -
-
- -

房间管理接口

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
更新房间(包括创建和修改)
服务器主服务器
URL/irext/room/update_room
请求类型POST
输入参数 - - - - - - - - - - - -
名称类型说明
roomForm房间对象
-
返回值SingleRoomResponse
- 可能的返回状态: SUCCESS, FAILED
-
示例http://irextdev.wicp.net:8200/irext/room/update_room
- 表单参数: { name: '书房', user_id: '0123456789', mobile_id: '0123456789' } -
建议和备注 - 0. user_id 为有用户注册功能之后产生的用户ID, mobile_id 为移动设备唯一标识 - 1. user_id 和 mobile_id 均为32字节MD5报文 -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
列出房间
服务器主服务器
URL/irext/room/list_rooms
请求类型GET
输入参数 - - - - - - - - - - - - - - - - - - - - - - - - - - -
名称类型说明
user_idQuery用户ID
mobile_idQuery用户ID
fromQuery分页参数from
countQuery分页参数count
-
返回值RoomResponse
- 可能的返回状态: SUCCESS, FAILED
-
示例http://irextdev.wicp.net:8200/irext/room/list_rooms?user_id=0123456789&mobile_id=0123456789&from=0&count=10 -
建议和备注 - 0. user_id 为有用户注册功能之后产生的用户ID, mobile_id 为移动设备唯一标识 - 1. 如果有user_id,优先使用 user_id 进行匹配,否则使用 mobile_id 进行匹配 -
-
- -

其它接口

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
获取最新发布的版本
服务器主服务器
URL/irext/version/get_latest_version
请求类型GET
输入参数 - - - - - - - - - - - - - - - - - - - - - - - - - - -
名称类型说明
typeQuery版本类型
sub_typeQuery版本子类型(遥控器固件专用)
remote_typeQuery遥控器类型(遥控器固件专用)
come_fromQuery查询方ID
-
返回值SingleVersionResponse
- 可能的返回状态: SUCCESS, FAILED
- 数据结构: Version -
示例http://irextdev.wicp.net:8200/irext/version/get_latest_version?type=0&sub_type=0&remote_type=0&come_from=0
-
建议和备注 - 0. 这个接口适用于接入版本系统的所有升级设备,包括UCON底座、PC端助手、APP
- 1. 数据结构中的dev_wlan_ver实际上是表明待升级设备的主要版本编号,不局限于Device Wlan,iOS和Android客户端的版本信息也在此字段内
- 2. 数据结构中的dev_ble_ver事实上是表示Device BLE,同理第3个版本字段rem_ble_ver表示Remote BLE
- 3. 输入参数come_from的说明:0-UCON底座, 1-PC端升级助手, 2-Web, 3-售后升级板, 4-Android APP, 5-iOS APP -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
获取在线开关
服务器主服务器
URL/irext/switch/get_switch
请求类型GET
输入参数 - - - - - - - - - - - -
名称类型说明
target_deviceQuery目标类型,参考SWITCH_TARGET枚举
-
返回值SingleSwitchResponse
- 可能的返回状态: SUCCESS, FAILED
- 数据结构: Switch -
示例http://irextdev.wicp.net:8200/irext/switch/get_switch?target_device=0
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
更新空中升级记录
服务器主服务器
URL/irext/version/update_update_record
请求类型POST
输入参数 - - - - - - - - - - - -
名称类型说明
update_recordForm空中升级记录对象
-
返回值SingleUpdateRecordResponse
- 可能的返回状态: SUCCESS, FAILED
- 数据结构: SingleUpdateRecord -
示例http://irextdev.wicp.net:8200/irext/version/update_update_record
- 表单参数: { "src_remote_version" : " V1.3.0", "dest_remote_version": "V2.2.4", "remote_update_status":"1", "updater_id": "12345", "updater_type": "1", "target_pdsn":"S000000000000002"} -
建议和备注 - 0. 这个接口适用于接入版本系统的所有升级设备,包括UCON底座、PC端助手、APP
- 1. 如果是给遥控器升级,必须填入 src_remote_version,dest_remote_version,remote_update_status 三个字段
- 2. 如果是给底座升级(底座静默升级),必须填入 src_device_version,dest_device_version,device_update_status 三个字段
- 3. 无论是给遥控器还是给底座升级,都必须填入updater_type,updater_id 和 target_pdsn 字段
- 4. 输入参数 updater_type 的说明:0-UCON底座, 1-PC端升级助手, 2-Web, 3-售后升级板, 4-Android APP, 5-iOS APP
- 5. 如果 updater_type 是 irext 底座,那么 updater_id 为自身PDSN;如果是 APP,那么 updater_id 为 mobile_id;如果是 PC,那么 updater_id 为 PC CPU_ID -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
查询空中升级记录
服务器主服务器
URL/irext/version/list_update_records
请求类型GET
输入参数 - - - - - - - - - - - - - - - - - - - - - -
名称类型说明
updater_idQuery空中升级发起者ID
fromQuery本次查询的 ID 起始值,如果从头开始,请赋值为0
countQuery每页显示的升级记录数量,建议为10以内
-
返回值UpdateRecordResponse
- 可能的返回状态: SUCCESS, FAILED
- 数据结构: UpdateRecord -
示例http://irextdev.wicp.net:8200/irext/version/list_update_records?updater_id=P000000000000001&from=0&count=10 -
建议和备注 - 1. 如果 updater_type 是 irext 底座,那么 updater_id 为自身PDSN;如果是 APP,那么 updater_id 为 mobile_id;如果是 PC,那么 updater_id 为 PC CPU_ID -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
列出所有省份
服务器主服务器
URL/irext/city/list_provinces
请求类型GET
输入参数 - - - - - - - - - - - -
名称类型说明
pdsnQuery遥控器的PDSN,可以为空
-
返回值CityResponse
- 可能的返回状态: SUCCESS, FAILED
- 数据结构: List<City> -
示例http://irextdev.wicp.net:8200/irext/remote/list_provinces?pdsn=S000000000000001
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
根据省份编码前缀列出地级市
服务器主服务器
URL/irext/city/list_cities
请求类型GET
输入参数 - - - - - - - - - - - - - - - - -
名称类型说明
province_prefixQuery省份编码前缀,例如江苏省为“32”
pdsnQuery遥控器的PDSN,可以为空
-
返回值CityResponse
- 可能的返回状态: SUCCESS, FAILED
- 数据结构: List<City> -
示例http://irextdev.wicp.net:8200/irext/city/list_cities?province_prefix=32&pdsn=S000000000000001
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
列出STB编码已覆盖的城市
服务器主服务器
URL/irext/city/list_covered_cities
请求类型GET
输入参数 - - - - - - - - - - - - - - - - -
名称类型说明
fromQueryCity ID起始值,如果从头开始,请赋值为0
countQuery每页显示城市条目数量,建议为50以上
-
返回值CityResponse
- 可能的返回状态: SUCCESS, FAILED
- 数据结构: List<City> -
示例http://irextdev.wicp.net:8200/irext/city/list_covered_cities?from=0&count=50
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
根据城市编码列出广电运营商
服务器主服务器
URL/irext/operator/list_operators
请求类型GET
输入参数 - - - - - - - - - - - - - - - - - - - - - -
名称类型说明
city_codeQuery城市国际标准码,例如南京为“320100”
fromQuery查询开始的ID号,用作分页,无分页时请指定为0
countQuery每页显示的条目数量,由客户端自定义
-
返回值OperatorResponse
- 可能的返回状态: SUCCESS, FAILED
- 数据结构: List<Operator> -
示例http://irextdev.wicp.net:8200/irext/operator/list_operators?city_code=320100&from=0&count=20
-
-
- -

数据结构

- - - - - - - - - - - - - - - - - - - - - - - - -
设备验证对象 (DeviceValidation)
类型说明
idint数据库自增列,也可以用于标识唯一DeviceValidation对象
pdsnString设备唯一序列号
passwordString设备验证密码,由设备根据PDSN和时间戳散列
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
设备对象 (Device)
类型说明
idint数据库自增列,也可以用于标识唯一Device对象
nameString设备名称,由设备注册时指定
pdsnString设备唯一序列号
ip_addressString设备局域网IP地址
create_timeString设备创建时间,格式为 YYYY-MM-DD hh:mm:ss
versionString设备软件版本号
statusint是否有效(1: 有效, 0: 无效),默认为1
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
设备对象的实例 (DeviceInstance)
类型说明
idint数据库自增列,也可以用于标识唯一DeviceInstance对象
nameString设备名称,由设备注册时指定
pdsnString设备唯一序列号
ip_addressString设备局域网IP地址
create_timeString设备创建时间,格式为 YYYY-MM-DD hh:mm:ss
versionString设备软件版本号
statusint是否有效(1: 有效, 0: 无效),默认为1
mobile_idString产生(配置)该设备实例的移动终端ID序号,由移动终端唯一ID做MD5散列得到
user_open_idintUser实体的外键引用,指向唯一用户ID
user_nameString用户名
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
遥控器索引对象 (RemoteIndex)
类型说明
idint数据库自增列,也可以用于标识唯一Operator对象
category_idint电器类型ID
category_nameString电器类型名称
brand_idint电器品牌ID (仅category_id为1或2时有效)
brand_nameString电器品牌名称 (仅category_id为1或2时有效)
city_codeString城市国标码 (仅category_id为3时有效)
city_nameString城市名称 (仅category_id为3时有效)
operator_idint广电运营商ID (仅category_id为3时有效)
operator_nameString广电运营商名称 (仅category_id为3时有效)
protocolString红外码协议文件
remoteString红外代码文件
remote_mapString红外码表映射
statusint是否有效(1: 有效, 0: 无效),默认为1
ble_remote_indexString蓝牙外设信息字段
-
- - - - - - - - - - - - - - - - - - - - - - - - -
遥控器索引信息 (RemoteInfo)
类型说明
remote_idint遥控器模式(配置的家电遥控)ID
protocolSring码表索引的协议部分
remoteString码表索引的遥控器部分
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
遥控器(硬件)实例 (RemoteInstance)
类型说明
idint数据库自增列,也可以用于标识唯一Operator对象
nameString遥控器名称
rsnString遥控器自身的唯一标识(Android上为遥控器蓝牙MAC地址MD5散列,IOS上为identifier字段散列)
device_pdsnString绑定的底座设备SN(如果绑定时才有效)
device_ipString绑定的底座设备IP地址(如果绑定时才有效)
is_boundint是否绑定底座
mobile_idString设置该遥控器的移动终端唯一标识
- IOS/Android上统一为获取手机硬件的唯一ID编码并进行32字节MD5散列生成 -
user_open_idString用户唯一ID(如果使用了用户登录)
user_nameString用户名
mac_addressString遥控器硬件的MAC地址
statusint是否有效(1: 有效, 0: 无效),默认为1
identifierStringIOS App专用字段,存放从蓝牙扫描回掉中获取的遥控器对象标识信息
update_timeString最近更新时间
remote_instance_typeint实体遥控器的类型(1: 单体, 2: 套装)
remote_instance_statusint实体遥控器所处的状态(1: 工作状态, 2: 升级状态),默认为0
user_idintUser实体的外键引用,指向唯一用户ID
versionString遥控器版本号存档
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
遥控器模式 (Remote)
类型说明
idint数据库自增列,也可以用于标识唯一Remote对象
device_pdsnStringDevice的唯一序号(可选字段,为空表示当前APP没有和Device绑定)
rsnString遥控器自身的唯一标识
nameString自定义名称
category_idint电器类型ID
category_nameString电器类型名称
brand_idint电器品牌ID (仅category_id为1或2时有效)
brand_nameString电器品牌名称 (仅category_id为1或2时有效)
city_codeString城市国标码 (仅category_id为3时有效)
remote_index_idint该遥控器对应的索引对象ID (可选字段,为空表示该模式是通过学习方式得到,否则为下载码表方式得到)
remote_index_nameString该遥控器对应的索引对象名称,对应remote_index中的protocol + remote_map字符串拼接 (可选字段,为空表示该模式是通过学习方式得到,否则为下载码表方式得到)
create_typeint该遥控器模式的获得方式 (0:下载码表方式,1:自学习方式)
remote_codeString所有15键的键名和对应红外编码字符串(APP透传)
remote_instance_idint遥控器实例ID
mac_addressString遥控器实例的MAC地址
statusint是否有效(1: 有效, 0: 无效),默认为1
remote_numberintUCON遥控器上对应的家电空位序号,APP在添加家电遥控器时,根据已有的remote_number列表升序插位算法生成(详情请参考create_remote接口备注)
identiferStringIOS App专用字段,存放从蓝牙扫描回掉中获取的遥控器对象标识信息
binary_versionString底座预约时需要确定的码库代数
applied_remote_versionString适用遥控器的码库版本号
banned_remote_versionString禁用遥控器的码库版本号
applied_device_versionString使用底座的码库版本号
banned_device_versionString禁用的底座码库版本号
radio_typeint无线制式
ble_tag104int用来区分蓝牙主机连接从机的方式(0:使用名字,1:使用MAC地址)
ble_target_macString受控外设名称
ble_target_nameString受控外设MAC地址
room_idint遥控所属房间的ID(room的id字段)
room_nameString遥控所属房间的名称(room的name字段)
sirius_idStringSirius遥控器专属,设备唯一标识的32字节MD5散列报文
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
遥控器关系 (RemoteRelationship)
类型说明
idint数据库自增列,也可以用于标识唯一RemoteRelationship对象
remote_idint被绑定Remote对象的唯一标识
remote_mapString被绑定Remote对象的索引映射
related_remote_idint绑定Remote对象的唯一标识
related_remote_mapString绑定Remote对象的索引映射
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
移动终端UE (Mobile)
类型说明
idint数据库自增列,也可以用于标识唯一Mobile对象
mobile_idString移动终端唯一标识
app_typeintAPP类型(0:iOS客户端,1:Android客户端)
app_versionString当前APP的版本号
push_typeNumber推送平台类型(0:JPush)
conversation_idString推送平台注册ID
longitudedouble手机所处地区的经度
latitudedouble手机所处地区的纬度
update_timeString更新日期,格式为 YYYY-MM-DD hh:mm:ss
statusint是否有效(1: 有效, 0: 无效),默认为1
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
用户行为统计 (Stat)
类型说明
idint数据库自增列,也可以用于标识唯一Stat对象
stat_typeint数据类型,参见STAT_TYPE枚举
udaArrayUser Daily Active
uopArrayUser operation
update_timeString更新时间(产生此记录的服务器时间)
mobile_idString移动终端唯一标识
user_idString用户标识
longitudedouble经度
latitudedouble纬度
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OAuth2.0对象 (OAuth2)
类型说明
app_idString通用OAuth2为移动应用分配的ID
auth_codeString通过第一步HTTP请求获取的授权码
access_tokenString通过第二步换取的令牌码
refresh_tokenString刷新令牌码 -
openidString开放ID
scopeString作用域
expires_inint令牌码失效时间
unionidString联合码
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
微信用户 (WeixinUser)
类型说明
openidString微信为每个用户分配的开放平台ID
nicknameString微信昵称
sexint性别 (1: 男, 2: 女)
headimgurlString头像URL -
countryString国家
provinceString州/省
cityString
unionidString联合码
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
用户 (User)
类型说明
idint数据库自增列,也可以用于标识唯一User对象
weixin_idString微信openID
qq_idStringQQ openID
nameString昵称
avatar_urlString头像的URL
update_timeString更新时间
statusString状态
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
遥控器类型 (Category)
类型说明
idint数据库自增列,也可以用于标识唯一Category对象
nameString类型名称
create_timeString创建时间,格式为 YYYY-MM-DD hh:mm:ss
statusint是否有效(1: 有效, 0: 无效),默认为1
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
遥控器品牌 (Brand)
类型说明
idint数据库自增列,也可以用于标识唯一Brand对象
nameString品牌名称
category_idint该品牌所属的类型的ID(比如大金为空调)
category_nameString该品牌所属的类型的名称
create_timeString创建时间,格式为 YYYY-MM-DD hh:mm:ss
statusint是否有效(1: 有效, 0: 无效),默认为1
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
城市 (City)
类型说明
idint数据库自增列,也可以用于标识唯一City对象
codeString国标码,通过后四字节是否为全0区分省份和地级市
nameString名称
longitudedouble经度
latitidedouble纬度
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
版本 (Version)
类型说明
idint数据库自增列,也可以用于标识唯一Version对象
version_typeint枚举变量,参见VERSION_TYPE枚举说明
sub_typeint枚举变量,参见VERSION_SUB_TYPE枚举说明
remote_typeint枚举变量,参见VERSION_REMOTE_TYPE枚举说明
purposeint枚举变量,参见VERSION_PURPOSE枚举说明
dev_wlan_verString如果是底座版本,则为底座WLAN模块固件版本号,否则为APP版本号
dev_ble_verString底座BLE模块固件版本号
rem_ble_verString遥控器固件版本号
rem_ble_verString遥控器固件版本号
rem_ble_verString遥控器固件版本号
commentStringRlease note
dev_wlan_hashString如果是底座版本,则为底座WLAN模块固件Hash,否则为APP Hash
dev_ble_hashString底座BLE模块固件Hash
rem_ble_hashString遥控器固件Hash
update_timeString发布时间
uploaderString发布人
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
广电运营商 (Operator)
类型说明
idint数据库自增列,也可以用于标识唯一Operator对象
operator_idString国内运营商唯一标识码
operator_nameString名称
city_codeString运营商所属城市国标码
city_nameString运营商所属城市
statusint是否有效(1: 有效, 0: 无效),默认为1
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
家电操作预约 (Subscription)
类型说明
idint数据库自增列,也可以用于标识唯一Subscription对象
sub_timeTime Stamp预约时间,时间戳格式(YYYY-MM-DD HH:mm:ss)
device_pdsnString底座的PDSN(由于预约功能只有配对过底座才能使用,所以这里有底座的SN码)
remote_idString家电遥控器的码表文件名称,和遥控器通过遥控器索引中的protocol,remote_map拼接出来的码表文件名一致
remote_keysString连续发送按键的按键排序(详细解释参见备注)
statusint是否有效(1: 有效, 0: 无效),默认为1
remote_index_typeint码表类型(0: bin码表, 1: 纯键码表)
pure_keysString纯键码
category_idint家电类型ID
mobile_idString手机设备唯一编码(手机的唯一ID号的MD5散列)
user_idString加入社交软件登录功能之后的open_id
remote_noint家用遥控器模式表的外键,标识唯一的家用遥控器模式
remote_instance_idint物理遥控器实例ID
remote_nameString家电遥控名称
radio_typeint无线制式
ble_tag104int用来区分蓝牙主机连接从机的方式(0:使用名字,1:使用MAC地址)
ble_target_macString受控外设名称
ble_target_nameString受控外设MAC地址
-
- - - - - - - - - - - - - - - - - - - - - - - - -
在线开关 (Switch)
类型说明
idint数据库自增列,也可以用于标识唯一Switch对象
uda_switchintUDA功能开关
oad_switchintOAD功能开关
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
升级记录 (UpdateRecord)
类型说明
idint数据库自增列,也可以用于标识唯一UpdateRecord对象
src_remote_versionString升级之前的遥控器版本
dest_remote_versionString升级目标遥控器版本
src_device_versionString升级之前的底座版本
dest_device_versionString升级目标底座版本
remote_update_statusNumber遥控器升级状态(0: 无效,1: 升级完成,2: 升级中)
device_update_statusNumber底座升级状态(0: 无效,1: 升级完成,2: 升级中)
updater_idString发起升级者的唯一标识(底座为PDSN,APP为mobile_id,PC工具为电脑CPU_ID)
updater_typeString发起升级者的类型(0:UCON底座, 1:PC端升级助手, 2:Web, 3:售后升级板, 4:Android APP, 5:iOS APP)
target_pdsnString被升级设备的PDSN(遥控器或者底座的PDSN)
update_timeString更新日期
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
推送消息 (Message)
类型说明
idint数据库自增列,也可以用于标识唯一Message对象
mobile_idString接收方移动终端唯一标识
from_peerString消息发送方ID('data-center':来自数据中心,其它:发送设备的PDSN)
to_peerString在单播中表示mobile_id
to_groupString在组播中表示tag_id
dest_typeNumber目标设备类型(0:广播,1:单播,2:组播)
messageString消息内容枚举变量,详情请参考枚举变量章节
update_timeString更新日期,格式为 YYYY-MM-DD hh:mm:ss
statusint是否有效(1: 有效, 0: 无效),默认为1
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
房间 (Room)
类型说明
idint数据库自增列,也可以用于标识唯一Room对象
nameString房间名称
user_idString用户唯一标识的32字节MD报文
mobile_idString设备唯一标识的32字节MD5报文
room_typeint房间类型(0: 系统预置, 1: 用户自定义)
statusint是否有效(1: 有效, 0: 无效),默认为1
update_timeString更新时间, 格式为YYYY-MM-DD hh:mm:ss
-
-

枚举变量

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
枚举值数值
ITEM_INVALID0
ITEM_VALID1
CITY_NORMAL0
CITY_COVERED1
CATEGORY_AC (空调)1
CATEGORY_TV (电视机)2
CATEGORY_STB (广电机顶盒)3
CATEGORY_NW (网络机顶盒)4
CATEGORY_IPTV (IPTV)5
CATEGORY_DVD (DVD)6
CATEGORY_FAN (电风扇)7
CATEGORY_PROJECTOR (投影仪)8
CATEGORY_STEREO (音响)9
CATEGORY_LIGHT_BULB (灯)10
CATEGORY_BSTB (按品牌归类的机顶盒)11
CATEGORY_CLEANING_ROBOT (扫地机器人)10
CATEGORY_AIR_CLEANER (空气净化器)10
CREATE_TYPE_DOWNLOAD (以下载码库方式生成的遥控器模式)0
CREATE_TYPE_DIY (以自学习方式生成的遥控器模式)1
REMOTE_NOT_BOUND (遥控器没有绑定底座)0
REMOTE_BOUND (遥控器已经绑定底座)1
VERSION_TYPE_DEVICE (底座版本)0
VERSION_TYPE_REMOTE (遥控器版本)1
VERSION_TYPE_IOS (iOS APP 版本)2
VERSION_TYPE_ANDROID (Android APP 版本)3
VERSION_SUB_TYPE_UCON (遥控器版本子类-单机)0
VERSION_SUB_TYPE_REMOTE (遥控器版本子类-组合机)1
VERSION_PURPOSE_OAD (版本发布用途-用户升级)1
VERSION_PURPOSE_UPD (版本发布用途-售后升级)1
VERSION_PURPOSE_FAC (版本发布用途-工场生产)2
STAT_TYPE_UDA (用户行为,日活跃)0
STAT_TYPE_UOP (用户行为,操作)1
SWITCH_ON (开关,允许)1
SWITCH_OFF (开关,禁止)0
SWITCH_TARGET_DEVICE (底座动态开关)0
SWITCH_TARGET_IOS_APP (iOS APP 动态开关)1
SWITCH_TARGET_ANDROID_APP (Android APP 动态开关)2
SWITCH_TARGET_WEBSITE (站点动态开关)3
REMOTE_INSTANCE_TYPE_UCON (单体遥控)0
REMOTE_INSTANCE_TYPE_REMOTE (套装遥控)1
REMOTE_INSTANCE_STATUS_B (遥控器处于正常状态)1
REMOTE_INSTANCE_STATUS_A (遥控器处于升级状态)2
UPDATE_STATE_NONE (升级记录不可用)0
UPDATE_STATE_COMPLETED (升级完成)1
UPDATE_STATE_UPDATING (升级过程中)2
MESSAGE_1 (您的UCON底座已经成功升级到最新版本)1
MESSAGE_2 (您的UCON遥控器已经成功升级到最新版本)2
MESSAGE_3 (您的预约已经执行成功)3
ROOM_TYPE_SYSTEM (系统预置的房间,如客厅,卧室等,所有用户可见)0
ROOM_TYPE_CUSTOM (用户自定义的房间,仅创建者可见)1
-
- -

状态码

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
状态码数值
SUCCESS0 (成功)
FAILED-1 (未知原因错误)
SERVER_ERROR-1 (服务器异常响应)
AUTHENTICATION_FAILURE1 (token鉴权失败)
INVALID_CATEGORY2 (未知的品类)
INVALID_BRAND3 (未知的品牌)
INVALID_PARAMETER4 (参数错误)
DEVICE_ALREADY_REGISTERED50 (该设备已注册)
DEVICE_VALIDATING_FAILED51 (请求注册的设备是非法设备)
DEVICE_NOT_FOUND52 (设备不存在)
CATEGORY_NOT_FOUND100 (品类不存在)
BRAND_NOT_FOUND101 (品牌不存在)
MOBILE_NOT_FOUND150 (移动终端不存在)
REMOTE_INDEX_NOT_FOUND200 (遥控器索引(二进制码表)不存在)
REMOTE_NOT_FOUND201 (遥控器实例不存在)
MULTIPLE_REMOTE_MATCHED202 (匹配到多个遥控器)
REMOTE_BIN_DOWNLOAD_FAILURE203 (二进制码表下载失败)
-
-

返回值

- - - - - - - - -
ServiceResponse
status - 通用返回状态
- status 由以下2个成员构成:
- (1) code:整数型状态码,详情请参考状态码
- (2) cause:文字性说明,目前暂不支持i18n
-
- - - - - - - - - - - - -
SingleDeviceValidationResponse
status获取单个DeviceValidation返回状态
DeviceValidation单个DeviceValidation对象 (非列表)
- - - - - - - - - - - - -
SingleDeviceResponse
status获取单个Device返回状态
Device单个Device对象 (非列表)
- - - - - - - - - - - - -
DeviceResponse
status获取Device列表返回状态
List<Device>Device列表
- - - - - - - - - - - - -
SingleDeviceInstanceResponse
status获取单个DeviceInstance返回状态
DeviceInstance单个DeviceInstance对象 (非列表)
- - - - - - - - - - - - -
DeviceInstanceResponse
status获取DeviceInstance列表返回状态
List<DeviceInstance>DeviceInstance列表
- - - - - - - - - - - - -
SingleMobileResponse
status获取单个Mobile返回状态
Mobile单个Mobile对象 (非列表)
- - - - - - - - - - - - -
MobileResponse
status获取Mobile对象列表返回状态
List<Mobile>Mobile列表
- - - - - - - - - - - - -
CategoryResponse
status获取Category对象列表返回状态
List<Category>Category列表
- - - - - - - - - - - - -
BrandResponse
status获取Brand对象列表返回状态
List<Brand>Brand列表
- - - - - - - - - - - - - - - - -
KeyMatchResponse
status根据按键编码匹配遥控器的返回状态
matchCount本次匹配成功的遥控器数目(如果出现错误或者无匹配则为0)
List<String>如果匹配成功,则装载所有被匹配的remote二进制文件URL,如果匹配失败,为null
- - - - - - - - - - - - -
CityResponse
status获取省份和城市 City 对象列表返回状态
List<City>省份或者地级市列表
- - - - - - - - - - - - -
OperatorResponse
status获取城市广播电视运营商状态
List<Operator>广电运营商列表
- - - - - - - - - - - - -
RemoteIndexResponse
status获取遥控器索引的返回状态
List<RemoteIndex>遥控器索引列表(二进制格式码表列表)
- - - - - - - - - - - - -
SingleRemoteIndexResponse
status获取遥控器实例的返回状态
RemoteInstance单个遥控器实例对象
- - - - - - - - - - - - -
RemoteInstanceResponse
status获取遥控器实例列表返回状态
List<RemoteInstance>遥控器实例列表
- - - - - - - - - - - - -
SingleRemoteInstanceResponse
status获取遥控器(模式)返回状态
RemoteInstance单个遥控器实例对象
- - - - - - - - - - - - -
RemoteResponse
status获取遥控器列表返回状态
List<Remote>遥控器列表
- - - - - - - - - - - - -
SingleRemoteResponse
status获取遥控器(模式)返回状态
Remote单个遥控器对象
- - - - - - - - - - - - -
SingleRemoteRelationshipResponse
status获取遥控器关系返回状态
RemoteRelationship单个遥控器关系实例对象
- - - - - - - - - - - - -
SingleVersionResponse
status获取版本的返回状态
Version单个版本对象
- - - - - - - - - - - - -
SingleSwitchResponse
status获取在线开关的状态
Switch单个开关对象
- - - - - - - - - - - - -
SingleUserResponse
status获取的单个用户状态
User单个用户对象
- - - - - - - - - - - - -
SingleUpdateRecordResponse
status获取的单个升级记录的状态
UpdateRecord单个升级记录对象
- - - - - - - - - - - - -
UpdateRecordResponse
status获取的升级记录列表的状态
List<UpdateRecord>升级记录列表
- - - - - - - - - - - - -
StatResponse
status获取日志的状态
List<Stat>日志列表
- - - - - - - - - - - - -
RoomResponse
status获取Room列表返回状态
List<Room>房间列表
- - - - - - - - - - - - -
SingleRoomResponse
status获取Room对象返回状态
Room单个房间实例
-
-

推送消息

- - - - - - - - - - - - -
底座预约执行成功
字段名字段值
type0
- - - - - - - - - - - - -
底座固件更新成功
字段名字段值
type1
- - - - - - - - - - - - -
遥控器固件更新成功
字段名字段值
type2
-
-
- - - - - - - - - - - - - - - \ No newline at end of file