zoukankan      html  css  js  c++  java
  • PHP实现微信模板消息发送给指定用户

    使用公众号的模板消息功能,必须是认证过的服务号,需要发送微信号的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);
        }
  • 相关阅读:
    scala中 object 和 class的区别
    scala中的apply方法与unapply方法
    Scala中的样例类详解
    Scala 中下划线的一些魔法
    Hadoop搭建配置参数调优
    设置ESX/ESXi中(Linux)虚拟机从U盘引导启动
    CentOS下编译安装Busybox
    LRU算法简单实现
    Spark 3.0 动态分区裁剪(Dynamic Partition Pruning)
    Hive中的数据分桶以及使用场景
  • 原文地址:https://www.cnblogs.com/songxuan/p/10400981.html
Copyright © 2011-2022 走看看