前期工作
调用微信公众号接口前,请先熟悉微信公众平台开发的前期准备工作与接口调用模式,具体详情请参考:
https://mp.weixin.qq.com/wiki
1、群发预览接口
群发消息前,可以使用预览接口进行群发预览,群发预览只会发送至指定微信用户的微信上(已关注),群发的内容只能短暂性有效,逾期将失效。
调用方法
weixin::wx_material_preview()
相关参数
共3个必要参数,3个可选参数,具体如下:
1、群发的消息类型,图文消息为mpnews,文本消息为text,语音为voice,音乐为music,图片为image,视频为mpvideo,卡券为wxcard,必选
2、用于群发的消息的腾讯素材id,必选
3、预览的者微信号/QQ号/手机号,必选
4、图文消息被判定为转载时,是否继续群发。 1为继续群发(转载),0为停止群发。 该参数默认为0,可选
5、消息的标题,可选
6、消息的描述,可选
调用实例
$result = weixin::wx_material_preview('mpnews','abc','wxkyger');
返回结果
错误码:$result['errcode']
错误信息:$result['errmsg']
消息ID:$result['msg_id']
2、根据标签进行群发
调用方法
weixin::wx_material_send_by_tagid()
相关参数
共7个参数,具体如下:
1、群发的消息类型,图文消息为mpnews,文本消息为text,语音为voice,音乐为music,图片为image,视频为mpvideo,卡券为wxcard,必选
2、用于群发的消息的腾讯素材id,必选
3、群发到的标签的tag_id,参见用户管理中用户分组接口,若向所有用户群发,可不填写tag_id,必选
4、用于设定是否向全部用户发送,值为true或false,选择true该消息群发给所有用户,选择false可根据tag_id发送给指定群组的用户,可选
5、图文消息被判定为转载时,是否继续群发。 1为继续群发(转载),0为停止群发。 该参数默认为0,可选
6、消息的标题,可选
7、消息的描述,可选
调用实例
1、群发给带”tag_guangdong“标签的粉丝
$result = weixin::wx_material_send_by_tagid('mpnews','abc','tag_guangdong');
2、群发给所有粉丝
$result = weixin::wx_material_send_by_tagid('mpnews','abc','',true);
返回结果
错误码:$result['errcode']
错误信息:$result['errmsg']
媒体文件类型:$result['type'] 图片(image)、语音(voice)、视频(video)和缩略图(thumb),图文消息为news
消息发送任务的ID:$result['msg_id']
消息的数据ID:$result['msg_data_id'] 该字段只有在群发图文消息时,才会出现。可以用于在图文分析数据接口中,获取到对应的图文消息的数据,是图文分析数据接口中的msgid字段中的前半部分,详见图文分析数据接口中的msgid字段的介绍
3、根据OpenID列表群发
调用方法
weixin::wx_material_send_by_openid()
相关参数
共3个必要参数,3个可选参数,具体如下:
1、群发的消息类型,图文消息为mpnews,文本消息为text,语音为voice,音乐为music,图片为image,视频为mpvideo,卡券为wxcard,必选
2、用于群发的消息的腾讯素材id,必选
3、填写图文消息的接收者,OpenID数组,OpenID最少2个,最多10000个,必选
4、图文消息被判定为转载时,是否继续群发。 1为继续群发(转载),0为停止群发。 该参数默认为0,可选
5、消息的标题,可选
6、消息的描述,可选
调用实例
$openid = array('abc','def','ghi'); $result = weixin::wx_material_send_by_openid('mpnews','mediakyger',$openid);
返回结果
错误码:$result['errcode']
错误信息:$result['errmsg']
媒体文件类型:$result['type'] 图片(image)、语音(voice)、视频(video)和缩略图(thumb),图文消息为news
消息发送任务的ID:$result['msg_id']
消息的数据ID:$result['msg_data_id'] 该字段只有在群发图文消息时,才会出现。可以用于在图文分析数据接口中,获取到对应的图文消息的数据,是图文分析数据接口中的msgid字段中的前半部分,详见图文分析数据接口中的msgid字段的介绍
4、删除群发
调用方法
weixin::wx_material_send_del()
相关参数
共2个参数,具体如下:
1、群发任务id
2、要删除的文章在图文消息中的位置,第一篇编号为1,该字段不填或填0会删除全部文章
调用实例
1、删除群发任务id为“task_demo”的所有内容
$result = weixin::wx_material_send_del('task_demo');
2、删除群发任务id为“task_demo1”的第二篇图文
weixin::wx_material_send_del('task_demo1',2);
返回结果
错误码:$result['errcode']
错误信息:$result['errmsg']
5、开启已群发文章的评论功能
调用方法
weixin::wx_material_open_comment()
相关参数
共2个参数,具体如下:
1、群发任务id
2、多图文时,用来指定第几篇图文,从0开始,不填写默认操作该任务中的第一篇图文
调用实例
1、删除群发任务id为“task_demo”的所有内容
$result = weixin::wx_material_open_comment('task_demo'); // 方法返回一维数组,结构为微信接口返回的JSON结构 if($result['errcode'] == 0){ echo '发送成功'; }else{ echo $result['errmsg']; }
2、删除群发任务id为“task_demo1”的第二篇图文
weixin::wx_material_send_del('task_demo1',1);
6、设置评论精选
调用方法
weixin::set_comment_good()
相关参数
共4个参数,具体如下:
1、群发返回的msg_data_id
2、多图文时,用来指定第几篇图文,从0开始,默认操作第一篇图文
3、用户评论id
4、操作,0.取消精选 1.设置精选
调用实例
1、设置“task_demo”任务下,第一篇图文内的评论“1”为精选
$result = weixin::set_comment_good('task_demo',0,'1',1); // 方法返回一维数组,结构为微信接口返回的JSON结构 if($result['errcode'] == 0){ echo '发送成功'; }else{ echo $result['errmsg']; }
2、取消“task_demo2”任务下,第二篇图文内的评论“2”的精选
$result = weixin::set_comment_good('task_demo2',1,'2',0);
6、回复评论
调用方法
weixin::set_comment_reply()
相关参数
共5个参数,具体如下:
1、群发返回的msg_data_id
2、多图文时,用来指定第几篇图文,从0开始,默认操作第一篇图文
3、用户评论id
4、回复内容,只有设置回复时必填
5、操作,0.删除回复 1.设置回复信息
调用实例
1、回复“task_demo”任务下,第一篇图文内的评论为“1”的评论
$result = weixin::set_comment_reply('task_demo',0,'1','此处回复内容',1); // 方法返回一维数组,结构为微信接口返回的JSON结构 if($result['errcode'] == 0){ echo '发送成功'; }else{ echo $result['errmsg']; }
2、删除“task_demo2”任务下,第二篇图文内评论为“2”的回复
$result =weixin:: set_comment_reply('task_demo2',1,'2','',0);
7、删除评论
调用方法
weixin::del_comment()
相关参数
共3个参数,具体如下:
1、群发返回的msg_data_id
2、多图文时,用来指定第几篇图文,从0开始,默认操作第一篇图文
3、用户评论id
调用实例
$result = weixin::del_comment('task_demo','1','1'); // 方法返回一维数组,结构为微信接口返回的JSON结构 if($result['errcode'] == 0){ echo '发送成功'; }else{ echo $result['errmsg']; }
8、查询群发消息发送状态(订阅号与服务号认证后均可用)
调用方法
weixin::get_job_status()
相关参数
共1个参数,具体如下:
1、群发返回的msg_id
调用实例
$result = weixin::get_job_status('task_demo');
返回结果
群发消息后返回的消息id:$result['msg_id']
消息发送后的状态:$result['msg_status'] SEND_SUCCESS表示发送成功,SENDING表示发送中,SEND_FAIL表示发送失败,DELETE表示已删除
9、查看指定文章的评论数据
调用方法
weixin::get_wx_comment()
相关参数
共1个必选参数,4个可选参数,具体如下:
1、群发返回的msg_data_id,必选
2、多图文时,用来指定第几篇图文,从0开始,默认操作第一篇图文,可选
3、起始位置,可选
4、获取数目(>=50会被拒绝),可选
5、普通评论&精选评论,1 普通评论 2 精选评论,可选
调用实例
1、获取前10条评论
$result = weixin::get_wx_comment('task_demo',0,0,10);
2、获取10-20条评论
$result = weixin::get_wx_comment('task_demo',0,10,10);
返回结果
错误码:$result['errcode']
错误信息:$result['errmsg']
总数:$result['total']
用户评论id:$result['comment'][0]['user_comment_id']
粉丝openid:$result['comment'][0]['aroundopenid']
评论时间:$result['comment'][0]['aroundcreate_time']
评论内容:$result['comment'][0]['aroundcontent']
是否精选评论:$result['comment'][0]['aroundcomment_type'] 0为即非精选,1为true,即精选
作者回复内容:$result['comment'][0]['reply']['content']
作者回复时间:$result['comment'][0]['reply']['create_time']
10、关闭已群发文章的评论功能
调用方法
weixin::wx_material_close_comment()
相关参数
共2个参数,具体如下:
1、群发任务id
2、多图文时,用来指定第几篇图文,从0开始,不填写默认操作该任务中的第一篇图文
调用实例
$result = weixin::wx_material_close_comment('task_demo'); // 方法返回一维数组,结构为微信接口返回的JSON结构 if($result['errcode'] == 0){ echo '发送成功'; }else{ echo $result['errmsg']; }