微信公众平台常用接口-关注事件消息
原创用户关注和取消关注公众账号的时候将分别触发关注事件和取消关注事件。
关注事件
用户关注微信公众账号时的界面如图 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-04-01
- 弗兰克·贝特格:销售不是说出来的,而是问出来的 2023-03-24
- 不自量力,孤军奋战做蛋糕 2023-07-16
- 微信里的独家收藏 2023-07-14
- 抓住红利:下沉市场的机会红利,助你实现财富自由 2022-07-23
- 大数据就是你玩转市场的资本 2022-07-27
- 发个人爱好类信息,不断提高您的销售技巧和业绩 2023-04-14
- 拜访前,请先做好客户情报工作「销售技巧」 2023-03-04
- 「抖商经验」成功锁定自己擅长的领域 2023-02-12
- 好感度:你能给人带来欢乐吗「销售管理」 2023-03-02
- 利用服务号提供客户服务,微信服务号提供服务的12种方式 2023-07-08
- 诚实是打动客户心扉的敲门砖,建立客户信任,实现长期合作 2023-04-01
- 快速增粉和引流策略,地推 2023-07-13
- 潜能激发:为什么 85% 的员工不能发挥个人潜能? 2023-05-22
- 【成功案例1】骑行西藏 2023-07-09
- 创业计划,创业计划的展示 2023-09-06
- 「销售团队管理」追梦:个人梦想汇聚成团队梦想 2023-03-04
- 挑剔型的客户,要懂得以新换心,获得更多的回头客 2023-04-01