php 微信模板消息推送

微信SDK:

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

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