php 微信模板消息推送

微信SDK:

1

2

3

4

5

6

7

8

9

10

扫描二维码关注公众号,回复: 5811965 查看本文章

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

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

<?php

class Oauth {

    //获得全局access_token

    public function get_token(){<br>          //如果已经存在直接返回access_token

        //if($_SESSION['access_token'] && $_SESSION['expire_time']>time()){

            //return $_SESSION['access_token'];

        //}else{

        //1.请求url地址

        $appid = APPID;   //appid

        $appsecret =  APPSECRET;  //appsecret

        $url "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appid."&secret=".$appsecret;  //请求地址

        //2初始化curl请求

        $ch = curl_init();

        //3.配置请求参数

        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查

        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);  // 从证书中检查SSL加密算法是否存在

        curl_setopt($ch, CURLOPT_URL, $url);  //请求

        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  //不直接输出数据

        //4.开始请求

        $res = curl_exec($ch);  //获取请求结果

        if( curl_errno($ch) ){

            var_dump( curl_error($ch) );  //打印错误信息

        }

        //5.关闭curl

        curl_close( $ch );

        $arr = json_decode($res, true);  //将结果转为数组

        //$_SESSION['access_token']=$arr['access_token'];  //将access_token存入session中,可以不存,每次都获得新的token

        //$_SESSION['expire_time']=time()+7200;

        return $arr['access_token'];

        //}

    }

     

    //推送模板信息    参数:发送给谁的openid,客户姓名,客户电话,推荐楼盘(参数自定)

    function sendMessage($openid,$customName,$customPhone,$reportBuilding) {

        //获取全局token

        $token $this->get_token();

        $url="https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=".$token;  //模板信息请求地址

        //发送的模板信息(微信要求json格式,这里为数组(方便添加变量)格式,然后转为json)

        $post_data array(

                "touser"=>$openid,  //推送给谁,openid

                "template_id"=>"nKu4eyktzxOslxq0KfPxhGXbiOo873K9mIxKvs23EVU",  //微信后台的模板信息id

                "url"=>"http://www.baidu.com",    //下面为预约看房模板示例

                "data"=> array(

                        "first" => array(

                                "value"=>"您有新客户,请及时查看!",

                                "color"=>"#173177"

                        ),

                        "customName"=>array(

                                "value"=>$customName,  //传的变量

                                "color"=>"#173177"

                        ),

                        "customPhone"=>array(

                                "value"=>$customPhone,

                                "color"=>"#173177"

                        ),

                        "reportBuilding"=> array(

                                "value"=>$reportBuilding,

                                "color"=>"#173177"

                        ),

                        "reportTime"=> array(

                                "value"=>date('Y-m-d H:i:s'),

                                "color"=>"#173177"

                        ),

                        "remark"=> array(

                                "value"=>"请及时联系客户哦!",

                                "color"=>"#173177"

                        ),

                )

        );

        //将上面的数组数据转为json格式

        $post_data = json_encode($post_data);

        //发送数据,post方式<br>         //配置curl请求

        $ch = curl_init();  //创建curl请求

        curl_setopt($ch, CURLOPT_URL,$url); //设置发送数据的网址

        curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); //设置有返回值,0,直接显示

        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,0); //禁用证书验证

        curl_setopt($ch, CURLOPT_POST, 1);  //post方法请求

        curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);//post请求发送的数据包

        //接收执行返回的数据

        $data = curl_exec($ch);

        //关闭句柄

        curl_close($ch);

        $data = json_decode($data,true); //将json数据转成数组

        return $data;

    }

    //获取模板信息-行业信息(参考,示例未使用)

    function getHangye(){

        //用户同意授权后,会传过来一个code

        $token $this->get_token();

        $url "https://api.weixin.qq.com/cgi-bin/template/get_industry?access_token=".$token;

        //请求token,get方式

        $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); //将json数据转成数组

        //return $data["access_token"];

        return $data;

  }

}

PHP代码:

1

2

3

//推送模板信息给置业顾问

$send new Oauth();  //实例化类

$send->sendMessage($zhiyeguwen,$clientName,$tel,$product);  //调用方法

完成,微信模板信息不难,有问题互相交流!!!

猜你喜欢

转载自blog.csdn.net/zhao_teng/article/details/86712191