# 发送设备消息

调试诊断

接口应在服务器端调用,不可在前端(小程序、网页、APP等)直接调用,具体可参考接口调用指南

接口英文名:sendHardwareDeviceMessage

通过该接口向用户发送设备消息。

# 1. 调用方式

# HTTPS 调用

POST https://api.weixin.qq.com/cgi-bin/message/device/subscribe/send?access_token=ACCESS_TOKEN

# 云调用

  • 本接口不支持云调用

# 第三方调用

  • 本接口支持第三方平台代商家调用。

  • 该接口所属的权限集 id 为:118

  • 服务商获得其中之一权限集授权后,可通过使用 authorizer_access_token 代商家进行调用,具体可查看 第三方调用 说明文档。

# 2. 请求参数

# 查询参数 Query String parameters

参数名类型必填说明
access_tokenstring接口调用凭证,可使用 access_tokenauthorizer_access_token

# 请求体 Request Payload

参数名类型必填说明
template_idstring所需下发的订阅模板id
snstring设备唯一序列号。由厂商分配,长度不能超过128字节。字符只接受数字,大小写字母,下划线(_)和连字符(-)。
pagestring点击模板卡片后的跳转页面,仅限本小程序内的页面。支持带参数,(示例index?foo=bar)。该字段不填则模板无跳转。
to_openid_listarray接收者(用户)的 openid 列表
miniprogram_statestring跳转小程序类型:developer为开发版;trial为体验版;formal为正式版;默认为正式版
modelIdstring设备型号 id ,通过注册设备获得。
datastring这是个object,不是string。模板内容,格式形如 { "key1": { "value": "xxx" }, "key2": { "value": "xxx" } } ,value 为枚举值。
langstring进入小程序查看”的语言类型,支持zh_CN(简体中文)、en_US(英文)、zh_HK(繁体中文)、zh_TW(繁体中文),默认为zh_CN

# 3. 返回参数

# 返回体 Response Payload

参数名类型说明
errcodenumber错误码
errmsgstring错误信息

# 4. 注意事项

调用次数限制:1kw/日。

# 5. 代码示例

请求示例

{
  "to_openid_list": [
    "OPENID_1",
    "OPENID_2"
  ],
  "sn": "XXXXXXX",
  "template_id": "TEMPLATE_ID",
  "page": "index",
  "miniprogram_state": "formal",
  "lang": "zh_CN",
  "data": {
    "time1": {
      "value": "2021-09-10 19:00:00"
    }
  }
}

返回示例

{
  "errcode": 0,
  "errmsg": "ok",
}

# 6. 错误码

以下是本接口的错误码列表,其他错误码可参考 通用错误码;调用接口遇到报错,可使用官方提供的 API 诊断工具 辅助定位和分析问题。

错误码错误描述解决方案
-1system error系统繁忙,此时请开发者稍候再试
40037invalid template_id不合法的 template_id
41030invalid pagepage路径不正确,需要保证在现网版本小程序中存在,与app.json保持一致
43101user refuse to accept the msg用户拒绝接受消息,如果用户之前曾经订阅过,则表示用户取消了订阅关系
47003argument invalid!模板参数不准确,可能为空或者不满足规则,errmsg会提示具体是哪个字段出错

# 7. 适用范围

本接口暂未明确可调用账号类型,或在业务中根据调用传参自行确定是否可调用,请已实际调用情况为准。