C.2 MQTT API
MQTT API是对HTTP的一层封装,但是基于MQTT的特性,需要将请求与返回分开
C.2.1 请求
topic为 control/{gateway_id}/v1 gateway_id为网关ID 请求报文为
{
"cmd_id": "uuid",
"method": "PUT",
"url": "/api/device/{device_name}/control_by_name",
"data": {
"key": "M100",
"value": 1,
"value_type": 1
}
}
其中
- cmd_id为指令唯一编号,建议用uuid,返回主题的payload会与之匹配
- url参考http api
- method 参考http api
- data 参考http api的request body,若无请求body,请用”data”:null
C.2.2 返回
topic为 echo/{gateway_id}/v1 gateway_id为网关ID 每次发完control主题后,都会有echo 请求报文为
{
"cmd_id": "uuid",
"msg": "OK",
"ret": 0
}
其中 * cmd_id为指令唯一编号,与control中的cmd_id匹配 * msg,请求返回值 * ret 若请求成功,值为0,若失败,参考http api的http_statuscode