php微信公众号模板消息主动推送
1.获取access_token,有效期7200秒,我的方法是记录获取时间,超过时间再次获取。
public function get_token(){$m = new Common();$appid = $m->get_conf('UNION_WECHAT_MP_APPID');$appsec = $m->get_conf('UNION_WECHAT_MP_APPSEC');$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$appid}&secret={$appsec}";$raw = curl_get($url);if(strlen($raw)>0){$data = json_decode($raw,true);if(json_last_error()==JSON_ERROR_NONE){if(key_exists('access_token',$data)){return $data['access_token'];}else{return false;}}else{return false;}}else{return false;}}
2.获取模板id,公众号->添加功能插件->模板消息 里申请。
$data=['touser'=>用户openid,'template_id'=>模板id,'url'=>'链接url','topcolor'=>"#FF0000",'data'=>array('toName'=>array('value'=>内容1,"color"=>"#173177"),'gift'=>array('value'=>内容2<span style="font-family: Arial, Helvetica, sans-serif;">,"color"=>"#173177"),</span>
'time'=>array('value'=>date("Y-m-d h:i:s",time()),"color"=>"#173177"),'remark'=>array('value'=>内容3,"color"=>"#173177"))];
$result = curl_post_send_information(access_token,json_encode($data));
public function curl_post_send_information( $token,$vars,$second=120,$aHeader=array()){$ch = curl_init();//超时时间curl_setopt($ch,CURLOPT_TIMEOUT,$second);curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1);//这里设置代理,如果有的话curl_setopt($ch,CURLOPT_URL,'https://api.weixin.qq.com/cgi-bin/message/template/send?access_token='.$token);curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,false);if( count($aHeader) >= 1 ){curl_setopt($ch, CURLOPT_HTTPHEADER, $aHeader);}curl_setopt($ch,CURLOPT_POST, 1);curl_setopt($ch,CURLOPT_POSTFIELDS,$vars);$data = curl_exec($ch);if($data){curl_close($ch);return $data;}else {$error = curl_errno($ch);curl_close($ch);return $error;}}
返回码说明
在调用模板消息接口后,会返回JSON数据包。正常时的返回JSON数据包示例:
{ "errcode":0, "errmsg":"ok", "msgid":200228332 }
错误时的返回JSON数据,形式类似,错误码请见本页下方返回码说明。
返回码 | 说明 |
---|---|
-1 | 系统繁忙 |
0 | 请求成功 |
40001 | 验证失败 |
40002 | 不合法的凭证类型 |
40003 | 不合法的OpenID |
40004 | 不合法的媒体文件类型 |
40005 | 不合法的文件类型 |
40006 | 不合法的文件大小 |
40007 | 不合法的媒体文件id |
40008 | 不合法的消息类型 |
40009 | 不合法的图片文件大小 |
40010 | 不合法的语音文件大小 |
40011 | 不合法的视频文件大小 |
40012 | 不合法的缩略图文件大小 |
40013 | 不合法的APPID |
41001 | 缺少access_token参数 |
41002 | 缺少appid参数 |
41003 | 缺少refresh_token参数 |
41004 | 缺少secret参数 |
41005 | 缺少多媒体文件数据 |
41006 | access_token超时 |
42001 | 需要GET请求 |
43002 | 需要POST请求 |
43003 | 需要HTTPS请求 |
44001 | 多媒体文件为空 |
44002 | POST的数据包为空 |
44003 | 图文消息内容为空 |
45001 | 多媒体文件大小超过限制 |
45002 | 消息内容超过限制 |
45003 | 标题字段超过限制 |
45004 | 描述字段超过限制 |
45005 | 链接字段超过限制 |
45006 | 图片链接字段超过限制 |
45007 | 语音播放时间超过限制 |
45008 | 图文消息超过限制 |
45009 | 接口调用超过限制 |
46001 | 不存在媒体数据 |
47001 | 解析JSON/XML内容错误 |
php微信公众号模板消息主动推送相关推荐
- 微信公众号个性消息模版推送之添加进度条(制表符)
前言 有一说一我在刚拿到这个需求的时候内心是微微崩溃的..脑子第一反应,这都是啥啊~..但是把既然别人能实现,那咱肯定就能实现,然后开始研究这个玩意,先看一下实现出来的效果图吧 实现效果 正文 ...
- 微信公众号-模板消息管理
微信公众号-模板消息管理 通过模板消息接口,公众号能向关注其账号的用户发送预设模板的消息.模板消息仅用于公众号向用户发送重要的服务通知,只能用于符合其要求的服务场景中,如信用卡刷卡通知,商品购买成功通 ...
- 公众平台模板消息所在行业_微信公众号模板消息功能怎么快速推送?
公众号平台上模板消息功能仅支持添加模板和更改所在行业,不支持模板消息推送,如果想要实现更多功能效果,可以使用微号帮平台的模板消息群发功能实现,也可以通过公众号平台的接口自己开发实现功能,均可以达到微信 ...
- 公众号获取用户手机号_微信公众号模板消息软件怎么指定用户发送?
使用公众平台模板消息功能,仅支持添加模板和更改所在行业,如果想要实现更多功能效果,可以通过微号帮平台的模板消息群发功能实现,也可以自己根据公众平台的开发接口编程实现功能,均能实现微信公众号模板消息指定 ...
- asp群发微信公众号模板消息代码
刚刚做的一个项目需要用到asp群发微信公众号的模板消息, 以前没做过,想了一会用了下面这种方法实现的模板消息群发推送,效果很好. asp群发微信公众号模板消息代码
- 公众平台模板消息所在行业_第三方工具微信公众号模板消息群发如何操作?
当下,公众平台模板消息功能仅支持添加模板,修改所在行业,如果想要群发模板消息,可以自己根据公众平台的接口编程实现,也可通过微号帮平台的模板消息群发功能实现,均可以让微信公众号群发模板消息,模板消息即按 ...
- 微信小程序——订阅消息与微信公众号模板消息
订阅消息 一次性订阅消息 某个按钮(并且只能是用户自己就手动点击的)操作调起来这个允许授权弹窗,允许通知之后也只能发送一次消息.即便点上[总是保持一上选择,不再询问]也只是在下次点击同一个按钮时默认允 ...
- 公众平台模板消息所在行业_微信公众号模板消息群发第三方平台可以免费试用吗?...
使用公众号后台模板消息功能,只能添加模板和修改所在行业,如果想要群发模板消息,可以通过公众号后台的接口自己编程实现,也可使用第三方平台微号帮功能模板消息群发,都可以实现微信公众号模板消息群发,突破公众 ...
- asp群发微信公众号模板消息代码asp写的
asp群发微信公众号模板消息代码asp写的,主要用于对已经入库的会员群发模板消息 <% '=群发模板信息=转载请保留作者信息:18611436777======== If Request(&qu ...
最新文章
- Python机器学习——DBSCAN聚类
- 中文扩增子分析视频教程推荐
- 机器学习数据清洗之异常数据处理、标准差法、MAD法、箱图法、图像对比法、异常值处理准则
- 标准模板库(STL)学习指南之vector向量
- python基础语法第10关作业-Python基础语法习题一
- MYSQL 5.6安装设置中英文翻译
- 博客园成立了管理团队
- IIS+PHP+MYSQL安装配置
- ITK:沿所选方向累积图像的像素
- 多线程与高并发(五):强软弱虚四种引用以及ThreadLocal的原理与源码
- 物联网框架ServerSuperIO在.NetCore实现跨平台的实践路线
- Problem B: C语言习题 学生成绩输入和输出
- 集合python_python集合访问的方法
- 南风表情包小程序完整版源码 后台API+前端
- 材料成型过程计算机控制系统,华南理工大学
- 基于JAVA+SpringBoot+Mybatis+MYSQL的垃圾分类管理系统
- vfp 界面_VFP之老树新花
- JVM 完整深入解析
- 主机信息采集(域名、网站备案等)初学者指南
- PLC通讯实现-C#实现西门子PLC MPI通讯W95_S7(五)