微信公众平台常用接口-关注事件消息
原创用户关注和取消关注公众账号的时候将分别触发关注事件和取消关注事件。
关注事件
用户关注微信公众账号时的界面如图 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-07-12
- 企业如何打造微信电商O2O社群,企业如何经营微信电商客户社群 2023-07-03
- 「业务活动」至上的副作用「销售技巧」 2023-03-02
- 让客户体会到,你是真心实意为他着想「销售技巧」 2023-03-04
- 社交媒体的强大力量,实现您的梦想和目标,获得成功和财富 2023-04-01
- 相信自己能,才能做得到——销售技巧 2023-03-04
- 微商引流的策略与渠道,创意就是生产力 2023-07-13
- 微信营销的「最好时代」 2023-07-13
- 客户数量是决定销售业绩的关键指标 2023-03-04
- 初识微信公众平台,获取自定义菜单配置接口 2023-07-15
- 「互联网+」整合营销,红牛时间到,唤醒新能量 2022-07-27
- 六型客户模型,让你销售业绩持续上涨,轻松增加您的销售利润 2023-05-19
- 破解心理,分析客户说「不」的原因,为您的生意带来巨大成功 2023-04-01
- 让业绩高速增长! 如何制造关键机会,促进客户关系? 2023-05-19
- 学会说「谢谢」——要有随时感恩的心态——销售应具有的心态 2023-03-04
- 如何做好销售?宜家效应:打造用户参与感,让人们爱上你的产品 2023-05-20
- 微信的商业价值与商业模式,5微信语音 2023-07-09
- 「抖商经验」转变思路 2023-02-12