# 智能设备列表
GET
https://api.mch.weixin.qq.com/v3/iotmanage/devices
# 业务介绍
商户可以通过该接口分页拉取到自己拥有的设备的列表
# 接口限制
- 每次拉取设备数量不能超过100条
- 每秒请求数量不能超过20次
- 每日请求数量不能超过50000次
# 设备品类枚举
device_category_code | device_category |
---|---|
0 | 未知设备 |
1 | 青蛙设备 |
2 | 桌面收银设备 |
3 | 行业收银硬件 |
4 | 刷卡机 |
5 | 智能音响 |
6 | 智能扫码枪 |
7 | 无人自助设备 |
8 | 团餐设备 |
9 | 自助收银设备 |
10 | 孵化类设备 |
11 | 闸机 |
200 | 临时类 |
# 设备类型枚举
device_class_code | device_class |
---|---|
0 | 未知 |
1 | 基础版 |
2 | Mini版 |
3 | Pro版 |
101 | 大屏自助收银机 |
102 | 校园刷卡机 |
103 | 自助售货机 |
104 | 取票机 |
105 | 充电宝设备 |
106 | 自助一体机 |
107 | 团餐机 |
108 | 游艺机 |
109 | 自助存取柜 |
110 | 手持设备 |
111 | 加油加气设备 |
112 | 智能购物车 |
114 | 桌面单屏刷脸设备 |
116 | 桌面双屏刷脸设备 |
118 | 桌面双屏POS设备 |
120 | 桌面称重设备 |
124 | 医保设备 |
132 | 彩票机 |
134 | 充电桩设备 |
172 | 视觉识别设备 |
180 | 门禁设备 |
200 | 临时类别 |
# 刷脸应用软件模式枚举
app_scene_code | app_scene |
---|---|
1 | SDK模式 |
2 | APP模式 |
3 | 离线模式 |
4 | 境外APP模式 |
# 错误码描述
名称 | 状态码 | 原因 | 解决方案 |
---|---|---|---|
PARAM_ERROR | 400 | 参数不合法 | 请在query里携带offset、limit参数 |
SYSTEM_ERROR | 500 | 系统错误 | 系统异常,请使用相同参数稍后重新调用 |
FREQUENCY_LIMITED | 429 | 接口有频率限制 | 请降低频率后重试 |
# 基本信息
CgiName | mmpayiotdevicemanagelogicsvr_devices_listdevices |
CmdId | 16168 |
ServiceType | 未设置 |
请求类型 | JSON |
返回类型 | JSON |
频率限制 | 接口级 (校验登录态前触发):无限制 客户端+接口 (校验登录态前触发):规则ID 20000730,在1秒内,每次请求算作1次,如果超过了20次。下次请求将被限制。 用户+接口 (校验登录态后触发):规则ID 20000731,在86400秒内,每次请求算作1次,如果超过了50000次。下次请求将被限制。 |
# 公用参数
标题 | 代码 | 类型 | 多重性 | 说明 | |
鉴权信息 | authorization | string | 必填 | 请求包头 微信支付要求请求通过 HTTP Authorization 头来传递签名。 Authorization 由认证类型和签名信息两个部分组成。 Authorization: 认证类型 签名信息 具体组成为: 认证类型: 目前为 WECHATPAY2-SHA256-RSA2048 签名信息: 采用逗号分隔符分开的 key1="value1",key2="value2" 签名信息列表。其中信息如下: | |
key名称 | 信息类型 | ||||
mchid | 商户号 | ||||
nonce_str | 请求随机串 (须与签名字段值一致) | ||||
signature | 签名值 | ||||
timestam | 时间戳 (须与签名字段值一致) | ||||
serial_no | 证书序列号 | ||||
示例值: Authorization: WECHATPAY2-SHA256-RSA2048 mch_id="1232345",nonce_str="VKZ4Y0QA1PL6OL1Z",timestamp="1543462143", serial_no="xxx",signature="xxxx" |
# 请求参数
标题 | 代码 | 类型 | 多重性 | 说明 |
---|---|---|---|---|
最大资源条数 | limit | uint64 | 必填 | 仅从URL该次请求可返回的最大资源条数,不大于100示例值: 5 |
请求资源起始位置 | offset | uint64 | 必填 | 仅从URL该次请求资源的起始位置示例值: 10 |
# 返回结果
标题 | 代码 | 类型 | 多重性 | 说明 |
设备列表 | data | message | 多重 | 设备列表,包含以下16个字段 ↓ |
标题 | 代码 | 类型 | 多重性 | 说明 |
设备序列号 | device_sn | string | 可选 | 设备的序列号,唯一定义此资源的标识 示例值: HSA1RF5A0700165YuJCL8n7 |
摄像头序列号 | camera_sn | string | 可选 | 摄像头的序列号 示例值: IMIH-A100SPMV4C6001646 |
设备品类代码 | device_category_code | string | 可选 | 设备品类代码,详见文档中的设备品类枚举 示例值: 2 |
设备品类 | device_category | string | 可选 | 设备品类,详见文档中的设备品类枚举 示例值: 行业刷脸硬件 |
设备类型代码 | device_class_code | string | 可选 | 设备类型代码,详见文档中的设备类型枚举 示例值: 101 |
设备类型 | device_class | string | 可选 | 设备类型,详见文档中的设备类型枚举 示例值: 自助收银机 |
设备型号 | device_model | string | 可选 | 设备的型号,描述性文字,和服务商平台保持一致(不建议作为业务标识符使用) 示例值: 5510R |
刷脸应用软件模式代码 | app_scene_code | string | 可选 | 刷脸应用软件模式代码,详见文档中的刷脸应用软件模式枚举 示例值: 1 |
刷脸应用软件模式 | app_scene | string | 可选 | 刷脸应用软件模式,详见文档中的刷脸应用软件模式枚举 示例值: SDK模式 |
刷脸应用操作系统 | operating_system | string | 可选 | ANDROID/LINUX/WINDOWS 示例值: ANDROID |
激活状态 | activation_status | string | 可选 | 激活-ACTIVATED,未激活-INACTIVATED 示例值: ACTIVATED |
激活时间 | activation_time | string | 可选 | 设备激活时间 示例值: 2020-03-31 19:38:00.120+08:00 |
商户号 | mchid | string | 可选 | 使用设备的商户的商户号 示例值: 1900000001 |
商户简称 | merchant_shortname | string | 可选 | 使用设备的商户的商户简称 示例值: 某公司 |
子商户号 | sub_mchid | string | 可选 | 使用设备的子商户的商户号 示例值: 1900000002 |
子商户简称 | sub_merchant_shortname | string | 可选 | 使用设备的子商户的商户简称 示例值: 某公司 |
请求资源起始位置 | offset | uint64 | 可选 | 该次请求资源的起始位置,同请求的 示例值: 10 |
最大资源条数 | limit | uint64 | 可选 | 该次请求可返回的最大资源条数 示例值: 5 |
资源总条数 | total_count | uint64 | 可选 | 可选返回,资源总条数。当offset=0或者当前查询为空时应该返回总条数。如果系统性能允许时,建议返回。 示例值: 1234 |
相关链接 | links | message | 可选 | JSON结构体,包含以下的3个字段 ↓ |
标题 | 代码 | 类型 | 多重性 | 说明 |
下一页链接 | next | string | 可选 | 使用同样的limit进行下一页查询时的请求链接。如果已经到最后时,为空 示例值: /v3/iotmanage/devices?offset=20limit=5 |
上一页链接 | prev | string | 可选 | 使用同样的limit进行上一页查询时的请求链接。如果是第一页,为空 示例值: /v3/iotmanage/devices?offset=10limit=5 |
当前链接 | self | string | 可选 | 当前的请求链接 示例值: /v3/iotmanage/devices?offset=15limit=5 |
# 示例代码
JS Fetch API
小程序 wx.request
// 拼装URL
let limit = encodeURIComponent(5);
let offset = encodeURIComponent(10);
let url = `https://api.mch.weixin.qq.com/v3/iotmanage/devices`;
url += `?limit=${ limit }`;
url += `&offset=${ offset }`;
// 设置包头
let headers = {};
// 发送请求
fetch(url, {
headers: headers,
method: "GET"
})
.then(response => response.json())
.then(response => console.log("Success:", JSON.stringify(response)))
.catch(error => console.error("Error:", error));