A. php 微信模板消息 5000人的推送
1、php+redis 消息队列
2、swoole异步执行
想玩并发的话,php 的话除了 pcntl_fork 多个进程跑脚本,本身有批处理的模块,可以用 curl_multi_* 批量发送
B. php微信模版消息为什么收到空白
首先你得先在后台里建立自己的模版消息,然后通过设置好的模版消息进行对应的操作
操作的步骤为以下几个步骤:
1 设置所属行业
2 获取设置的行业信息
3 获得模板ID
4 获取模板列表
5 删除模板
6 发送模板消息
7 事件推送
在调用模板消息接口后,会返回JSON数据包。正常时的返回JSON数据包示例:
{
"errcode":0,
"errmsg":"ok",
"msgid":200228332
}
当返回的消息中errocde为0且返回了errmsg为OK和msgid后才说明发送的消息模版成功了
C. 帮忙写个微信公众平台模板消息范例 PHP
如图所示:openidid改成你自己的,接口URL改下,由于网络不等发链接
<?php
$access_token='_e8';
$url='改成接口URL?access_token='.$access_token;//access_token改成你的有效值
$data=array(
'first'=>array(
'value'=>'有一名客户进行了一次预约!',
'color'=>'#FF0000'
),
'keyword1'=>array(
'value'=>'2015/10/514:00~14:45',
'color'=>'#FF0000'
),
'keyword2'=>array(
'value'=>'都会型SPA',
'color'=>'#FF0000'
),
'keyword3'=>array(
'value'=>'1cvvvv',
'color'=>'#FF0000'
),
'keyword4'=>array(
'value'=>'上海市浦东新区XXXXSPA馆',
'color'=>'#FF0000'
),
'keyword5'=>array(
'value'=>'无',
'color'=>'#FF0000'
),
'remark'=>array(
'value'=>'请您务必准时到场为客户提供SPA服务!',
'color'=>'#FF0000'
)
);
$template_msg=array('touser'=>'ojM5us46feM315cpmfQ9hAWfX8rE','template_id'=>'','topcolor'=>'#FF0000','data'=>$data);
$curl=curl_init($url);
$header=array();
$header[]='Content-Type:application/x-www-form-urlencoded';
curl_setopt($curl,CURLOPT_HTTPHEADER,$header);
//不输出header头信息
curl_setopt($curl,CURLOPT_HEADER,0);
//伪装浏览器
curl_setopt($curl,CURLOPT_USERAGENT,'Mozilla/5.0(WindowsNT6.1)AppleWebKit/537.36(KHTML,likeGecko)Chrome/41.0.2272.118Safari/537.36');
//保存到字符串而不是输出
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
//post数据
curl_setopt($curl,CURLOPT_POST,1);
//请求数据
curl_setopt($curl,CURLOPT_POSTFIELDS,json_encode($template_msg));
$response=curl_exec($curl);
curl_close($curl);
echo$response;
D. 求微信公众号接口 给客户发送信息的 PHP代码
你好,可以用客服消息接口或模板消息接口实现。但是需要认证公众号才能有权限。
认证服务号可以发送客服接口消息[需要对应openid24小时内有互动]和模板消息,订阅号则没有模板消息权限。
发送文字消息示例:
$postdata='{"touser":"o5BkRs_vRwfPqAb1ceXHfJDzmQ5o","msgtype":"text","text":{"content":"HelloWorld"}}';
$opts=array(
'http'=>array(
'method'=>'POST',
'Content-Length'=>strlen($postdata),
'Host'=>'api.weixin.qq.com',
'Content-Type'=>'application/json',
'content'=>$postdata
)
);
$context=stream_context_create($opts);
$result=file_get_contents('https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=你的access_token',true,$context);
echo$result;
E. 微信小程序 实现模板消息群发、发送给指定用户
最近在做一款拼课类小程序,大概需求就是分享课程页面给好友,好友参与达到一定数量后则拼课成功。 按理说很平常的需求,微信公众号里边应该很容易实现,但是想在小程序里边实现这么个功能却有点蛋疼了。 为什么小程序实现起来比较费劲呢,那就要说下小程序发送模板消息的机制了,先看文档怎么说: 划重点, 本人 、 交互 ,也就是说这个模板消息,必须由用户手动来触发,你想后台定时给用户推个消息,洗洗睡吧你。 再来看下面: 这个重点你们自己划吧,发模板消息必须满足这两种情况中的一种,支付就不说了,用户付款后可以推送几条消息,重点是这个 表单提交 。 意思就是我想给用户发个模板消息,第一要搞个表单,第二要让用户来提交这个表单(获取formId),而且这个模板消息还只能发给提交表单的用户本人,你想发给别的用户,呵呵。好了,说多了都是气,既然这样设计,也是有一定道理,但是道理都是讲给守规矩的人听的,至于不守规矩的,喂!说的就是你。 通过上面的分析我们知道,想发送一个基本的模板消息需要以下步骤: 模板消息接口 POST https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=ACCESS_TOKEN 有这么几个参数 :前面扯了一堆概念,下面我们来把这个功能具体的实现一遍吧,我这里后台用的是php laravel,原理都一样。 我这只写一个例子,一看就明白 有些时候用户操作频繁,可能会导致服务器收到大量请求,所以可以优化下,把formId先存到一个全局变量里边(数组),当达到一定数量后统一发给后台来保存。这块可以灵活运用。 服务端的实现也就两个功能, 收集 和 发送 。 假设我们现在有这么一个类FormIdCollection,可以收集(save)和获取(get)某个openid的formId,那我们给前台暴露的api只需要简单的调用下就可以了,至于发消息,也只需要get一个formId,即可。 下面是FormIdCollection类的一个具体实现,基于laravel(说实话,挺好用的),另外引入了一个微信开发包 overtrue/wechat (这里主要是用来发模板消息、有点大材小用了), https://www.easywechat.com/ 我已经封装了一个laravel扩展包,感兴趣的朋友可以上github上看下 https://github.com/laravuel/laravel-wfc 。 至于非框架的php实现,小伙伴可以帮忙弄下。F. php如何编写一个微信公众平台的消息推送
给你个代码样例不可以直接复制使用
/**
*发送模板消息
*@param$tmpId模板ID
*@param$openId用户openID
*@param$param模板参数
*@param$url
*@returnmixed
*@authorfjlhuman
*/
publicfunctionsendTmpMessage($tmpId,$openId,$param,$url){
$postUrl="https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=".$this->accessToken;
$arrData['touser']=$openId;
$arrData['template_id']=$tmpId;//'6OT8DDNF-CbiadTsbEKKSCZVHe_9hnhxOBT7EvURNcE';
$arrData['url']=$url;
$arrData['data']=$param;
$json=json_encode($arrData);
$result=Curl::post($postUrl,$json);
$result=json_decode($result,true);
$rData['isTure']=false;
$rData['msg']="";
if($result['errcode']==0){
$rData['isTure']=true;
$rData['msg']="发送成功";
}else{
$rData['msg']=$result['errcode'];
}
return$rData;
}
详情请参考微信公众平台技术文档->模板消息接口
G. PHP 同一时间 发送10W-100W微信模板消息,怎么解决速度上与稳定性...
用swoole,循环task 10w就6,7分钟吧
H. php 推送微信公众号模板消息
很简单,根据自己的控制器去调用类中的 cash_message( data)方法 openid就是微信的openid
data是需要推送的信息
I. php发送1000条微信模板消息万多久
几分钟。
用swoole,循环task,就可以发送1000条微信了,不需要耗费太长的时间,如果操作熟练的话,短短几秒钟也是有可能的。
消息的发送速度主要看你的操作熟练程度了,新手的话会稍微的慢一些,大概会花费几分钟的时间的。