Home  >  Article  >  Backend Development  >  PHP implements the push of WeChat applet template messages

PHP implements the push of WeChat applet template messages

王林
王林Original
2023-05-31 21:02:102253browse

As a new type of mobile application, WeChat applet has become the focus of more and more developers. However, in addition to the basic message push function, how to implement template message push in the WeChat applet?

In this article, we will use the PHP language as an example to introduce how to implement the template message push function of the WeChat applet.

First of all, we need to understand the basic concept of template messages in WeChat mini programs. Template messages refer to template messages for service accounts or subscription accounts, which can be sent to users and displayed in the user's WeChat chat interface with the user's consent and authorization. In the WeChat applet, we can push template messages by calling the official API of the WeChat applet.

Next, we need to prepare some necessary parameters. Specifically, we need to obtain information such as the access_token of the WeChat applet, the openid of the target user, the ID of the template message, and the message content (i.e., variable substitution in the template).

Before obtaining the access_token, we need to register on the WeChat applet development platform and obtain the relevant AppID and AppSecret information, and then obtain the access_token through the OAuth2.0 verification mechanism. After obtaining the access_token, we can use it to push template messages.

Next, we need to construct the message template. In the WeChat applet, message templates are sent through specific template IDs. We can choose a suitable template through the template library on the WeChat open platform, or customize a template ourselves. The template will contain placeholders, and we need to replace these placeholders with specific content when sending the message.

Generally, we can store the relevant information of the message template (such as template ID and placeholder) in the database to facilitate subsequent push.

Next, we need to write the push code. In PHP, we can use the CURL library to construct an HTTP request and then send the request to the WeChat applet API. The API will return a response in JSON format, which includes the results of the message push.

For the following sample code, we have prepared the template ID, openid value and variable values ​​that need to be replaced (such as order number, product name and price).

<?php
// access_token的获取
$appid = 'your_appid'; // 微信小程序的appid
$appsecret = 'your_appsecret'; // 微信小程序的appsecret
$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$appid&secret=$appsecret";

// 发送请求,获取access_token
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
$out = curl_exec($ch);
curl_close($ch);
$data = json_decode($out, true);
$access_token = $data["access_token"];

// 发送模板消息
$data = array(
    "touser" => "用户openid", // 接收用户openid
    "template_id" => "模板消息ID", // 模板消息ID 
    "page" => "pages/index/index", // 跳转小程序页面路径
    "form_id" => "表单ID", // 表单ID
    "data" => array(
        "keyword1" => array(
            "value" => "订单号"
        ),
        "keyword2" => array(
            "value" => "商品名称"
        ),
        "keyword3" => array(
            "value" => "价格"
        ),
    )
);

$json = json_encode($data);
$url = "https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=" . $access_token;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
$out = curl_exec($ch);
curl_close($ch);
$res = json_decode($out, true);

// 输出结果
if ($res['errcode'] == 0) {
    echo '消息发送成功!';
} else {
    echo '消息发送失败:' . $res['errmsg'];
}
?>

When running this code, if "Message sent successfully!" can be output, it means that the message has been successfully pushed to the user's WeChat chat interface.

It should be noted that the sending of template messages is subject to some restrictions. For example, the number of template messages sent each time cannot exceed the daily limit, and the sending frequency of different templates is also different, etc. In order to avoid unnecessary trouble, we should follow the sending restrictions and regulations according to the relevant documents of the WeChat public platform.

This article briefly introduces the process of using PHP to implement WeChat applet template message push. Being proficient in this process allows us to better interact with users and improve the user experience of mini programs.

The above is the detailed content of PHP implements the push of WeChat applet template messages. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn