微信公眾平臺開發(fā) 微信模板消息發(fā)送


嗨:大家好,今天咱們使用微信的時候經(jīng)常能收到微信的購買消息的通知,這些消息通知很多使用的是模板消息,模板消息比較圖文消息來的簡單、明了而且內(nèi)容很清晰,用于簡單的消息通知在合適不過了。今天咱們就來看下模板消息。關(guān)于模板消息大家要注意幾點:
1、微信模板消息模板的申請。這個可以使用固有的模板,就是你選擇了你的模板消息所屬的一級二級所屬行業(yè),就會有一些已經(jīng)存在的模板,然后咱們是用就可以了。
2、模板有了,咱們呢就可以開發(fā)使用這個模板進行模板消息的發(fā)送。
3.當(dāng)然發(fā)送給誰這個還是需要關(guān)注的用戶的信息——openId.
以上就是微信模板消息開發(fā)的幾個要素。其中第三條就是咱能之前說的微信授權(quán),這里是需要openId的話使用靜默授權(quán)就可以啦。咱們這里不做贅述,還沒有了解的用戶可以看看之前的微信授權(quán)章節(jié)。接下來咱們看一下微信模板消息發(fā)送三要素的第一個模板申請:
首先咱們來看一下人家模板庫里的消息模板:

編號OPENTM207509450
標(biāo)題積分變動提醒
行業(yè)IT科技 - 互聯(lián)網(wǎng)|電子商務(wù)
使用人數(shù)1646
最后修改時間2015-09-01 10:47:55
詳細內(nèi)容
{{first.DATA}}
獲得時間:{{keyword1.DATA}}
獲得積分:{{keyword2.DATA}}
獲得原因:{{keyword3.DATA}}
當(dāng)前積分:{{keyword4.DATA}}
{{remark.DATA}}
內(nèi)容示例
親愛的張三,您的積分賬戶有新的變動,具體內(nèi)容如下:
獲得時間:2015年10月10日 19:21
獲得積分:1000
獲得原因:完成交易
當(dāng)前積分:2000
感謝您的使用

上面的這個就是模板庫里的消息模板,咱們要是在模板庫里沒有找到適合咱們自己開發(fā)的模板的話需要申請一個新的模板,模板申請是需要向微信服務(wù)器提供咱們的模板模型。具體需要注意的幾點就是
1、模板需要符合格式: 具體的申請在:左邊欄模板消息 --> 模板庫 --> 找不到你想要的模板?幫助我們完善模板庫 --> 點擊進去之后就會提醒我們填寫模板信息
模板
1.1:行業(yè) :這個是咱們業(yè)務(wù)所屬的行業(yè)
1.2:標(biāo)題 :咱們需要發(fā)送的模板的標(biāo)題,有一些規(guī)范要求:標(biāo)題需在4-12字之間,清晰詳細的標(biāo)題有利于通過審核建議模板標(biāo)題以“通知”或“提醒”作為結(jié)尾
1.3:內(nèi)容 :這個是需要更多的規(guī)范要求:
必須以:{{first.DATA}} 以:{{remark.DATA}} 中間的內(nèi)容是必填的關(guān)鍵字:
填寫關(guān)鍵字
:{{keyword1.DATA}}
填寫關(guān)鍵字
:{{keyword2.DATA}}
上面的模板庫里的消息模板就是嚴按照這個格式來的,大家自己看一下,但是最好的還是微信開發(fā)文檔啦:https://mp.weixin.qq.com/advanced/tmplmsg?action=faq&token=1081459479&lang=zh_CN

好了,有了微信消息的模板了,下面咱們這個模板的消息發(fā)送看一下:
首先咱們需要獲取用戶的openId,就是咱們要發(fā)送給那些用戶,咱們知道這個openId一旦綁定的話一個用戶就是一個一直不會變了,這個咱們在授權(quán)之后可以存儲起來,在各個場合使用。然后就是調(diào)用接口啦,微信的接口借調(diào)需要憑證的也就是咱們之前一直進行接口調(diào)用時候使用的access_token,有了這個access_token之后就可以正式調(diào)用微信的發(fā)送模板消息接口啦,迫不及待了,咱們來看一下:

  /**
     * 發(fā)送模板消息
     * @param token 接口憑證
     * @param openId  用戶的唯一標(biāo)識
     * @param templateId  模板消息ID
     * @param actionUrl  點擊模板消息跳轉(zhuǎn)路徑
     * @param data  模板消息內(nèi)容 Json 串格式
     * @return
     */
    private static final String SEND_TEMPLATE_MSG = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=%s";

    public TemplateMsgResult sendTemplateMsg(TemplateMsgBean templateMsgBean) {

        String url = String.format(SEND_TEMPLATE_MSG, templateMsgBean.getToken());
        TemplateMsgResult templetMsgResult = null;
        try {

            Map<String, String> miniProgram = Maps.newHashMap();
            miniProgram.put("appid", "所需跳轉(zhuǎn)到的小程序appid(該小程序appid必須與發(fā)模板消息的公眾號是綁定關(guān)聯(lián)關(guān)系)");
            miniProgram.put("pagepath", "所需跳轉(zhuǎn)到小程序的具體頁面路徑,支持帶參數(shù),(示例index?foo=bar)");

            Map<String, Object> paramMap = Maps.newHashMap();
            paramMap.put("touser", templateMsgBean.getOpenId());
            paramMap.put("template_id", templateMsgBean.getTemplateId());
            paramMap.put("topcolor", "#FF0000");
            //url有值就跳轉(zhuǎn),沒有Ios空白頁,Android不跳轉(zhuǎn)
            paramMap.put("url", templateMsgBean.getActionUrl());
            //是否跳轉(zhuǎn)小程序,這個參數(shù)暫時保留,設(shè)置的話就直接跳轉(zhuǎn)小程序了
            //paramMap.put("miniprogram", miniProgram);
            paramMap.put("data", templateMsgBean.getData());
            String param = GsonHolder.getGson().toJson(paramMap);
            LOGGER.info("發(fā)送模板消息,請求url:{},參數(shù):{}", url, GsonHolder.getGson().toJson(paramMap));
            String result = HttpClientUtils.sendHttpsPost(url, param);
            LOGGER.info("發(fā)送模板消息,返回結(jié)果:{}", result);
            templetMsgResult = GsonHolder.getGson().fromJson(result, TemplateMsgResult.class);
        } catch (Exception ex) {
            LOGGER.error("發(fā)送微信模板消息異常:", ex);
        }
        return templetMsgResult;
    }

具體的參數(shù)使用咱們的注釋里已經(jīng)解釋的很清楚了,我在這里就不做說明了。這里還有個注意點就是,微信的模板消息支持小程序的跳轉(zhuǎn)了,很贊吧。其實也就是調(diào)用接口啦。大家感興趣的話可以試試。微信公眾號開發(fā)后面咱們還在持續(xù)中。希望感興趣的朋友們多多交流。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,552評論 19 139
  • 微信圖文消息發(fā)送: 要發(fā)送微信圖文消息,首先我們需要知道的幾個接口,主動發(fā)送和被動發(fā)送,這里的主動的意思就是微信公...
    瑤瑤小仙女閱讀 8,628評論 0 4
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,021評論 25 709
  • 開門見山。 提高執(zhí)行力的終極武器就是——畫流程圖。 關(guān)于拖延 很多人,可能都會有一些想法,有時想做很多事,但卻無從...
    蘇江同學(xué)閱讀 646評論 0 4
  • 《妻妾成群》是作家蘇童創(chuàng)作的一部中篇小說。這部作品通過描寫一個“受過新時代教育”的女學(xué)生頌蓮,自愿嫁入到高墻深院秩...
    e1d057f9f1c3閱讀 448評論 0 0

友情鏈接更多精彩內(nèi)容