微信模板消息 PHP
微信SDK:
<?php
class Oauth {
//获得全局access_token
public function get_token(){
//如果已经存在直接返回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方式
//配置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代码:
//推送模板信息给置业顾问
$send = new Oauth(); //实例化类
$send->sendMessage($zhiyeguwen,$clientName,$tel,$product); //调用方法
完成,微信模板信息不难,有问题互相交流!!!
微信模板消息 PHP的更多相关文章
- 【原创分享·微信支付】C# MVC 微信支付之微信模板消息推送
微信支付之微信模板消息推送 今天我要跟大家分享的是“模板消息”的推送,这玩意呢,你说用途嘛,那还是真真的牛逼呐.原因在哪?就是因为它是依赖微信生存的呀,所以他能不 ...
- C# MVC 微信支付之微信模板消息推送
微信支付之微信模板消息推送 今天我要跟大家分享的是"模板消息"的推送,这玩意呢,你说用途嘛,那还是真真的牛逼呐.原因在哪?就是因为它是依赖微信 ...
- 前后端分离djangorestframework—— 接入微信模板消息推送
微信 什么是微信也不多说,跟前面的支付宝一样的 微信支付 微信支付也有个沙箱环境,沙箱环境官方文档 由文档中那句很显眼的话所得,即使是测试环境也需要真实的商户号,所以这个就没法想支付宝那样用沙箱账号来 ...
- java开发微信模板消息推送
发布时间:2018-12-12 技术:springboot+maven 概述 该demo主要涉及微信模板消息推送功能, 详细 代码下载:http://www.demodashi.com/dem ...
- 5分钟连续出现某现象+微信模板消息提醒 PHP
需求场景:用电插座电流连续出现5次电流过高(大于 3A)后停止用电服务,前四次发送电流过高提醒,最后一次发送结束用电服务提醒 思路: Redis key 设为:插座编号+user户编号 value ...
- 【踩坑系列】发送微信模板消息返回40165 invalid weapp pagepath
1. 踩坑经历 最近做了个需求,需要往公司微信公众号推送一个模板消息,并且点击该消息需要跳转到公司小程序的某个页面. 1.1 拿到模板id 既然是发送模板消息,第一步就需要登录微信公众号后台新建模板消 ...
- PHP实现微信模板消息发送给指定用户
使用公众号的模板消息功能,必须是认证过的服务号,需要发送微信号的openid,同一微信号在不同公众号下的openid是不同的,在公众号下是唯一的,获取不到微信号 进入公众平台 功能->模板消息 ...
- PHP微信模板消息发送
<?php class Wxtemplate extends Base { function __construct() { $this->appid = config('WXAPP_AP ...
- 应用jfinal发送微信模板消息的一个bug
严格来讲,这不是一个bug,只是我们应用的方式不对.微信发送模板消息的方法是: HttpUtils.post(sendApiUrl + AccessTokenApi.getAccessTokenStr ...
- 微信模板消息php
微信的模板消息需要认证的公众号后台申请 申请通过后就可以用平台定义的消息模板了 define('IN_ECS', true); require(dirname(__FILE__) . '/includ ...
随机推荐
- 部分网页中仅供浏览的pdf文件下载方法
现在越来越多的网站提供的PDF资料只能在线浏览,不提供下载功能,实际上仅仅是通过网页PDF浏览插件来访问文件资源,如果能够获取到该文件的访问地址,就可以访问下载. 以Firefox浏览器访问某大学网站 ...
- 【python】python开源代理ip池
一.前言 随着互联网的不断发展,越来越多的应用需要使用高匿代理IP才能访问目标网站,而代理IP作为一种能够隐藏本机真实IP地址的工具,在网络抓取.搜索引擎排名.广告投放.反爬虫等方面有着广泛的应用场景 ...
- 2023版:深度比较几种.NET Excel导出库的性能差异
引言 背景和目的 本文介绍了几个常用的电子表格处理库,包括EPPlus.NPOI.Aspose.Cells和DocumentFormat.OpenXml,我们将对这些库进行性能测评,以便为开发人员提供 ...
- 【Postman】以命令行形式执行Postman脚本(使用newman)
以命令行形式执行Postman脚本(使用Newman) 目录 以命令行形式执行Postman脚本(使用Newman) 一.背景 二.Newman的安装 1.Node.js 2.Newman 三.脚本准 ...
- Python join拼接
import os print(os.path.join("I","love","you.")) # /XXX 代表的是绝对路径 这个变量之 ...
- CF1363C
题目简化和分析: 首先注意特判 $ x $ 在叶子节点上 ( 即度为 \(1\) ). 因为每人都采用最优策略所以不可能有人执着的为别人开路. 就是不在同一颗子树上挣扎,会从外围不断清理. 但是每步必 ...
- CF1190C Tokitsukaze and Duel
搬运一下本喵的 lg 博客 qwq 详细讲一下如何判定后手能否获胜,对其他题解做个补充.(蒟蒻的我想了好久来着 此题的关键点在于可以重复上一个人的操作使局面保持不变. 考虑先手的获胜条件,由上一段可知 ...
- 自定义过滤器配置 Shiro 认证失败返回 json 数据
by emanjusaka from https://www.emanjusaka.top/archives/11 彼岸花开可奈何 本文欢迎分享与聚合,全文转载请留下原文地址. Shiro权限框架 ...
- django 国际化
参考文档: https://docs.djangoproject.com/zh-hans/2.2/topics/i18n/translation/ https://blog.csdn.net/qq_3 ...
- [Python急救站课程]整数数列求和
整数数列求和程序: n = input("请输入整数N: ") sum = 0 for i in range(int(n)): # range用于计数整数.for表示循环 sum ...