当前位置:首页 » 编程语言 » 微信模板消息php

微信模板消息php

发布时间: 2023-03-26 04:15:45

1. 微信小程序 实现模板消息群发、发送给指定用户

最近在做一款拼课类小程序,大概需求就是分享课程页面给好友,好友参与达到一定数量后则拼课成功。

按理说很平常的需求,微信公众号里边应该很容易实现拆配,但是想在小程序里边实现这么个功能却有点蛋疼了。

为什么小程序实现起来比较费劲呢,那就要说下小程序发送模板消息的机制了,先看文档怎么说:

划重点, 本人 、 交互 ,也就是说这个模板消息,必须由用户手动来触发,你想后台定时给用户推个消息,洗洗睡吧你。
再来看下面:

这个重点你们自己划吧,发模板消息必须满足这两种情况中的一种,支付就不说了,用户付款后可以推送几条消息,重点是这个 表单提交 。
意思就是我想给用户发个模板消息,第一要搞个表单,第二要让用户来提交这个表单(获取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实现,小伙伴可以帮忙弄下。

2. php 微信模板消息 5000人的推送

1、php+redis 消息队列
2、swoole异步执行
想玩并发的话,php 的话除了 pcntl_fork 多个进程跑脚本,本身有批处理的模块,可以用 curl_multi_* 批量发送

3. 求微信公众号接口 给客户发送信息的 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;

4. php发送1000条微信模板消息万多久

几分钟。
用swoole,循环task,就可以发送1000条微芦亩蔽庆信了,不需要耗费太长的时间陪并森,如果操作熟练的话,短短几秒钟也是有可能的。
消息的发送速度主要看你的操作熟练程度了,新手的话会稍微的慢一些,大概会花费几分钟的时间的。

5. PHP 同一时间 发送10W-100W微信模板消息,怎么解决速度上与稳定性...

用swoole,循环task 10w就6,7分钟吧

6. 帮忙写个微信公众平台模板消息范例 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;

7. php 推送微信公众号模板消息

很简单,谨中根据自己的控制器去调用类中的 cash_message( data)方法 openid就是微信的openid
data是需睁晌喊要推送悉野的信息

8. 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;

}

详情请参考微信公众平台技术文档->模板消息接口

9. 微信公众号模板消息无法跳转到指定小程序页面

最近做了一个需求在公众号网页推送的模板消息,连接跳转到关联小程序,遇到总是跳转到首页的问题。说一下里面的坑

后端是PHP进 行消息发送  官方发送数据例子如下:

最开始 为了构造一个json数据格式,

第一步:我是先把 数据构造成一个多维数组 $arr,

第二步:$json_data  = json_encode($arr),然后再  $json = urldecode($json_data);

第三步:再然后 就是 通过  curl_init 进行发送了,这里不再详述。

接下来有个坑,发送不成功,错误信息 如下

{“errcode”:40165,“errmsg”:"invalid weapp pagepath}

网络下,很快有了答案,说慧困官方文档有误,把 pagepath 改为 path 即可,我试了下,果然可以,消息推送正常,开心坏了!

奇怪的事情发生了,点击推送消息后没有跳转到小程序指定页面,一直是首页!

然后网络搜索各种答案,有说  路径参数名,改为 page(试了下居然可以),有的说 为 pagepath(这不是刚跳出来的坑吗?为啥别人居然可以成功发送?)

经过各种测试终于发现问题所在,第二步有问题!json_encode() 把原来数组中的路径 斜杠转义了!  'pages/auth/auth?id=6'   变成了  'pages\/auth\/auth?id=6'  难怪轮碧蚂找不到路径!

后来看了下手册,有防止 json_encode() 转义 斜杠的参数  

JSON_UNESCAPED_SLASHES (不转义斜杠,对应的腊埋数字 64)

然后把第二步  改为   $json_data  = json_encode($arr, JSON_UNESCAPED_SLASHES )

还得把  页面参数由 path  改为   pagepath (不改会报错!)

再发送消息就可以正常接收并跳转到指定小程序页面啦!下面是我的构造的正确的多维数组格式

10. php微信模版消息为什么收到空白

首先谨昌你得先在后台里建立自己的模版消息,然后通过设置好的模版消息进行对应的操作

操作的步骤为以下几个步骤:

1 设置所属行业

2 获取设置的行业信息

3 获得模板ID

4 获取模板祥局扒列表

5 删除模板

6 发送模板消息

7 事件推送

在调用模板消息接口后,会返回JSON数据包。正常时的返回JSON数据包示例:

{
"errcode":0,
腊伍"errmsg":"ok",
"msgid":200228332
}

当返回的消息中errocde为0且返回了errmsg为OK和msgid后才说明发送的消息模版成功了

热点内容
linux括号 发布:2024-11-03 02:19:06 浏览:110
安卓7自带小游戏怎么玩 发布:2024-11-03 02:17:59 浏览:158
csgo如何连服务器 发布:2024-11-03 02:13:04 浏览:391
斯坦福python 发布:2024-11-03 01:47:08 浏览:609
乘法编程教程 发布:2024-11-03 01:37:06 浏览:693
咒怨2ftp 发布:2024-11-03 01:31:17 浏览:432
linux如何安装telnet 发布:2024-11-03 01:20:20 浏览:84
苹果手机怎么加密软件 发布:2024-11-03 01:20:16 浏览:886
微信存储路径删除 发布:2024-11-03 01:14:09 浏览:393
c语言贪吃蛇源码 发布:2024-11-03 00:57:15 浏览:120