1. API 说明
- HTTP API 被设计为符合 HTTP,REST 规范。例如:查询请求使用 Get 方法,提交请求使用 Post 方法。如果一个请求不是相应的 HTTP 方法,将返回错误。最终结果参照具体协议的
协议设计原则
- TCP API 被设计成包头 + json的格式
- 如无特殊说明,调用参数值应转码为:UTF-8, URL编码
- URL编码 - WikiPedia定义
1.1 公共参数
参数 | 值 |
---|---|
api_version | 1.0 (0x20171000) (当前版本) |
service_type | CMS AMS UMS PUS DAS (0x06) DAS_UNENCRY (0x16) MNS DSS RMS FTS (0x09) |
platform | android device gateway |
vendor_name | general(王力) virtual feibee(飞比) eques wulian ys7 (萤石) infra (红外宝) |
device_type | camera lock WonlyVideoLock (视频锁) WonlySmartEye (猫眼) WonlySmartAirer (晾霸)
WonlyBtLock (爱感蓝牙锁) WonlySmartEyeYs7 (萤石智能猫眼) WonlyCameraYs7 (萤石摄像头) WonlyDoorMachine (萤石门口机)
WonlyNBLock (王力NB锁) WonlyNBVideoLock (王力NB视频锁) WonlyNBVFaceLock (王力NB可视人脸锁) WonlyTV (电视机)
WonlyAirConditioner (空调) WonlyLGuard (小卫士) WL025S1 (王力平板镶嵌锁第一版)
|
1.2 HTTP API 公共包头
- 请求包头
参数 | 选项 | 说明 | 备注 |
---|---|---|---|
api_version | 必填 | 王力云平台的API版本,所有服务统一版本号 | 见公共参数 |
message_type | 必填 | 请求的消息类型 | 见服务各自的消息类型定义 |
seq_id | 必填 | 请求的编号 | 建议从1 开始,递增 |
- 应答包头
参数 | 说明 | 备注 |
---|---|---|
api_version | 王力云平台的API版本,所有服务统一版本号 | 见公共参数 |
message_type | 请求的消息类型 | 见服务各自的消息类型定义 |
seq_id | 请求的编号 | 请求时发送的值,不做修改直接返回 |
http_code | http状态码 | 见HTTP状态码定义 |
return_string | 返回的状态信息 | 见API状态码对照表 - return_string |
1.3 TCP API 报文格式
包头部分:API版本标识
服务类型
消息类型
状态码
消息长度
备注: 状态码中有固定值代表此报文是请求包
-- | API版本标识 | 服务标识 | 消息类型 | 状态码 | 消息长度 | 消息数据 |
---|---|---|---|---|---|---|
长度 | 4 (byte) | 1 (byte) | 1 (byte) | 4 (byte) | 4 (byte) | -- |
值 | 见公共参数api_version 的16进制 |
见公共参数service_type 的16进制 |
见服务各自的消息类型定义 |
见API状态码对照表 - status_code | 消息数据 的长度 |
见服务各自的包体详解 |
1.4 测试接口功能
HTTP API: 浏览器直接打开服务各自的调用地址
即可进行调试, 验证接口的正确性
TCP API: 采用模拟发包的形式,验证接口的正确性