微信模板消息批量推送

需要给关注用户发送模板消息,由于公众号关注用户比较多,所以采用普通的curl等方式太慢。由于模板消息发送不需要等待微信的结果,所以利用php的fsockopen()函数可以达到快速发送的效果。代码如下:

        $data = array(
            'touser' => '推送人(粉丝)的openid',
            'template_id' => '微信公众号的我的模板中的模板id',
            'url' => '推送消息的跳转链接地址',
            'topcolor' => '#FF0000',
            'data' => array(
                'first' => array(
                    'value' => '尊敬的用户你好',
                    'color' => '#FF0000'
                ),
                'keyword1' => array(
                    'value' => '第一个模板参数',
                    'color' => '#173177'
                ),
                'keyword2' => array(
                    'value' => '第二个模板参数',
                    'color' => '#173177'
                ),
                'keyword3' => array(
                    'value' => '第三个模板参数',
                    'color' => '#173177'
                ),
                'keyword4' => array(
                    'value' => '第四个模板参数',
                    'color' => '#173177'
                ),
                'remark' => array(
                    'value' => '有新工程正在线上招投标,快去报名吧!',
                    'color' => '#FF0000'
                )

            )
        );

        $access_token = '你的微信公众号access_token';
        $params = json_encode($data,JSON_UNESCAPED_UNICODE);
        for ($i = 0; $i < 50; $i++) {
            $fp = fsockopen('api.weixin.qq.com', 80, $error, $errstr, 1);
            $http = "POST /cgi-bin/message/template/send?access_token={$access_token} HTTP/1.1\r\nHost: api.weixin.qq.com\r\nContent-type: application/x-www-form-urlencoded\r\nContent-Length: " . strlen($params) . "\r\nConnection:close\r\n\r\n$params\r\n\r\n";
            fwrite($fp, $http);
            fclose($fp);
        }

测试截图
微信模板消息批量推送_第1张图片
微信模板消息批量推送_第2张图片

你可能感兴趣的:(php)