当用户发送消息给公众号时(或某些特定的用户操作引发的事件推送时),会产生一个POST请求,开发者可以在响应包(Get)中返回特定XML结构。当服务器收到来自公众号的事件推送时,对该消息进行响应。严格来说,发送被动响应消息其实并不是一种接口,而是对微信服务器发过来消息的一次回复。
1、微信接口检查签名
服务器每次收到微信服务器的事件推送时,都需要对本次请求做签名检查,以确保本次请求是由微信服务器发起的。
调用方法:
weixin::check_signature()
相关参数:
无
调用实例:
weixin::check_signature();
2、获取推送消息
调用方法:
weixin::get_msg()
相关参数:
无
调用实例:
$msg = weixin::get_msg();
返回结果:
开发者微信号:$msg['ToUserName']
发送方 OpenID:$msg['FromUserName']
消息创建时间:$msg['CreateTime']
消息类型:$msg['MsgType']
文本消息内容:$msg['Content']
消息ID:$msg['MsgId']
3、被动回复文本消息
调用方法:
weixin::send_text()
相关参数:
共1个必要参数,具体如下:
1、要发送的文本内容
调用实例:
$msg = weixin::get_msg();
if($msg['MsgType'] == 'text'){
weixin::send_text($msg['Content']);
}
if($msg['MsgType'] == 'text'){
weixin::send_text($msg['Content']);
}
4、被动回复图文消息
调用方法:
weixin::send_image()
相关参数:
共1个必要参数,具体如下:
1、一个二维数组,要发送的图片数据:array( array('标题','内容简介','图片地址','链接地址'), ... )
调用实例:
1、回复单图文消息
$msg = weixin::get_msg();
$title = '《王国之心3》有望登录Switch,欧洲eShop新折扣,暗黑三33%off';
$desc = '业界新闻1,欧洲将开启“一起玩”促销大活动,保函《暗黑破坏神Ⅲ》哦!';
weixin::send_image(array(
array($title,$desc,'http://www.mlecms.com/inc/image/demo.jpg','http://www.mlecms.com')
));
$title = '《王国之心3》有望登录Switch,欧洲eShop新折扣,暗黑三33%off';
$desc = '业界新闻1,欧洲将开启“一起玩”促销大活动,保函《暗黑破坏神Ⅲ》哦!';
weixin::send_image(array(
array($title,$desc,'http://www.mlecms.com/inc/image/demo.jpg','http://www.mlecms.com')
));
2、回复多图文消息
$msg = weixin::get_msg();
$title1 = '本周36宽游戏发售,总有一款适合你!';
$title2 = '即将发售优作预告一览!';
weixin::send_image(array(
array($title1,'','http://www.mlecms.com/inc/image/demo.jpg','http://www.mlecms.com'),
array($title2,'','http://www.mlecms.com/inc/image/demo.jpg','http://www.mlecms.com'),
));
$title1 = '本周36宽游戏发售,总有一款适合你!';
$title2 = '即将发售优作预告一览!';
weixin::send_image(array(
array($title1,'','http://www.mlecms.com/inc/image/demo.jpg','http://www.mlecms.com'),
array($title2,'','http://www.mlecms.com/inc/image/demo.jpg','http://www.mlecms.com'),
));