微信公众平台常用接口-自动回复消息
原创微信公众账号常用的回复用户的消息类型有文本、音乐、图文等。其中图文又可分为单图文和多图文。下面分别进行介绍。
文本消息
微信公众账号向用户回复文本消息的示例如图 4-5 所示。
图 4-5 公众账号回复文本消息
微信公众账号回复用户文本消息时的 XML 数据格式如下所示:
公众账号回复文本消息的参数及描述如表 4-5 所示。
表 4-5 文本消息的参数及描述
音乐消息
微信公众账号向用户回复音乐消息的示例如图 4-6 所示。
图 4-6 公众账号回复音乐消息
微信公众账号回复用户音乐消息时的 XML 数据格式如下所示:
公众账号回复音乐消息的参数及描述如表 4-6 所示。
表 4-6 音乐消息的参数及描述
图文消息
图文信息可以分为单图文消息和多图文消息,实现它们的代码是一样的,但在微信上的显示方式上有细小区别。
微信公众账号向用户回复单图文消息的示例如图 4-7 所示。
图 4-7 公众账号回复单图文消息
微信公众账号回复用户单图文消息的 XML 数据格式如下所示:
微信公众账号向用户回复多图文消息的示例如图 4-8 所示。
图 4-8 公众账号回复多图文消息
微信公众账号回复用户多图文消息时的 XML 数据格式如下所示:
公众账号回复图文消息的参数及描述如表 4-7 所示。
表 4-7 图文消息的参数及描述
在单图文消息中,标题、描述、图片分开显示在各处,图片为大图。在多图文信息中,每条信息将只显示标题的内容,描述字段中的内容不会显示,第一条消息标题与图片层叠,显示在上方,从第二条消息开始,对应的图片显示为小图。
回复消息代码实现
本节将上述类型的响应消息通过代码实现,以便读者理解。具体代码如下所示:
<?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 「text」:
$result = $this->receiveText($postObj);
break;
case 「image」:
$result = $this->receiveImage($postObj);
break;
case 「voice」:
$result = $this->receiveVoice($postObj);
break;
case 「video」:
$result = $this->receiveVideo($postObj);
break;
default:
$result = 「unknow msg type: 」.$RX_TYPE;
break;
}
echo $result;
}else {
echo 「」;
exit;
}
}
private function receiveText($object)
{
$keyword = trim($object->Content);
if($keyword == 「文本」){
//回复文本消息
$content = 「这是个文本消息」;
$result = $this->transmitText($object, $content);
}
else if($keyword == 「单图文」){
//回复单图文消息
$content = array();
$content[] = array(「Title」=>「单图文标题」,
「Description」=>「单图文内容」,
「PicUrl」=>「http://discuz.comli.com/weixin/weather/icon/cartoon.jpg」,
「Url」 =>「http://m.cnblogs.
com/?u=txw1958」);
$result = $this->transmitNews($object, $content);
}
else if($keyword == 「多图文」){
//回复多图文消息
$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」);
$result = $this->transmitNews($object, $content);
}
else if($keyword == 「音乐」){
//回复音乐消息
$content = array(「Title」=>「最炫民族风」,
「Description」=>「歌手:凤凰传奇」,
「MusicUrl」=>「http://121.199.4.61/music/zxmzf.mp3」,
「HQMusicUrl」=>「http://121.199.4.61/music/zxmzf.mp3」);
$result = $this->transmitMusic($object, $content);
}
return $result;
}
private function receiveImage($object)
{
//回复图片消息
$content = array(「MediaId」=>$object->MediaId);
$result = $this->transmitImage($object, $content);;
return $result;
}
private function receiveVoice($object)
{
//回复语音消息
$content = array(「MediaId」=>$object->MediaId);
$result = $this->transmitVoice($object, $content);;
return $result;
}
private function receiveVideo($object)
{
//回复视频消息
$content = array(「MediaId」=>$object->MediaId,
「ThumbMediaId」=>$object->ThumbMediaId, 「Title」=>「」, 「Description」=>「」);
$result = $this->transmitVideo($object, $content);;
return $result;
}
/*
* 回复文本消息
*/
private function transmitText($object, $content)
{
$textTpl = 「
版权保护: 本文由 李斯特 原创,转载请保留链接: https://www.wechatadd.com/artdet/8920
- 上一篇:微信公众平台常用接口-接收用户普通消息
- 下一篇:微信公众平台常用接口-关注事件消息
阅读推荐
更多...- 寻找客户的心理突破点:看透不同类型客户的心理弱点--销售的关键在哪里? 2023-03-13
- 微店运营分析:到底赚了多少钱 2023-07-14
- 「销售技巧」精细筛选,找出准客户 2023-02-28
- 要把取得官方认证当做订阅号的大事来抓 2023-07-02
- 百度推广营销要注意确认关键词和竞价排名 2022-07-26
- 回归价值本源:小程序带来怎样的商业机会? 2023-07-11
- “再便宜点”“这个赠品就送给我吧”,为您的生意带来巨大成功 2023-04-14
- 沉默是金,以静制动是高情商销售技巧,轻松增加您的销售利润 2023-04-01
- 创业过程中巨人创建以来的产品和策划 2024-02-12
- 快速增粉和引流策略,广告投放 2023-07-13
- 人无我有,人有我优(Bethefirstandthebest) 2023-07-16
- 防骗防诈,风险无处不在 2023-07-13
- 让客户一步一步被你说服,轻松增加您的销售利润 2023-04-01
- 营销系统市场价值 2023-07-11
- 移动互联网时代的入口之争 2023-07-09
- 需求分析:给客户最需要的东西,微信后台,了解用户的需求 2023-05-30
- 顾客说网上比你们店更便宜,怎么回应才能挽留成交呢?送你 4 招 2023-05-22
- 创业过程中体会在中国做企业还是低调一点好 2024-02-12