背景
微信小程序把模板消息改为订阅消息后,推送方式有一些区别,以下是过程分享
推送消息配置
请求URL:https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=您的access_token
请求类型:POST
请求数据格式:JSON
{
"touser": "05Z7o5CbuJMgLdTfkvHjuQKpFz88",
"template_id": "wR1Pq5wHQ00iWTvkEQrbpkNtW-VQGzjuYCIwlZGj2Z0",
"data": {
"thing6": {
"value": "上海正大广场店"
},
"thing5": {
"value": "汽车养护"
},
"time4": {
"value": "2021-09-10 10:00:00"
},
"thing2": {
"value": "请您在预约时间之前赶到门店哦"
},
"thing7": {
"value": "驾车请注意安全"
}
}
}
!!!特别注意:data对象中的thing5、thing7、thing6、time4等这些参数是微信小程序后台-订阅消息中的你申请的模板消息-详情中的参数,一定要严格按模板消息来配置。
返回结果:
推送成功后,会返回ok并且有msgid表示推送成功。
{
"errcode": 0,
"errmsg": "ok",
"msgid": 2039470940832497665
}
推送成功的订阅消息,会出现在”服务通知“栏目里面,如下所示:
代码分享
代码使用C#开发,仅供参考
public void Send()
{
// 模板消息发送接口,https调用
string URL = "https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=";
// 您的access_token
string access_token = "48_IEirsN-XWv_stoaR8_xGcH_2Kc_fU5NsAt7LnCcH7Ba0S1ySdkDxAEPDrbuDSYo7_AJLPhAFASUY";
// 构造参数对象
var param = new
{
touser = "o5Z7o5Cbu35t3LdTfkvHjuQKpFzM8",
template_id = "wR1Pq5wH666666QrbpkNtW-VQGzjuYCIwlZGj2Z0",
data = new
{
thing6 = new { value = "上海正大广场店" }, // 服务门店
thing5 = new { value = "汽车养护" }, // 服务项目
time4 = new { value = "2021-09-10 10:00:00" }, // 日期
thing2 = new { value = "请您在预约时间之前赶到门店哦" }, // 保养说明
thing7 = new { value = "驾车请注意安全" } // 温馨提示
}
};
// 拼接access_token
string url = URL + access_token;
// 转化为json
string postData = DataHelper.ObjectToJson(param);
// 开始请求
TemplateSendResultModel content = HttpHelper.Post(url, postData);
WSPLog.Info("发送模板消息", content.errmsg);
}