设备透传接口
该接口用于开发者下发指令到设备,通过该接口可实现设备设置、报警设置和查询等功能。具体协议内容请咨询我公司设备侧对接人。
接口调用说明
请求地址 : /v1/api/device/trans_cmd
请求方式 : POST
请求头
参数名 |
参数值 |
是否必须 |
Content-Type |
application/json |
是 |
X-Token |
实际accessToken |
是 |
请求报文体
名称 |
类型 |
是否必须 |
备注 |
deviceSn |
String |
是 |
设备序列号 |
data |
String |
是 |
透传指令数据,内容见【常用设备协议】,需要将对应协议的请求json转为字符串 |
{
"data":"{\"method\":\"chnosd_get_param\",\"param\":{\"channelid\":0}}",
"deviceSn":"XXXXXXXXXXXX"
}
响应报文
名称 |
类型 |
是否必须 |
备注 |
code |
int |
是 |
状态码 |
msg |
String |
是 |
状态码解释信息 |
data |
String |
是 |
返回内容 |
{
"code":1000,
"msg":"OK",
"data":"{\"method\":\"chnosd_get_param\",\"request_id\":\"e08970aa-dfba-43db-bfdb-7c1161bd3321\",\"result\":{\"bShowOSD\":true,\"timeFormat\":\"YYYY-MM-DD hh:mm:ss\",\"position\":\"hide\",\"timePos\":\"left_top\",\"channelName\":\"HD IPC\",\"bOsdInvColEn\":false,\"bLargeOSD\":true},\"error\":{\"errorcode\":0},\"sentcnt\":0}"
}
注意:
- 该接口的响应报文中的code表示的是服务端的状态码,表示服务端传输成功与否。
- code = 1000 代表服务端响应成功。
- 协议中的错误码 errorcode 表示设备是否成功执行指令。
- errorcode = 0 代表设备执行指令成功,其他代表设备执行指令失败。
设备报错时返回信息示例
原始返回数据
{
"code": 1000,
"msg": "OK",
"data": "{\"method\":\"image_get_ability\",\"request_id\":\"73deb5ed-e6a7-477f-9f08-9b353586f66b\",\"error\":{\"errorcode\":-32004,\"message\":\"Function not support\"},\"sentcnt\":0}"
}
原始数据data参数转化为json
{
"method": "image_get_ability",
"request_id": "73deb5ed-e6a7-477f-9f08-9b353586f66b",
"error": {
"errorcode": -32004,
"message": "Function not support"
},
"sentcnt": 0
}
Shell请求示例
请求示例
curl --location 'https://openapi.cloudsee.com/v1/api/device/trans_cmd' \
--header 'Authorization: Bearer 96d96bab-c341-40bc-87da-be1b4cdd80c7' \
--header 'Content-Type: application/json' \
--data '{
"deviceSn":"DH1239012312",
"data":"{\"method\":\"ptz_fi_start\",\"param\":{\"channelid\":0,\"focusFar\":-12,\"irisOpen\":0}}"
}'
返回数据
{
"code": 1000,
"message": "success",
"data": {
"method": "ptz_move_start",
"error": {
"message": "Success",
"errorcode": 0
},
"request_id": "b5ed-e6a7-477f-9f08-9b353586"
}
}
状态码 |
状态描述 |
1000 |
code=1000仅表示与设备通信成功,设备是否成功返回结果需要根据data中的errorcode进行判断 |
1001 |
参数格式错误或缺失 |
1002 |
请求异常 |
1006 |
AccessToken过期或异常 |
2002 |
设备不在线 |
2008 |
设备不存在 |