Appearance
简介
如果硬件设备使用API接口,可以将https去掉s作http接口使用。
创建单个主题
用户创建主题
POST接口
数据类型 Content-Type: application/json
https://pro.bemfa.com/v1/createTopic
参数 | 是否必须 | 说明 |
---|---|---|
uid | 是 | 用户私钥 |
topic | 是 | 主题值,仅限字母、数字 |
type | 是 | 类型类型 |
name | 否 | 主题昵称,中英文不限 |
type字段值说明
值 | 说明 |
---|---|
1 | MQTT协议设备 |
3 | TCP协议设备 |
5 | MQTT协议设备V2版本,内测中 |
7 | TCP协议设备V2版本,内测中 |
topic字段值说明:
根据topic字段后三位判断主题类型
当主题名字后三位是001时为插座设备。
当主题名字后三位是002时为灯泡设备。
当主题名字后三位是003时为风扇设备。
当主题名字后三位是004时为传感器设备。
当主题名字后三位是005时为空调设备。
当主题名字后三位是006时为开关设备。
当主题名字后三位是009时为窗帘设备。
请求体示例:
{
"uid": "00ad90fe27444dff9d5ee32b94c5ae08",
"type": 3,
"topic": "led002"
}
请求正常响应:
{
"code": 0,
"message": "OK",
"data": 0
}
code 字段说明:
状态码 | 说明 |
---|---|
0 | 成功 |
10002 | 请求参数有误 |
40000 | 未知错误 |
40006 | 设备已存在 |
40009 | 主题错误,仅限字母、数字,最大长度64 |
创建多个主题
用户创建主题
POST接口
数据类型 Content-Type: application/json
https://pro.bemfa.com/vs/web/v1/addTopics
参数 | 是否必须 | 类型 | 说明 |
---|---|---|---|
openID | 是 | 字符串类型 | 用户私钥 |
topics | 是 | 字符串数组 | 主题值,最多一次可创建20个 |
type | 是 | int整型 | 主题类型 |
room | 否 | 字符串类型 | 房间 |
group | 否 | 字符串类型 | 分组 |
adminID | 否 | int整型 | 企业ID |
type字段值说明
值 | 说明 |
---|---|
1 | MQTT协议设备 |
3 | TCP协议设备 |
5 | MQTT协议设备V2版本,内测中 |
7 | TCP协议设备V2版本,内测中 |
topic字段值说明:
根据topic字段后三位判断主题类型
当主题名字后三位是001时为插座设备。
当主题名字后三位是002时为灯泡设备。
当主题名字后三位是003时为风扇设备。
当主题名字后三位是004时为传感器设备。
当主题名字后三位是005时为空调设备。
当主题名字后三位是006时为开关设备。
当主题名字后三位是009时为窗帘设备。
请求体示例:
{
"openID": "00ad90fe27444dff9d5ee32b94c5ae08",
"type": 3,
"topics": [
"xxsn001",
"xxsn1002",
"xxsn2002",
"xxsn042",
"led002"
],
"group": "分组一",
"adminID": 0
}
请求正常响应:
{
"code": 0,
"msg": "success",
"data": {
"code": 0,
"message": ""
}
}
code 字段说明:
状态码 | 说明 |
---|---|
0 | 成功 |
10002 | 请求参数有误 |
40000 | 未知错误 |
40006 | 设备已存在 |
删除主题
用户删除主题
POST接口
数据类型 "Content-Type": "application/json; charset=utf-8"
https://pro.bemfa.com/v1/deleteTopic
参数 | 是否必须 | 说明 |
---|---|---|
uid | 是 | 用户私钥 |
topic | 是 | 主题名称,仅限字母、数字类型 |
type | 是 | 设备类型 |
type字段值说明
值 | 说明 |
---|---|
1 | MQTT协议设备 |
3 | TCP协议设备 |
5 | MQTT协议设备V2版本,内测中 |
7 | TCP协议设备V2版本,内测中 |
JSON格式 请求体示例:
{
"uid":"4d9ec352e0376f2110a0c601a2857225",
"topic":"tttt006",
"type":3
}
请求正常响应:
{
"code": 0,
"message": "OK",
"data": 0
}
code 字段说明:
状态码 | 说明 |
---|---|
0 | 成功 |
10002 | 请求参数有误 |
40000 | 未知错误 |
40004 | uid或topic错误 |
推送消息
POST接口
数据类型 "Content-Type": "application/json; charset=utf-8"
API: https://apis.bemfa.com/va/postJsonMsg
参数 | 是否必须 | 说明 |
---|---|---|
uid | 是 | 用户私钥,巴法云控制台获取 |
topic | 是 | 主题名,可在控制台创建 |
type | 是 | 主题类型,当type=1时是MQTT协议,3是TCP协议 |
msg | 是 | 消息体,要推送的消息,自定义即可,比如on,或off等等 |
wemsg | 否 | 发送到微信的消息,自定义即可。如果携带此字段,会将消息发送到微信 |
JSON格式 请求体示例:
{
"uid": "7801e4ba1bf7406593d47250797860fd",
"topic": "led002",
"type": 3,
"msg": "on"
}
正确返回:
{
"code": 0,
"message": "OK",
"data": 0
}
code 字段说明:
code状态码 | 说明 |
---|---|
0 | 成功 |
10002 | 请求参数有误 |
40000 | 未知错误 |
40004 | 私钥或主题错误 |
推送示例可参考:
GET接口
API: https://apis.bemfa.com/va/sendMessage
参数 | 是否必须 | 说明 |
---|---|---|
uid | 是 | 用户私钥,巴法云控制台获取 |
topic | 是 | 主题名,可在控制台创建 |
type | 是 | 主题类型,当type=1时是MQTT协议,3是TCP协议 |
msg | 是 | 消息体,要推送的消息,自定义即可,比如on,或off等等 |
wemsg | 否 | 发送到微信的消息,自定义即可。如果携带此字段,会将消息发送到微信 |
请求体示例:
正确返回:
{
"code": 0,
"message": "OK",
"data": 0
}
code 字段说明:
code状态码 | 说明 |
---|---|
0 | 成功 |
10002 | 请求参数有误 |
40000 | 未知错误 |
40004 | 私钥或主题错误 |
获取消息
获取主题消息,支持GET协议:
1、HTTP GET接口
API: https://apis.bemfa.com/va/getmsg
参数 | 是否必须 | 说明 |
---|---|---|
uid | 是 | 用户私钥,巴法云控制台获取 |
topic | 是 | 主题名,可在控制台创建 |
type | 是 | 主题类型,当type=1时是MQTT协议,3是TCP协议 |
num | 否 | 获取的历史数据条数,不填默认默认是1,最大5000 |
示例:https://apis.bemfa.com/va/getmsg?uid=d4c470e057e04a3e8b2fefd0b74b6b16&topic=23123001&type=3
正确返回:
{
"code": 0,
"message": "OK",
"data": [
{
"msg": "on",
"time": "2022-08-03 17:26:34",
"unix": 1659518794
}
]
}
code 字段说明:
状态码 | 说明 |
---|---|
0 | 成功 |
10002 | 请求参数有误 |
40000 | 未知错误 |
40004 | 私钥或主题错误 |
data内字段说明:
字段 | 说明 |
---|---|
msg | 获取的主题消息 |
time | 消息发送的时间,时区UTC/GMT+08:00 |
unix | 消息发送的时间戳 |
获取设备所有分组
GET接口
API: http://apis.bemfa.com/vb/api/v1/allGroup
参数 | 是否必须 | 说明 |
---|---|---|
openID | 是 | 用户私钥,巴法云控制台获取 |
type | 是 | 主题名,可在控制台创建 |
type字段值说明
值 | 说明 |
---|---|
1 | MQTT协议设备 |
3 | TCP协议设备 |
5 | MQTT协议设备V2版本,内测中 |
7 | TCP协议设备V2版本,内测中 |
示例:http://apis.bemfa.com/vb/api/v1/allGroup?openID=00ad90fe27444dff9d5ee32b94c5ae08&type=3
正确返回:
{
"code": 0,
"msg": "success",
"data": {
"data": [
{
"name": "未分组",
"num": 2
},
{
"name": "设备一",
"num": 5
},
{
"name": "设备二",
"num": 4
}
]
}
}
data字段说明:
字段 | 说明 |
---|---|
name | 分组名称 |
num | 分组内设备数量 |
通过分组获取设备
GET接口
API: http://apis.bemfa.com/vb/api/v1/groupTopic
参数 | 是否必须 | 类型 | 说明 |
---|---|---|---|
openID | 是 | 字符串类型 | 用户私钥 |
type | 是 | int整型 | 主题类型 |
group | 否 | 字符串类型 | 分组 |
type字段值说明
值 | 说明 |
---|---|
1 | MQTT协议设备 |
3 | TCP协议设备 |
5 | MQTT协议设备V2版本,内测中 |
7 | TCP协议设备V2版本,内测中 |
示例:http://apis.bemfa.com/vb/api/v1/groupTopic?openID=00ad90fe27444dff9d5ee32b94c5ae08&type=1&group=未分组
正确返回:
{
"code": 0,
"msg": "success",
"data": {
"data": [
{
"topic": "1245001",
"type": 1,
"sid": "",
"time": "2024-06-27 10:51:58",
"unix": 1719456718,
"online": false,
"name": "插座",
"room": "",
"msg": "off"
},
{
"topic": "2322006",
"type": 1,
"sid": "",
"time": "2024-03-31 23:49:22",
"unix": 1711900162,
"online": false,
"name": "开关",
"room": "",
"msg": "off"
}
]
}
}
data内字段说明:
字段 | 说明 |
---|---|
topic | 主题值 |
type | 设备类型 |
sid | 如果是分享设备,此字段是分享者密钥 |
time | 消息发送的时间,时区UTC/GMT+08:00 |
unix | 消息发送的时间戳 |
online | 是否在线 |
name | 主题名字 |
room | 房间名字 |
msg | 消息体 |
获取设备所有房间
GET接口
API: http://apis.bemfa.com/vb/api/v1/allRoom
参数 | 是否必须 | 类型 | 说明 |
---|---|---|---|
openID | 是 | 字符串类型 | 用户私钥 |
type | 是 | int整型 | 主题类型 |
type字段值说明
值 | 说明 |
---|---|
1 | MQTT协议设备 |
3 | TCP协议设备 |
5 | MQTT协议设备V2版本,内测中 |
7 | TCP协议设备V2版本,内测中 |
示例:http://apis.bemfa.com/vb/api/v1/allRoom?openID=00ad90fe27444dff9d5ee32b94c5ae08&type=3
正确返回:
{
"code": 0,
"msg": "success",
"data": {
"data": [
{
"name": "未分组",
"num": 11
}
]
}
}
data字段说明:
字段 | 说明 |
---|---|
name | 名称 |
num | 设备数量 |
通过房间获取设备
GET接口
API: http://apis.bemfa.com/vb/api/v1/roomTopic
参数 | 是否必须 | 类型 | 说明 |
---|---|---|---|
openID | 是 | 字符串类型 | 用户私钥 |
type | 是 | int整型 | 主题类型 |
room | 否 | 字符串类型 | 房间 |
type字段值说明
值 | 说明 |
---|---|
1 | MQTT协议设备 |
3 | TCP协议设备 |
5 | MQTT协议设备V2版本,内测中 |
7 | TCP协议设备V2版本,内测中 |
示例:http://apis.bemfa.com/vb/api/v1/roomTopic?openID=00ad90fe27444dff9d5ee32b94c5ae08&type=3&room=未分组
正确返回:
{
"code": 0,
"msg": "success",
"data": {
"data": [
{
"topic": "xxsn032",
"type": 3,
"sid": "",
"time": "",
"unix": 0,
"online": false,
"name": "",
"room": "",
"msg": ""
},
{
"topic": "xxsn042",
"type": 3,
"sid": "",
"time": "",
"unix": 0,
"online": false,
"name": "",
"room": "",
"msg": ""
}
]
}
}
data内字段说明:
字段 | 说明 |
---|---|
topic | 主题值 |
type | 设备类型 |
sid | 如果是分享设备,此字段是分享者密钥 |
time | 消息发送的时间,时区UTC/GMT+08:00 |
unix | 消息发送的时间戳 |
online | 是否在线 |
name | 主题名字 |
room | 房间名字 |
msg | 消息体 |
获取所有主题信息
1、GET接口
API: https://apis.bemfa.com/va/alltopic
参数 | 是否必须 | 说明 |
---|---|---|
uid | 是 | 用户私钥,巴法云控制台获取 |
type | 是 | 主题类型,当type=1时是MQTT协议,3是TCP协议 |
正确返回:
{
"code": 0,
"message": "OK",
"data": [
{
"topic": "cat002",
"msg": "off",
"name": "home light",
"online": true,
"tid": "light",
"sid": "",
"time": "2022-08-03 16:39:27",
"unix": 1659515967
},
{
"topic": "me001",
"msg": "on",
"name": "电视",
"online": false,
"tid": "outlet",
"sid": "",
"time": "2022-08-03 11:49:11",
"unix": 1659498551
}
]
}
code 字段说明:
状态码 | 说明 |
---|---|
0 | 成功 |
10002 | 请求参数有误 |
40000 | 未知错误 |
40003 | 私钥错误 |
data内字段说明:
字段 | 说明 |
---|---|
topic | 主题值 |
msg | 消息体 |
name | 主题名字 |
online | 是否在线 |
tid | 设备类型 |
sid | 如果是分享设备,此字段是分享者密钥 |
time | 消息发送的时间,时区UTC/GMT+08:00 |
unix | 消息发送的时间戳 |
tid字段说明:
字段 | 说明 |
---|---|
outlet | 插座 |
light | 灯 |
fan | 风扇 |
sensor | 传感器 |
aircondition | 空调 |
switch | 开关 |
curtain | 窗帘 |
获取单个主题信息
1、GET接口
API: https://apis.bemfa.com/vb/api/v1/topicInfo
参数 | 是否必须 | 类型 | 说明 |
---|---|---|---|
openID | 是 | 字符串类型 | 用户私钥 |
type | 是 | int整型 | 主题类型 |
topic | 是 | 字符串类型 | 主题 |
type字段值说明
值 | 说明 |
---|---|
1 | MQTT协议设备 |
3 | TCP协议设备 |
5 | MQTT协议设备V2版本,内测中 |
7 | TCP协议设备V2版本,内测中 |
正确返回:
{
"code": 0,
"msg": "success",
"data": {
"name": "灯",
"msg": "off",
"online": false,
"onlineNum": 0,
"pubOnline": false,
"deviceType": "light",
"shareOpenID": "",
"group": "",
"room": "客厅",
"time": "2024-05-23 17:22:06",
"unix": 1716456126,
"createTime": "2023-09-13 16:40:21"
}
}
data内字段说明:
参数 | 类型 | 说明 |
---|---|---|
name | 字符串 | 主题名称 |
msg | 字符串或json | 消息 |
online | bool | 订阅是否在线 |
onlineNum | 整形 | 订阅在线个数 |
pubOnline | bool | 发布者是否在线,半小时内是否有消息推送 |
onlineNum | 整形 | 订阅在线个数 |
shareOpenID | 字符串 | 分享者私钥,需base64解码 |
group | 字符串 | 分组名,空是没有分组 |
room | 字符串 | 房间名,空是没有房间 |
time | 字符串 | 主题消息发送的时间,时区UTC/GMT+08:00 |
unix | 整形 | 消息发送的时间戳 |
createTime | 字符串 | 主题创建的时间,时区UTC/GMT+08:00 |
deviceType字段说明:
字段 | 说明 |
---|---|
outlet | 插座 |
light | 灯 |
fan | 风扇 |
sensor | 传感器 |
aircondition | 空调 |
switch | 开关 |
curtain | 窗帘 |
获取设备在线
GET接口
API: https://apis.bemfa.com/va/online
参数 | 是否必须 | 说明 |
---|---|---|
uid | 是 | 用户私钥,巴法云控制台获取 |
topic | 是 | 主题名,可在控制台创建 |
type | 是 | 主题类型,当type=1时是MQTT协议,3是TCP协议 |
正确返回:
{
"code": 0,
"message": "OK",
"data": false
}
code 字段说明:
状态码 | 说明 |
---|---|
0 | 成功 |
10002 | 请求参数有误 |
40000 | 未知错误 |
40004 | 私钥或主题错误 |
data 字段说明:
状态码 | 说明 |
---|---|
true | 设备在线 |
false | 设备离线 |
修改设备房间
POST接口
API: http://apis.bemfa.com/vb/api/v1/changeTopicRoom
请求参数:
参数 | 是否必须 | 类型 | 说明 |
---|---|---|---|
openID | 是 | 字符串类型 | 用户私钥 |
topicIDs | 是 | 字符串数组 | 主题值,最少修改一个,最多一次可修改50个 |
room | 否 | 字符串类型 | 房间 ,空值表示清空房间 |
type字段值说明
值 | 说明 |
---|---|
1 | MQTT协议设备 |
3 | TCP协议设备 |
5 | MQTT协议设备V2版本,内测中 |
7 | TCP协议设备V2版本,内测中 |
请求示例:
{
"openID":"00ad90fe27444dff9d5ee32b94c5ae08",
"topicIDs":["0D4061002"],
"type":3,
"rome":"客厅"
}
正确返回:
{
"code": 0,
"msg": "success",
"data": {
"code": 0
}
}
data字段说明:
字段 | 说明 |
---|---|
code | 0成功 |
修改设备分组
POST接口
API: http://apis.bemfa.com/vb/api/v1/changeTopicGroup
请求参数:
参数 | 是否必须 | 类型 | 说明 |
---|---|---|---|
openID | 是 | 字符串类型 | 用户私钥 |
topicIDs | 是 | 字符串数组 | 主题值,最少修改一个,最多一次可修改50个 |
group | 否 | 字符串类型 | 分组名 ,空值表示清空分组 |
type字段值说明
值 | 说明 |
---|---|
1 | MQTT协议设备 |
3 | TCP协议设备 |
5 | MQTT协议设备V2版本,内测中 |
7 | TCP协议设备V2版本,内测中 |
请求示例:
{
"openID":"00ad90fe27444dff9d5ee32b94c5ae08",
"topicIDs":["sn01"],
"type":3,
"group":"分组2"
}
正确返回:
{
"code": 0,
"msg": "success",
"data": {
"code": 0
}
}
data字段说明:
字段 | 说明 |
---|---|
code | 0成功 |
修改主题昵称
修改设备昵称
POST接口
数据类型 "Content-Type": "application/json; charset=utf-8"
https://apis.bemfa.com/va/modifyName
参数 | 是否必须 | 说明 |
---|---|---|
uid | 是 | 用户私钥 |
topic | 是 | 主题名称,仅限字母、数字类型 |
type | 是 | 类型类型 |
name | 是 | 主题昵称 |
type字段值说明
值 | 说明 |
---|---|
1 | MQTT协议设备 |
3 | TCP协议设备 |
5 | MQTT协议设备V2版本,内测中 |
7 | TCP协议设备V2版本,内测中 |
请求示例:
{
"uid":"00ad90fe27444dff9d5ee32b94c5ae08",
"topic":"sn001",
"type":3,
"name":"卧室灯"
}
请求正常响应:
{
"code": 0,
"message": "OK",
"data": 0
}
code 字段说明:
状态码 | 说明 |
---|---|
0 | 成功 |
10002 | 请求参数有误 |
40000 | 未知错误 |
获取主题昵称
获取主题昵称
GET接口
https://apis.bemfa.com/va/getName
参数 | 是否必须 | 说明 |
---|---|---|
uid | 是 | 用户私钥 |
topic | 是 | 主题名称 |
type | 是 | 类型类型 |
type字段值说明
值 | 说明 |
---|---|
1 | MQTT协议设备 |
3 | TCP协议设备 |
5 | MQTT协议设备V2版本,内测中 |
7 | TCP协议设备V2版本,内测中 |
请求正常响应:
{
"code": 0,
"message": "OK",
"data": "传感器"
}
data 字段是获取的主题昵称。
code 字段说明:
状态码 | 说明 |
---|---|
0 | 成功 |
10002 | 请求参数有误 |
40000 | 未知错误 |
40004 | 密钥或主题错误 |
获取时间
单片机使用建议使用http,端口80。https默认端口443。
GET接口
API: https://api.bemfa.com/api/time/now/
参数 | 是否必须 | 说明 |
---|---|---|
type | 否 | type不填默认为1,type=1是只获取时间,等于2获取日期和时间 |
示例:https://api.bemfa.com/api/time/now/?type=1
esp8266示例下载: 点击下载
esp32示例下载: 点击下载
设备分享
设备分享相关共有三个接口:设备分享,获取设备已分享列表,删除设备分享。
1、设备分享接口
POST接口
数据类型 "Content-Type": "application/json; charset=utf-8"
API: https://apis.bemfa.com/va/shareDevice
参数 | 是否必须 | 说明 |
---|---|---|
uid | 是 | 用户私钥,巴法云控制台获取 |
topic | 是 | 主题名,可在控制台创建 |
type | 是 | 主题类型,当type=1时是MQTT协议,3是TCP协议 |
name | 是 | 设备昵称 |
是 | 接收人的邮箱 |
请求示例:
{
"uid":"00ad90fe27444dff9d5ee32b94c5ae08",
"topic":"sn001",
"type":3,
"name":"卧室灯",
"email":"133xxxxxxx@qq.com"
}
正确返回:
{
"code": 0,
"message": "OK",
"data": null
}
code 字段说明:
状态码 | 说明 |
---|---|
0 | 成功 |
10002 | 请求参数有误 |
40000 | 未知错误 |
40004 | 私钥或主题错误 |
40005 | 接入人邮箱错误或不存在 |
40005 | 设备已存在 |
2、获取设备已分享列表
GET接口
API: https://apis.bemfa.com/va/getShareList
参数 | 是否必须 | 说明 |
---|---|---|
uid | 是 | 用户私钥,巴法云控制台获取 |
topic | 是 | 主题名,可在控制台创建 |
type | 是 | 主题类型,当type=1时是MQTT协议,3是TCP协议 |
正确返回:
{
"code": 0,
"message": "OK",
"data": [
{
"email": "1217xxxxxx1@qq.com",
"time": "2022-08-04 10:45:57",
"unix": 1659581157
},
{
"email": "1217xxxxxx2@qq.com",
"time": "2022-08-04 10:45:59",
"unix": 1659581159
},
]
}
code 字段说明:
状态码 | 说明 |
---|---|
0 | 成功 |
10002 | 请求参数有误 |
40000 | 未知错误 |
40004 | 私钥或主题错误 |
data内字段说明:
字段 | 说明 |
---|---|
接收者邮箱 | |
time | 消息发送的时间,时区UTC/GMT+08:00 |
unix | 消息发送的时间戳 |
3、删除分享
POST接口
数据类型 "Content-Type": "application/json; charset=utf-8"
API: https://apis.bemfa.com/va/deleteShare
参数 | 是否必须 | 说明 |
---|---|---|
uid | 是 | 用户私钥,巴法云控制台获取 |
topic | 是 | 主题名,可在控制台创建 |
type | 是 | 主题类型,当type=1时是MQTT协议,3是TCP协议 |
是 | 接收人的邮箱 |
请求示例:
{
"uid":"00ad90fe27444dff9d5ee32b94c5ae08",
"topic":"sn001",
"type":3,
"email":"133xxxxxxx@qq.com"
}
正确返回:
{
"code": 0,
"message": "OK",
"data": null
}
code 字段说明:
状态码 | 说明 |
---|---|
0 | 成功 |
10002 | 请求参数有误 |
40000 | 未知错误 |
40004 | 私钥或主题错误 |
40005 | 接入人邮箱错误或不存在 |