小程序 - Service Message
https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/template-message.html
小程序提供了向使用者微信發出一個 Service message 的功能,
首先要在後台選好 "模板" : 後台 -> 模板消息
會得到模板 ID,以及詳情裡的 KEY,DATA
预约项目 {{keyword1.DATA}}
姓名 {{keyword2.DATA}}
电话 {{keyword3.DATA}}
预约时间 {{keyword4.DATA}}
预约服务 {{keyword5.DATA}}
预约车场 {{keyword6.DATA}}
车牌号 {{keyword7.DATA}}
服务师 {{keyword8.DATA}}
车型 {{keyword9.DATA}}
要發送的請求是
POST https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=ACCESS_TOKEN
其中 payload 為
{
"touser": "OPENID",
"template_id": "TEMPLATE_ID",
"page": "index",
"form_id": "FORMID",
"data": {
"keyword1": {
"value": "339208499"
},
"keyword2": {
"value": "2015年01月05日 12:30"
},
"keyword3": {
"value": "腾讯微信总部"
},
"keyword4": {
"value": "广州市海珠区新港中路397号"
}
},
"emphasis_keyword": "keyword1.DATA"
}
data 那個欄位就是按照模板詳情裡面的順序定義下來,
因此 JAVA 端可以定義:
public class ReqServiceMsgVO {
private String access_token;
private String touser;
private String template_id;
private String page;
private String form_id;
private Map<String, Map<String, String>> data;
private String emphasis_keyword;
}
特別注意 data 的型態,並不是 Map<String, String> 就可以的
而 form_id 則是需要在小程序裡面使用
<form bindsubmit="saveFormId" report-submit="true">
<button form-type="submit"> 消息推送測試 </button>
</form>
report-submit 這個屬性才能得到
都準備齊全後,發請求給微信,應該就可以收到 service message 了