Maison > Article > développement back-end > Comment implémenter le push d'événement de compte public WeChat en PHP
Les comptes officiels WeChat sont devenus un canal important pour de nombreuses entreprises de marketing et de services, et la fonction de push d'événements est également un élément extrêmement important. Cet article présentera comment implémenter le push d'événements du compte officiel WeChat en PHP, afin que les entreprises puissent mieux interagir avec les utilisateurs.
1. Présentation de l'événement push du compte public WeChat
Le push d'événement du compte public WeChat fait référence au serveur WeChat qui envoie activement des types spécifiques d'événements au compte public lors de l'interaction entre l'utilisateur et le compte public, tels que suivre, ne plus suivre, et en cliquant sur le menu, attendez. Les comptes officiels peuvent offrir une meilleure expérience utilisateur et de meilleurs services en gérant ces événements.
2. Construction de l'environnement PHP
Avant de mettre en œuvre le push d'événement sur le compte public WeChat, vous devez d'abord configurer un environnement de développement PHP. Cet article utilise XAMPP comme exemple pour présenter les étapes spécifiques :
3. Configuration du développement du compte public WeChat
Une fois l'environnement de développement PHP créé, le compte public WeChat doit être configuré pour faciliter l'interaction avec PHP. Les étapes spécifiques sont les suivantes :
4. Écrivez le code PHP
Une fois le développement et la configuration du compte public WeChat terminés, vous pouvez écrire le code correspondant en PHP. La mise en œuvre du code sera divisée en trois parties.
Le compte officiel WeChat enverra les messages ou événements reçus à l'adresse du serveur configurée par le compte officiel, ces données doivent donc être reçues et analysées via PHP. Le code d'implémentation spécifique est le suivant :
$postdata = $GLOBALS['HTTP_RAW_POST_DATA']; //获取POST数据 if (!empty($postdata)) { //判断数据是否为空 $postObj = simplexml_load_string($postdata, 'SimpleXMLElement', LIBXML_NOCDATA); //将XML数据解析为对象 $msgType = $postObj->MsgType; //获取消息类型 if ($msgType == 'event') { //判断消息是否为事件 $event = $postObj->Event; //获取事件类型 //处理事件 } else { //处理消息 } }
Après avoir reçu un message ou un événement, il doit être traité en conséquence selon différents types. Le code de mise en œuvre spécifique est le suivant :
(1) Traitement des événements d'intérêt :
if ($event == 'subscribe') { $toUser = $postObj->FromUserName; //获取用户OpenID $fromUser = $postObj->ToUserName; //获取公众号原始ID $time = time(); //获取当前时间戳 $msgType = 'text'; //回复消息类型为文本 $content = '欢迎关注我们的公众号!'; //回复消息内容 $template = '<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[%s]]></MsgType> <Content><![CDATA[%s]]></Content> </xml>'; $info = sprintf($template, $toUser, $fromUser, $time, $msgType, $content); //构造回复消息XML echo $info; //返回回复消息给微信服务器 }
(2) Traitement des messages texte :
if ($msgType == 'text') { $toUser = $postObj->FromUserName; //获取用户OpenID $fromUser = $postObj->ToUserName; //获取公众号原始ID $time = time(); //获取当前时间戳 $msgType = 'text'; //回复消息类型为文本 $content = '您发送的是文本消息,我们会尽快回复您的问题。'; //回复消息内容 $template = '<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[%s]]></MsgType> <Content><![CDATA[%s]]></Content> </xml>'; $info = sprintf($template, $toUser, $fromUser, $time, $msgType, $content); //构造回复消息XML echo $info; //返回回复消息给微信服务器 }
Dans le développement des comptes publics WeChat, des signatures doivent être utilisées pour assurer la sécurité du processus d’interaction. La méthode d'implémentation spécifique est la suivante :
$signature = $_GET["signature"]; //获取加密签名 $timestamp = $_GET["timestamp"]; //获取时间戳 $nonce = $_GET["nonce"]; //获取随机数 $token = "你在微信公众平台设置的Token值"; //获取Token值 $tmpArr = array($token, $timestamp, $nonce); //组装数组 sort($tmpArr, SORT_STRING); //按照字典序排序 $tmpStr = implode($tmpArr); //组装字符串 $tmpStr = sha1($tmpStr); //加密 if ($tmpStr == $signature) { //比较签名 return true; } else { return false; }
5. Test de déploiement
Une fois le code PHP écrit, le code doit être déployé sur le serveur pour être testé. Les étapes spécifiques sont les suivantes :
6. Résumé
Grâce à la mise en œuvre des étapes ci-dessus, le push d'événement du compte officiel WeChat peut être implémenté avec succès en PHP. Les entreprises peuvent utiliser cette fonction pour mieux interagir avec les utilisateurs et améliorer l'influence de la marque et la satisfaction des utilisateurs.
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!