使用公众号的模板消息功能,必须是认证过的服务号,需要发送微信号的openid,同一微信号在不同公众号下的openid是不同的,在公众号下是唯一的,获取不到微信号

进入公众平台  功能->模板消息,如果没有,添加功能组件,添加模板消息

进入模板消息,在模板库中会有官方提供的一些公共样式,找到适合的添加,也可以申请自己的,要通过微信官方的审核

进入我的模板,拿到对应模板ID,

发送消息的接口,以 json的形式发送

以审核通知为例,json格式如下

{
"touser": "这里是接收用户的OPENID",
"template_id": "这里是模板ID",
"url": "这里是点击详情后跳转的网址",
"data": {
"first": {
"value": "您的提交内容已审核",
"color": "#173177"
},
"keyword1": {
"value": "审核的内容",
"color": "#FF0000"
},
"keyword2": {
"value": "审核成功",
"color": "#173177"
},
"remark": {
"value": "其它提示",
"color": "blue"
}
}
}

php 数组转json发送请求

public function send($openid){

        $tokens //获取token
$url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=".$tokens;
$params = [
'touser' =>$openid,//接收消息的openid
'template_id' => 'kheYi0eBdV-zDdO1qk216o9e_wTeRLA4wC-v2AS66p4',//模板ID
'url' => '', //点击详情后的URL可以动态定义
'data'=>[
'first'=>[
'value'=>'您的提交内容已审核',
'color'=>'#173177'
],
'keyword1'=>[
'value'=>'新增广告审核',
'color'=>'#173177'
],
'keyword2'=>[
'value'=>'审核已通过',
'color'=>'#173177'
],
'remark'=>[
'value'=>'',
'color'=>'#173177'
]
]
]; $data = json_encode($params,JSON_UNESCAPED_UNICODE); $curl = curl_init();
curl_setopt($curl,CURLOPT_URL,$url);
curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,FALSE);
curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,FALSE);
if(!empty($data)){
curl_setopt($curl,CURLOPT_POST,1);
curl_setopt($curl,CURLOPT_POSTFIELDS,$data);
} curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
curl_exec($curl);
curl_close($curl);
}

PHP实现微信模板消息发送给指定用户的更多相关文章

  1. PHP微信模板消息发送

    <?php class Wxtemplate extends Base { function __construct() { $this->appid = config('WXAPP_AP ...

  2. php 微信模板消息发送

    <?php ini_set ( 'date.timezone', 'Asia/Shanghai' ); define ( 'IN_ASK2', TRUE ); $http_type = ((is ...

  3. 【原创分享·微信支付】C# MVC 微信支付之微信模板消息推送

    微信支付之微信模板消息推送                    今天我要跟大家分享的是“模板消息”的推送,这玩意呢,你说用途嘛,那还是真真的牛逼呐.原因在哪?就是因为它是依赖微信生存的呀,所以他能不 ...

  4. C# MVC 微信支付之微信模板消息推送

    微信支付之微信模板消息推送                    今天我要跟大家分享的是"模板消息"的推送,这玩意呢,你说用途嘛,那还是真真的牛逼呐.原因在哪?就是因为它是依赖微信 ...

  5. 前后端分离djangorestframework—— 接入微信模板消息推送

    微信 什么是微信也不多说,跟前面的支付宝一样的 微信支付 微信支付也有个沙箱环境,沙箱环境官方文档 由文档中那句很显眼的话所得,即使是测试环境也需要真实的商户号,所以这个就没法想支付宝那样用沙箱账号来 ...

  6. java开发微信模板消息推送

    发布时间:2018-12-12   技术:springboot+maven   概述 该demo主要涉及微信模板消息推送功能, 详细 代码下载:http://www.demodashi.com/dem ...

  7. 5分钟连续出现某现象+微信模板消息提醒 PHP

    需求场景:用电插座电流连续出现5次电流过高(大于 3A)后停止用电服务,前四次发送电流过高提醒,最后一次发送结束用电服务提醒 思路: Redis  key 设为:插座编号+user户编号  value ...

  8. php 实现发送微信模板消息(转)

    <?php namespace Org\Weixin; /** * Created by PhpStorm. * User: StandOpen * Date: 15-1-7 * Time: 9 ...

  9. 应用jfinal发送微信模板消息的一个bug

    严格来讲,这不是一个bug,只是我们应用的方式不对.微信发送模板消息的方法是: HttpUtils.post(sendApiUrl + AccessTokenApi.getAccessTokenStr ...

随机推荐

  1. zip4j实现文件压缩与解压缩 & common-compress压缩与解压缩

    有时候需要批量下载文件,所以需要在后台将多个文件压缩之后进行下载. zip4j可以进行目录压缩与文件压缩,同时可以加密压缩. common-compress只压缩文件,没有找到压缩目录的API. 1. ...

  2. 使用Mac下的sequel Pro链接数据库时提示错误(已解决)

    使用Mac下的sequel Pro链接数据库时,出现如下问题: ? 1 MySQL said: Authentication plugin 'caching_sha2_password' cannot ...

  3. excel2json

    原文链接 在游戏项目中一般都需要由策划制作大量的游戏内容,其中很大一部分是使用Excel表来制作的.于是程序就需要把Excel文件转换成程序方便读取的格式. 之前项目使用的Excel表导入工具都是通过 ...

  4. Python——IPython和NumPy

    IPython: 一个增强的Python shell:许多python对象的显示形式更友好.更详细的异常显示.增加额外的命令交互式数据处理 Tab键自动完成: 键入一些内容之后,按Tab键,显示可能的 ...

  5. spring注解开发AnnotationConfigApplicationContext的使用

    说明 使用AnnotationConfigApplicationContext可以实现基于Java的配置类加载Spring的应用上下文.避免使用application.xml进行配置.相比XML配置, ...

  6. hdu 1241 Oil Deposits (简单搜索)

    题目:   The GeoSurvComp geologic survey company is responsible for detecting underground oil deposits. ...

  7. Linux系统(虚拟机)安装禅道

    1.查看linux系统版本 uname -a 2.禅道下载:http://www.zentao.net/download.html,找到要下载的版本,点击进入各平台下载: 3.将下载好的安装包上传到l ...

  8. 【DOS】Win7系统文件夹名太长无法删除问题的解决

    一个测试工具产生了几个坑爹文件夹名为n个“x” ,系统提示删除不掉. 网上百度,说什么压缩.写bat文件...统统没用. 猛地看到右击菜单中安装了git客户端工具,想试试看.在该文件夹目录下Git B ...

  9. 【算法】Normalization

    Normalization(归一化) 写这一篇的原因是以前只知道一个Batch Normalization,自以为懂了.结果最近看文章,又发现一个Layer Normalization,一下就懵逼了. ...

  10. Vue之展示PDF格式的文档

    事实上有很多种在前端展示PDF格式文档的方法,小编也用过好多种,例如有<iframe>.<embed>和<object>这些标签,但是在Vue项目里,这些方法都不能 ...