rid: 6304ae55-45a9eba3-3503d985
推送消息时一直报错,确定订阅时的 sn / model_id 推送时的sn / model_id 是相同的
请求信息
https://api.weixin.qq.com/cgi-bin/message/device/subscribe/send?access_token=xxx
{
"to_openid_list": ["xxxxx"],
"template_id": "SBoDtnsyGkl4DyyYCoivVGGNkQUzT6T9CqVSahYLG28",
"sn": "sn",
"model_id": "xxxxx",
"data": {
"time1": { "value": "发生时间" },
"enum_string3": { "value": "提示说明" },
"enum_string2": { "value": "告警等级" }
}
}
这里需要保证同个用户在订阅消息、触发消息时的model_id和设备sn对应关系保持一致
一般来说,出现错误可能有以下原因,可以先自查:
1、sn格式写错了 (sn是你自己编辑的序列号,要按格式要求来编写)
2、model_id和设备sn位置写反了(model_id是平台分配给你的编号,一个model_id可对应N个sn)
3、model_id和设备sn没对应上 (不能把A设备的model_id和B设备的sn去对应)
4、订阅的设备sn要和发送的sn没对应(不能混用不同设备的sn)
5、模板id没对应(模板id是跟着设备走的,不能混用模板id)
6、接口调错了(用错了接口文档,可查清楚)
7、是传json字符串,不是json
8、设备模板内的字段为限定枚举值,或限定字符,请查看模板示例
遇到一样的问题了,楼主解决了嘛
{
"to_openid_list": ["xxx"],
"data": {
"time1": {
"value": "2022-09-27 10:59:41"
},
"enum_string3": {
"value": "设备水位过低,为确保正常使用,请及时加水"
},
"enum_string2": {
"value": "客厅"
}
},
"template_id": "xxx",
"miniprogram_state": "formal",
"sn": "xx",
"model_id": "WBF49BPuuqbE8djvSR-1_w",
"page": "pages/index/index",
"lang": "zh_CN"
}