小程序 - 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 了

results matching ""

    No results matching ""