微信公众平台常用接口-关注事件消息
原创用户关注和取消关注公众账号的时候将分别触发关注事件和取消关注事件。
关注事件
用户关注微信公众账号时的界面如图 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-08-23
- 小红书运营第二步:内容选题和专题策划是输出优质内容的关键 2022-06-28
- 人情味,让你的消息脱颖而出 2023-07-13
- 产品打磨,产品打磨(上) 2023-07-16
- 销售文案:方案之作,用综合实力得人心 2023-05-22
- 乔·吉拉德:服务、服务,还是服务 2023-03-24
- 个人微信号的注册与银行卡绑定 2023-07-13
- 利用服务号提供客户服务,经典案例分析:招商银行与南航 2023-07-08
- 打造属于自己的销售神话附录销售精英不可不知的销售定律 2023-03-13
- 销售体系中的主线--实现业绩的突破 2023-03-23
- 角度创新:从「贩卖时间」里掘金 2022-07-23
- 销售建设——销售辅导与培养--实现业绩的突破 2023-03-23
- 供应链管理:别让售后拖累了你的生意 2022-07-23
- 成交后客户的信任依然很重要——销售技巧 2023-03-04
- 微博营销的诀窍有哪些?(微博营销的技巧) 2022-07-22
- 创业过程中如何从低谷中站起来? 2024-02-12
- 客户预约是销售预热过程中的第一个动作,提高销售技巧 2023-04-14