欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

PHP微信开发之模板消息回复

程序员文章站 2024-04-02 14:57:22
微信公众平台上,有个模板消息回复接口:可以用来实现回复特定的消息-----比如用户下了订单之后,回复给用户您的订单正在处理中...比如下面这张图: 用户进行了一些...

微信公众平台上,有个模板消息回复接口:可以用来实现回复特定的消息-----比如用户下了订单之后,回复给用户您的订单正在处理中...比如下面这张图:

PHP微信开发之模板消息回复

用户进行了一些操作之后,服务号能够返回特定的消息----这就是模板消息。

要实现模板消息的回复,你的公众号必须是经过微信认证的,如果是个人的订阅号,暂时不支持微信认证。不过也不影响做测试-----你可以使用测试公众号:

PHP微信开发之模板消息回复

使用测试号的时候,接口信息的配置就不讲了,可以参考我之前的博客。

使用维码登录测试号之后,需要用你的微信号去关注这个测试号,不然看不到模板消息的回复。

我在做测试的时候,用了chrome浏览器的一个插件:postman。该插件可以指定发送get,post等各种http请求,功能强大,在测试接口时很有用。

1、发送get请求获取测试号的access_token:https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=你的测试号appid&secret=你的测试号appsecret

2、设置所属行业:

发送一个post请求,并带上参数:

请求:https://api.weixin.qq.com/cgi-bin/template/api_set_industry?access_token=你刚才得到的access_token

参数:

 {
     "industry_id1":"1",
     "industry_id2":"2"
    }

参数里的1和2表示所属的行业,具体的行业可以参考文档:http://mp.weixin.qq.com/wiki/12/bd383158b0f8435c07b8b6bc7cdbac9c.html

PHP微信开发之模板消息回复

具体发送post请求大家可以使用curl发送,应该不难。我使用postman来发送。发送完成之后返回成功的json消息,然后就可以进行下一步

3、获得模板id:这一块你可以自定义,也可以使用微信内置的一些。

比如使用自定义的模板id:在你的测试号里有个“新增测试模板”

PHP微信开发之模板消息回复

PHP微信开发之模板消息回复

提交之后,就可以看到自己模板id出现了:

PHP微信开发之模板消息回复

然后另一种生成模板id的方法是发送post请求(可以curl发送或者用postman发送)

请求:https://api.weixin.qq.com/cgi-bin/template/api_add_template?access_token=access_token

参数:

 {
      "template_id_short":"tm00015"
    }

其中的tm00015是微信内置的模板的id,你可以在https://mp.weixin.qq.com的图形化界面里找到(须微信认证)

4、获得模板id之后,刷新你的测试号页面,可以看到出现了:

PHP微信开发之模板消息回复

5、用你得到的template_id_short,再发送一个post请求就可以得到一个msgid:

请求:https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=你的access_token

发送的数据:

 {
      "touser":"测试号的关注者的openid",
      "template_id":"你刚才得到的模板id",
      "url":"关注者点击你的模板消息时跳转的链接",      
      "data":{
          "first": {
            "value":"恭喜你购买成功!",
            "color":"#173177"
          },
          "ordermoneysum":{
            "value":"666",
            "color":"#173177"
          },
          "orderproductname": {
            "value":"男士正装",
            "color":"#173177"
          },
          "remark":{
            "value":"欢迎再次购买!",
            "color":"#173177"
          }
      }
    }

color表示你的模板里字段的颜色

官方的文档里没有对上面的参数作说明,我在上面用中文写出了每个字段的意思,其中需要注意的是,touser不是关注者在微信客户端的“微信号”,而是如下图里的微信号

PHP微信开发之模板消息回复

把参数用post方式发送之后,就会得到一个msgid:

PHP微信开发之模板消息回复

得到这个成功响应的时候,同时,你的测试公众号应该也返回了一个模板消息给你(关注者)

本文只是介绍怎样做出一个模板消息,如果想用到项目里,还请自行翻阅微信开发者文档,结合微支付,事件推送等高级功能一起来做。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。