Maison  >  Article  >  développement back-end  >  PHP implémente le push des messages de modèle d'applet WeChat

PHP implémente le push des messages de modèle d'applet WeChat

王林
王林original
2023-05-31 21:02:102240parcourir

En tant que nouveau type d'application mobile, le mini-programme WeChat est devenu le centre d'intérêt de plus en plus de développeurs. Cependant, en plus de la fonction de base de transmission de messages, comment implémenter un modèle de transmission de messages dans l'applet WeChat ?

Dans cet article, nous utiliserons le langage PHP comme exemple pour présenter comment implémenter la fonction push de message modèle de l'applet WeChat.

Tout d'abord, nous devons comprendre le concept de base des modèles de messages dans les mini-programmes WeChat. Les messages modèles font référence à des messages modèles pour les comptes de service ou les comptes d'abonnement, qui peuvent être envoyés aux utilisateurs et affichés dans l'interface de discussion WeChat de l'utilisateur avec le consentement et l'autorisation de l'utilisateur. Dans l'applet WeChat, nous pouvons envoyer des modèles de messages en appelant l'API officielle de l'applet WeChat.

Ensuite, nous devons préparer quelques paramètres nécessaires. Plus précisément, nous devons obtenir des informations telles que le access_token de l'applet WeChat, l'openid de l'utilisateur cible, l'ID du modèle de message et le contenu du message (c'est-à-dire la substitution de variable dans le modèle).

Avant d'obtenir le access_token, nous devons nous inscrire sur la plateforme de développement d'applets WeChat et obtenir les informations AppID et AppSecret pertinentes, puis obtenir le access_token via le mécanisme de vérification OAuth2.0. Après avoir obtenu le access_token, nous pouvons l'utiliser pour envoyer des modèles de messages.

Ensuite, nous devons construire le modèle de message. Dans l'applet WeChat, les modèles de messages sont envoyés via des ID de modèle spécifiques. Nous pouvons choisir un modèle approprié via la bibliothèque de modèles sur la plateforme ouverte WeChat, ou personnaliser un modèle nous-mêmes. Le modèle contiendra des espaces réservés, et nous devons remplacer ces espaces réservés par un contenu spécifique lors de l'envoi du message.

Généralement, nous pouvons stocker les informations pertinentes du modèle de message (telles que l'ID du modèle et l'espace réservé) dans la base de données pour faciliter la diffusion ultérieure.

Ensuite, nous devons écrire le code push. En PHP, nous pouvons utiliser la bibliothèque CURL pour construire une requête HTTP, puis envoyer la requête à l'API de l'applet WeChat. L'API renverra une réponse au format JSON, qui inclut les résultats du message push.

Pour l'exemple de code suivant, nous avons préparé l'ID du modèle, la valeur openid et les valeurs variables qui doivent être remplacées (telles que le numéro de commande, le nom du produit et le prix).

<?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'];
}
?>

Lors de l'exécution de ce code, si « Message envoyé avec succès ! » peut être affiché, cela signifie que le message a été transmis avec succès à l'interface de discussion WeChat de l'utilisateur.

Il est à noter que l'envoi de modèles de messages est soumis à certaines restrictions. Par exemple, le nombre de modèles de messages envoyés à chaque fois ne peut pas dépasser la limite quotidienne, et la fréquence d'envoi des différents modèles l'est également. différent, etc Afin d'éviter des problèmes inutiles, nous devons suivre les restrictions et réglementations d'envoi conformément aux documents pertinents de la plateforme publique WeChat.

Cet article présente brièvement le processus d'utilisation de PHP pour implémenter le push de message du modèle d'applet WeChat. Maîtriser ce processus nous permet de mieux interagir avec les utilisateurs et d'améliorer l'expérience utilisateur des mini-programmes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn