微信公众平台常用接口-关注事件消息
原创用户关注和取消关注公众账号的时候将分别触发关注事件和取消关注事件。
关注事件
用户关注微信公众账号时的界面如图 4-9 所示,点击「关注」按钮,微信公众账号将收到关注事件。
图 4-9 关注微信公众账号
用户关注微信公众账号时的 XML 数据格式如下所示:
用户取消关注微信公众账号时的界面如图 4-10 所示,点击「取消关注」按钮,微信公众账号将收到取消关注事件。
图 4-10 取消关注微信公众账号
用户取消关注微信公众账号时的 XML 数据格式如下所示:
关注及取消关注事件消息的参数及描述如表 4-8 所示。
表 4-8 文本消息的参数及描述
关注时回复多图文
本节将关注/取消关注事件消息通过代码实现,以便读者理解。具体代码如下所示:
<?php
//
// 关注/取消关注事件消息
// 微信公众账号关注与取消关注事件消息
//
define(「TOKEN」, 「weixin」);
$wechatObj = new wechatCallbackapiTest();
if (!isset($_GET[『echostr』])) {
$wechatObj->responseMsg();
}else{
$wechatObj->valid();
}
class wechatCallbackapiTest
{
public function valid()
{
$echoStr = $_GET[「echostr」];
if($this->checkSignature()){
echo $echoStr;
exit;
}
}
private function checkSignature()
{
$signature = $_GET[「signature」];
$timestamp = $_GET[「timestamp」];
$nonce = $_GET[「nonce」];
$token = TOKEN;
$tmpArr = array($token, $timestamp, $nonce);
sort($tmpArr);
$tmpStr = implode($tmpArr);
$tmpStr = sha1($tmpStr);
if($tmpStr == $signature){
return true;
}else{
return false;
}
}
public function responseMsg()
{
$postStr = $GLOBALS[「HTTP_RAW_POST_DATA」];
if (!empty($postStr)){
$postObj = simplexml_load_string($postStr,
『SimpleXMLElement』, LIBXML_NOCDATA);
$RX_TYPE = trim($postObj->MsgType);
switch ($RX_TYPE)
{
case 「event」:
$result = $this->receiveEvent($postObj);
break;
}
echo $result;
}else {
echo 「」;
exit;
}
}
private function receiveEvent($object)
{
$content = 「」;
switch ($object->Event)
{
case 「subscribe」:
$content = array();
$content[] = array(「Title」=>「多图文 1 标题」, 「Description」=>「」,
「PicUrl」=>「http://discuz.comli.com/weixin/weather/icon/cartoon.jpg」, 「Url」 =>「http://m.cnblogs.com/?u=txw1958」);
$content[] = array(「Title」=>「多图文 2 标题」, 「Description」=>「」,
「PicUrl」=>「http://d.hiphotos.bdimg.com/wisegame/pic/item/f3529822720e0cf3ac9f1ada0846f21fbe09aaa3.jpg」, 「Url」 =>「http://m.cnblogs.com/?u=txw1958」);
$content[] = array(「Title」=>「多图文 3 标题」, 「Description」=>「」,
「PicUrl」=>「http://g.hiphotos.bdimg.com/wisegame/pic/item/18cb0a46f21fbe090d338acc6a600c338644adfd.jpg」, 「Url」 =>「http://m.cnblogs.com/?u=txw1958」);
break;
case 「unsubscribe」:
$content = 「取消关注」;
break;
}
if(is_array($content)){
if (isset($content[0])){
$result = $this->transmitNews($object, $content);
}else if (isset($content[『MusicUrl』])){
$result = $this->transmitMusic($object, $content);
}
}else{
$result = $this->transmitText($object, $content);
}
return $result;
}
/*
* 回复文本消息
*/
private function transmitText($object, $content)
{
$textTpl = 「
在上面的代码中,判断消息类型为 event 而进入事件方法,再判断事件类型是否为关注或取消关注事件。当为关注事件的时候,回复一条欢迎语;当事件类型为取消关注时,直接回复空消息。因为这时用户已经取消关注,接收不到任何消息。
上述代码运行后,用户关注时,回复的多图文消息如图 4-11 所示。
图 4-11 用户关注时回复多图文消息
版权保护: 本文由 李斯特 原创,转载请保留链接: https://www.wechatadd.com/artdet/8921
- 上一篇:微信公众平台常用接口-自动回复消息
- 下一篇:微信公众平台常用接口-自定义菜单
阅读推荐
更多...- 让顾客亲自感受产品的优点和卖点——销售技巧 2023-03-04
- 小心应对客户的「终极问题」「销售技巧」 2023-03-02
- 柴田和子:巧妙越过电话障碍 2023-03-24
- 效仿的步骤——销售技巧 2023-03-04
- 如何进行二维码+APP营销? 2022-07-26
- 用户思维:消费者为什么买 2022-07-16
- 小心说话:怎么评价竞争对手?[销售秘籍建议收藏] 2023-05-22
- 内容雕琢——标题、图片和正文的打磨,取标题的心理技巧 2023-05-30
- 「抖商经验」粉丝的互动和运营 2023-02-12
- 「个人微商」慈光居士:佛教居士通过微信卖香道产品,时间月入元 2023-01-25
- LBS+游戏:带来不错的用户体验 2023-07-14
- 建立销售成功的关键: 管好销售时间 2023-04-01
- 销售其实有心机:销售中不可不用的心理学诡计 2023-03-08
- 公众号运营:微信生态下的自媒体商业变现 2023-07-11
- 万剑归心,微信营销大整合 2023-07-13
- 如何拜访客户才能顺利约见,并且有利于成交呢?送你 4 招 2023-05-22
- 掌握维护、留住老客户的技巧——销售技巧 2023-03-04
- 统筹一体化管理:首席营售官的重要性,轻松实现您的销售目标 2023-04-01