欢迎您访问我的笔记本站旨在于记录一些平时工作中遇到的一些问题和解决方法,方便查阅,部分内容来源于网络,如有侵权请联系我删除
  • 微信微信
您现在的位置是:首页 > PHP后端

微信公众号之模板消息发送-[原创]

日期:2018-09-27 11:58:59 作者:tanyi 来源:我的笔记 浏览:1801 次
微信公众号模板消息应用场景比较多,一般是给用户推送比较重要的消息提醒

这里以测试账号为例,首先进入测试账号主页面,然后找到模板消息接口,点击新增测试模板

image.png

模板内容中first,keynote1,keynote2都是变量,用于程序中替换,在创建的时候变量需要用{{ .DATA}} 包起来,具体程序中构建发送请求的数据包见下面$msg_data数组,下面新建一个发送模板消息的测试方法

public function cs(){
    $msg_data=[
        'touser'=>'xxxxxx',  //发送给谁(一个openid)
        'template_id'=>'2EOZF29Mx6kw4x9XaLcN78YJndKEKPPHeK21IKL78l4',  //模板消息ID,见上图
        'url'=>' //点击后需要跳转的页面
        'data'=>[
            'first'=>[
                'value'=>'恭喜你购买成功!',
                'color'=>'#173177'  //设置字体颜色
            ],
            'keynote1'=>[
                'value'=>'巧克力',
                'color'=>'#173177'
            ],
            'keynote2'=>[
                'value'=>'39.8元',
                'color'=>'#173177'
            ]
        ]
    ];
    $call=$this->sendTemplateMessage(json_encode($msg_data));
    print_r($call);
}

/**
  发送模板消息
 */
public function  sendTemplateMessage($data){
   $url="https://api.weixin.qq.com/cgi-bin/message/template/send?access_token={$this->access_token}";
   $calldata=json_decode($this->HttpPost($data,$url),true);
   return $calldata;
}

public function HttpPost($content = null,$url='') {
   $postUrl = $url;
   $curlPost = $content;
   $ch = curl_init (); // 初始化curl
   curl_setopt ( $ch, CURLOPT_URL, $postUrl ); // 抓取指定网页
   curl_setopt ( $ch, CURLOPT_HEADER, 0 ); // 设置header
   curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 ); // 要求结果为字符串且输出到屏幕上
   curl_setopt ( $ch, CURLOPT_POST, 1 ); // post提交方式
   curl_setopt ( $ch, CURLOPT_POSTFIELDS, $curlPost );
   $data = curl_exec ( $ch ); // 运行curl
   curl_close ( $ch );
   return $data;
}

在请求发送模板消息接口前必须先获取access_token,具体获取方法请自行参考微信公众平台开发者文档,(获取access_token)这里不再具体阐述;现在直接访问这个方法

image.png

提示发送成功,发送效果

image.png


提交评论
评论列表