微信公众号推送模板消息,向指定的openID群发

韩昊杰
2022-04-07 / 0 评论 / 128 阅读 / 正在检测是否收录...
微信作为社交软件,已经渗透到我们每一个人的日常生活当中,所以微信公众号的消息模板功能,可以很好且及时的向用户推送我们想要用户知道的消息,或者是用户本身想要知道的事情。当然,不是所有消息都可以推送,详情查看官方文档!

模板消息样例

l1nscjrt.png

前期准备,添加模板插件

注:只有通过“微信认证的服务号”才有推送模板消息接口的权限。
第一步,在功能->添加功能插件处申请模板消息使用权限。
l1ntblh5.png
第二步,选择公众账号服务所处的两个行业,每月可更改一次所选行业。
l1ntbxzk.png
第三步,在所选择行业的模板库中选用已有的模板,添加至我的模板,或申请新模板。
l1ntcjpa.png

代码如下

$data = getDataArray('o-tcNt82J11wDhIQ57OOD********');//传入用户的openID,发送消息模板
$json_data = json_encode($data);//转化成json数组让微信可以接收
$res = https_request($url, urldecode($json_data));//请求开始
$res = json_decode($res, true);
if ($res['errcode'] == 0 && $res['errcode'] == "ok") {
    echo "发送成功!<br/>";
    var_dump($res);
    die('end');
}else{
  echo 'error'.$res['errcode'];
  die('end');
}
die('end');

//获取发送数据数组
function getDataArray($value)
{
    $data = array(
        'touser' => $value, //要发送给用户的openid
        'template_id' => "ghKp-eHfi-BgWa0DTbsTpWSppynTpeCfKpgZeoe4ti4",//改成自己的模板id,在微信后台模板消息里查看
        'url' => "www.seafarechina.com/", //自己网站链接url
        'data' => array(
            'first' => array(
                'value' => "您好,您已成为微信某某店会员。",
                'color' => "#ff3300"
            ),
            'cardNumber' => array(
                'value' => "6666666",
                'color' => "#f00"
            ),
            'address' => array(
                'value' => "北京市海淀区御花园",
                'color' => "#173177"
            ),
            'VIPName' => array(
                'value' => "Panglj",
                'color' => "#3d3d3d"
            ),
            'VIPPhone' => array(
                'value' => "1584848****",
                'color' => "#3d3d3d"
            ),
            'expDate' => array(
                'value' => "2020年1月9日",
                'color' => "#3d3d3d"
            ),
            'remark' => array(
                'value' => "如有疑问,请咨询1584848****。",
                'color' => "#ff3300"
            ),
        )
    );
    return $data;
}


//curl请求函数,微信都是通过该函数请求
function https_request($url, $data = null)
{
    $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);
    $output = curl_exec($curl);
    curl_close($curl);
    return $output;
}
0

评论 (0)

取消