基礎版微信模板消息開發詳解,附代碼PHP

1、什麼是模板消息?

微信爲防止服務號對用戶進行惡意騷擾和營銷,而服務號在某些場景又必須給用戶發送消息時(如購物成功、支付成功),這時候就可以應用微信提供的模板消息來給用戶進行提醒。

2、模板消息能做什麼?

模板消息可以讓公衆號主動發消息給用戶而且不限制時間。目的是模板消息僅用於公衆號向用戶發送重要的服務通知(說是發重要通知,誰知道營銷內容算不算呢,呵呵)。

3、微信模板一些注意事項

1、只有認證服務號纔可以使用,在功能->添加功能插件處看到申請模板消息功能的入口。;
2、需要選擇公衆賬號服務所處的2個行業,每月可更改1次所選行業;
3、選擇行業只是爲了給你提供與你行業相關的模板,在所選擇行業的模板庫中選用已有的模板進行調用;
4、每個賬號可以同時使用25個模板。
5、當前每個賬號的模板消息的日調用上限爲10萬次。
因爲我沒有認證的服務號,我會拿我的測試公衆號來講解,與實際的服務號發送模板消息的原理是一樣的。

4、如何使用模板消息發信息 代碼下面解析代碼以及如何使用。

<?php
  //獲取微信access_token
 function getaccess_token(){
    //appid與appsecret改成你自己的
    $appid = '自己的appid';
    $appsecret = '自己的appsecret';
    $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$appid}&secret={$appsecret}";
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,$url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,0);
    $data = curl_exec($ch);
    curl_close($ch);
    $data = json_decode($data,true);
    return $data['access_token'];
 }
  //設置與發送模板信息
 function set_msg(){
    //獲取access_token
    $access_token = getaccess_token();
    //這裏是在模板裏修改相應的變量
    $formwork = '{
           "touser":"發送用戶的openid",
           "template_id":"微信公衆號模板ID",
           "url":"http://www.wangwenxiao.com",            
           "data":{
                   "title": {
                       "value":"這裏是自己定義的標題",
                       "color":"#173177"
                   },
                   "content":{
                       "value":"這裏是自定義內容,啦啦啦",
                       "color":"#173177"
                   },
                   "time": {
                       "value":"這裏填寫時間",
                       "color":"#173177"
                   }
           }
       }';
    $url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token={$access_token}";
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,$url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,0);
    curl_setopt($ch, CURLOPT_POST,1);
    curl_setopt($ch, CURLOPT_POSTFIELDS,$formwork);
    $data = curl_exec($ch);
    curl_close($ch);
    return $data;
}
echo set_msg();

返回 errmsg:ok  即爲已發送

5、代碼解析

開頭的函數getaccess_token是獲取自己公衆號的access_token。
22-40行是定義要發送的消息的信息
23行是指明消息發給那個openid
24行是指明要用哪個模板。
25行是指點開消息後打開那個地址。
26行data裏的值要與模板中的內容相對應。比如上圖箭頭4.我建立的模板內容中有{{title.DATA}}{{content.DATA}}{{time.DATA}}。data裏面就要設置相應的內容來替換掉前面的三個變量。
42-49行把$forwork函數POST到41行的地址中。信息就發送出去了。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章