在微信公众平台上,我们可以使用模板消息功能来向用户发送通知、提醒和消息。通过模板消息,开发者可以为用户提供更丰富的内容,提升用户体验。在本文中,我们将展示如何通过 API 调用发送微信模板消息。
access_token
access_token
是调用微信 API 的凭证,必须在每次调用 API 时进行传递。为了获取 access_token
,我们需要使用公众号的 appID
和 appsecret
。
function getAccessToken($appid, $appsecret) {
$response = file_get_contents("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$appid&secret=$appsecret");
$json = json_decode($response, true);
return $json['access_token'] ?? null;
}
一旦我们获得了 access_token
,就可以使用它来发送模板消息。模板消息通常包含动态内容,用户可以根据自己的需求进行个性化设置。例如,我们可以发送订单出图通知、系统更新提醒等。
下面是发送模板消息的代码:
function sendMessage($accessToken, $openid, $templateId, $tempdataa, $imgUrl) {
$data = json_encode([
"touser" => $openid,
"template_id" => $templateId,
"url" => $imgUrl,
"appid" => '',
"data" => $tempdataa
], JSON_UNESCAPED_UNICODE);
$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=$accessToken",
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $data,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_SSL_VERIFYHOST => false
]);
return curl_exec($ch);
}
在上面的代码中,我们传递了必要的参数,如 access_token
、openid
、template_id
等。模板内容 ($tempdataa
) 是一个数组,包含动态填充的数据。$imgUrl
是可选的跳转链接,可以用来引导用户点击查看详情。
在实际应用中,我们可以根据用户行为动态发送模板消息。例如,在一个图片生成系统中,当用户提交生成请求时,我们可以通过模板消息通知用户订单状态。
function sendWeiXinMessage($title, $name, $imgUrl) {
$appid = 'your_appid';
$appsecret = 'your_appsecret';
$openid = 'user_openid';
$templateId = "template_id";
$tempdataa = [
"thing1" => ["value" => $title, "color" => "#FF0000"],
"time3" => ["value" => date("Y.m.d"), "color" => "#FF0000"],
"thing7" => ["value" => $name, "color" => "#FF0000"]
];
if ($accessToken = getAccessToken($appid, $appsecret)) {
sendMessage($accessToken, $openid, $templateId, $tempdataa, $imgUrl);
} else {
echo "获取 access_token 失败";
}
}
通过调用微信 API 发送模板消息,开发者可以轻松实现各种自动化通知。无论是订单通知、系统更新提醒还是其他服务的提示,模板消息都能为用户提供即时的反馈信息,提高用户的参与度和满意度。
在实际开发中,我们需要注意:
access_token
都需要是有效的。通过上述示例代码,您可以在自己的项目中实现微信模板消息功能,从而为用户提供更好的服务。