分享

微信模板消息开发详解,附代码

 phpcoder_echo 2017-06-05
本篇文章你能学到:编辑、使用与发送模板消息。

1、什么是模板消息?

微信为防止服务号对用户进行恶意骚扰和营销,而服务号在某些场景又必须给用户发送消息时(如购物成功、支付成功),这时候就可以应用微信提供的模板消息来给用户进行提醒。

2、模板消息能做什么?

模板消息可以让公众号主动发消息给用户而且不限制时间。目的是模板消息仅用于公众号向用户发送重要的服务通知(说是发重要通知,谁知道营销内容算不算呢,呵呵)。

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

1、只有认证服务号才可以使用,在功能->添加功能插件处看到申请模板消息功能的入口。;
2、需要选择公众账号服务所处的2个行业,每月可更改1次所选行业;
3、选择行业只是为了给你提供与你行业相关的模板,在所选择行业的模板库中选用已有的模板进行调用;
4、每个账号可以同时使用25个模板。
5、当前每个账号的模板消息的日调用上限为10万次。
因为我没有认证的服务号,我会拿我的测试公众号来讲解,与实际的服务号发送模板消息的原理是一样的。

4、如何使用模板消息发信息

老规矩,先上代码,代码下面解析代码以及如何使用。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?php
  //获取微信access_token
 function getaccess_token(){
    //appid与appsecret改成你自己的
    $appid '自己的appid';
    $appsecret '自己的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":"oC8xks4COCfqox1-dXTCsZF_1vIo",
           "template_id":"oasLSlzdPXF-4U21JRE0lFYLsZWVVFcxY20SC6EAxx4",
           "url":"http://www.",            
           "data":{
                   "title": {
                       "value":"这里是自己定义的标题",
                       "color":"#173177"
                   },
                   "content":{
                       "value":"这里是自定义内容,点击进入王文晓博客,啦啦啦",
                       "color":"#173177"
                   },
                   "time": {
                       "value":"这里填写时间",
                       "color":"#173177"
                   }
           }
       }';
    $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();
要使用上面的代码需要改以下的东西,下图是我截取的我的测试号的相关信息
新建个php文件,把代码复制进去(我新建的是media.php,原谅我的懒,文件名改的不符合本文的主题)
1、第5、6行改成自己公众号的appid与appsecret。
2、23行改成要接受模板信息的微信号openid、下图中的2箭头
3、24行要改成你的模板id,下图中3箭头
4、点击新增测试模板(下图1箭头)添加与图一致的模板标题与内容(内容中的代码一定要与图写的一样)


访问此代码,你填写的openid的微信号会收到相应模板消息。如下图,我一激动多刷新了几下(日最多发10万条,哈哈,发达啦)


浏览器显示的信息如下图

显示错误代码为0就是没错误。

5、代码解析

开头的函数getaccess_token是获取自己公众号的access_token。
22-40行是定义要发送的消息的信息
23行是指明消息发给那个openid
24行是指明要用哪个模板。上图箭头3
25行是指点开消息后打开那个地址。
26行data里的值要与模板中的内容相对应。比如上图箭头4.我建立的模板内容中有{{title.DATA}}{{content.DATA}}{{time.DATA}}。data里面就要设置相应的内容来替换掉前面的三个变量。
42-49行把$forwork函数POST到41行的地址中。信息就发送出去了。(这里面的函数为CUEL函数,不清楚可以看之前的基础文章)。


总结:
本篇文章只是讲解了微信公众号消息模板的核心、如何设置与发送模板。你掌握了上面的在测试号发送消息模板的流程,在真正的服务号下也很容易的。有问题欢迎回复提出。
本文写作用时2.5小时

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多