9.3.1 一次回复多条消息
下面介绍使用消息接口与客服接口相结合的方式,一次性回复用户多条消息。其本质是使用消息接口自动回复一条消息,再使用客服接口回复多条消息。
首先,在消息接口中收到文本消息的时候,获取OpenID,相关代码如下。
$openid = $object->FromUserName;
然后向该OpenID发送客服消息,这里可以同时发送文本消息和音乐消息,相关代码如下。
// 调用客服接口回复$access_token = "nFX6GFsspSLBKJLgMQ3kj1YM8_FchRE7vE2ZOIlmfiCOQntZKnBwuOen2GCBpFHBYS4QLGX9fGoVfA36tftME2sRiYsKPzgGQKU-ygU7x8cgy_1tlQ4n1mhSumwQEGy6PK6rdTdo8O8GROuGE3Hiag";$url = "https:// api.weixin.qq.com/cgi-bin/message/custom/send?access_token=".$access_token;// 发送《最炫民族风》的介绍$data = '{ "touser":"'.$openid.'", "msgtype":"text", "text": { "content":"《最炫民族风》是凤凰传奇演唱的歌曲,是其第三张专辑《最炫民族风》的主打歌,于2009 年5月27日全亚洲同步发行,2012年3月起在世界范围内走红。其彩铃下载量超过5000万。" }}';$this->https_request($url,$data);// 发送《最炫民族风》的音乐$data = '{ "touser": "'.$openid.'", "msgtype": "music", "music": { "title": "最炫民族风", "description": "凤凰传奇", "musicurl": "http:// 122.228.226.40/music/zxmzf.mp3", "hqmusicurl": "http:// 122.228.226.40/music/zxmzf.mp3", "thumb_media_id": "jVyS3KRGXvfeLHcnFVDSx07LeFhff-qwH0tVxRyU5RMBtC3aC14ta5 HlGb6eK0_d" }}';$this->https_request($url,$data);
发送完客服消息后,还可以继续使用消息接口回复,相关代码如下。
$contentStr = "以上是为您找到的关于 ".$object->Content." 的内容";if (is_array($contentStr)){ $resultStr = $this->transmitNews($object, $contentStr);}else{ $resultStr = $this->transmitText($object, $contentStr);}return $resultStr;
上述代码执行后,效果如图9-9所示。
客服接口最好发送的是文本、音乐及图文消息,在回复多条消息的时候,可以将这几种结合起来,灵活使用。