在公众平台网站上,为订阅号提供了每天一条的群发权限,为服务号提供每月(自然月)4条的群发权限。而对于某些具备开发能力的公众号运营者,可以通过高级群发接口,实现更灵活的群发能力。

请注意:

1、该接口暂时仅提供给已微信认证的服务号
2、虽然开发者使用高级群发接口的每日调用限制为100次,但是用户每月只能接收4条,请小心测试
3、无论在公众平台网站上,还是使用接口群发,用户每月只能接收4条群发消息,多于4条的群发将对该用户发送失败

上传图文消息素材

接口调用请求说明

http请求方式: POST
https://api.weixin.qq.com/cgi-bin/media/uploadnews?access_token=ACCESS_TOKEN

POST数据说明

POST数据示例如下:

{"articles": [{"thumb_media_id":"qI6_Ze_6PtV7svjolgs-rN6stStuHIjs9_DidOHaj0Q-mwvBelOXCFZiq2OsIU-p","author":"xxx","title":"Happy Day","content_source_url":"www.qq.com","content":"content","digest":"digest"},{"thumb_media_id":"qI6_Ze_6PtV7svjolgs-rN6stStuHIjs9_DidOHaj0Q-mwvBelOXCFZiq2OsIU-p","author":"xxx","title":"Happy Day","content_source_url":"www.qq.com","content":"content","digest":"digest"}]
}
参数 是否必须 说明
Articles 图文消息,一个图文消息支持1到10条图文
thumb_media_id 图文消息缩略图的media_id,可以在基础支持-上传多媒体文件接口中获得
author 图文消息的作者
title 图文消息的标题
content_source_url 在图文消息页面点击“阅读原文”后的页面
content 图文消息页面的内容,支持HTML标签
digest 图文消息的描述

返回说明

返回数据示例(正确时的JSON返回结果):

{"type":"news","media_id":"CsEf3ldqkAYJAU6EJeIkStVDSvffUJ54vqbThMgplD-VJXXof6ctX5fI6-aYyUiQ","created_at":1391857799
}
参数 说明
type 媒体文件类型,分别有图片(image)、语音(voice)、视频(video)和缩略图(thumb),次数为news,即图文消息
media_id 媒体文件/图文消息上传后获取的唯一标识
created_at 媒体文件上传时间

错误时微信会返回错误码等信息,请根据错误码查询错误信息: 全局返回码说明

根据分组进行群发

接口调用请求说明

http请求方式: POST
https://api.weixin.qq.com/cgi-bin/message/mass/sendall?access_token=ACCESS_TOKEN

POST数据说明

POST数据示例如下:

图文消息(注意图文消息的media_id需要通过上述方法来得到):

{"filter":{"group_id":"2"},"mpnews":{"media_id":"123dsdajkasd231jhksad"},"msgtype":"mpnews"
}

文本:

{"filter":{"group_id":"2"},"text":{"content":"CONTENT"},"msgtype":"text"
}

语音(注意此处media_id需通过基础支持中的上传下载多媒体文件来得到):

{"filter":{"group_id":"2"},"voice":{"media_id":"123dsdajkasd231jhksad"},"msgtype":"voice"
}

图片(注意此处media_id需通过基础支持中的上传下载多媒体文件来得到):

{"filter":{"group_id":"2"},"image":{"media_id":"123dsdajkasd231jhksad"},"msgtype":"image"
}

视频

请注意,此处视频的media_id需通过POST请求到下述接口特别地得到:https://file.api.weixin.qq.com/cgi-bin/media/uploadvideo?access_token=ACCESS_TOKEN POST数据如下(此处media_id需通过基础支持中的上传下载多媒体文件来得到):

{"media_id": "rF4UdIMfYK3efUfyoddYRMU50zMiRmmt_l0kszupYh_SzrcW5Gaheq05p_lHuOTQ","title": "TITLE","description": "Description"
}

返回将为

{"type":"video","media_id":"IhdaAQXuvJtGzwwc0abfXnzeezfO0NgPK6AQYShD8RQYMTtfzbLdBIQkQziv2XJc","created_at":1398848981
}

然后,POST下述数据(将media_id改为上一步中得到的media_id),即可进行发送

{"filter":{"group_id":"2"},"mpvideo":{"media_id":"IhdaAQXuvJtGzwwc0abfXnzeezfO0NgPK6AQYShD8RQYMTtfzbLdBIQkQziv2XJc",},"msgtype":"mpvideo"
}
参数 是否必须 说明
filter 用于设定图文消息的接收者
group_id 群发到的分组的group_id
mpnews 用于设定即将发送的图文消息
media_id 用于群发的消息的media_id
msgtype 群发的消息类型,图文消息为mpnews,文本消息为text,语音为voice,音乐为music,图片为image,视频为video
title 消息的标题
description 消息的描述
thumb_media_id 视频缩略图的媒体ID

返回说明

返回数据示例(正确时的JSON返回结果):

{"errcode":0,"errmsg":"send job submission success","msg_id":34182
}
参数 说明
type 媒体文件类型,分别有图片(image)、语音(voice)、视频(video)和缩略图(thumb),图文消息为news
errcode 错误码
errmsg 错误信息
msg_id 消息ID

请注意:在返回成功时,意味着群发任务提交成功,并不意味着此时群发已经结束,所以,仍有可能在后续的发送过程中出现异常情况导致用户未收到消息,如消息有时会进行审核、服务器不稳定等。此外,群发任务一般需要较长的时间才能全部发送完毕,请耐心等待

错误时微信会返回错误码等信息,请根据错误码查询错误信息: 全局返回码说明

根据OpenID列表群发

接口调用请求说明

http请求方式: POST
https://api.weixin.qq.com/cgi-bin/message/mass/send?access_token=ACCESS_TOKEN

POST数据说明

POST数据示例如下:

图文消息(注意图文消息的media_id需要通过上述方法来得到):

{"touser":["OPENID1","OPENID2"],"mpnews":{"media_id":"123dsdajkasd231jhksad"},"msgtype":"mpnews"
}

文本:

{"touser": [

"oR5Gjjl_eiZoUpGozMo7dbBJ362A", "oR5Gjjo5rXlMUocSEXKT7Q5RQ63Q" ], "msgtype": "text", "text": { "content": "hello from boxer."}

}

语音:

{"touser":["OPENID1","OPENID2"],"voice":{"media_id":"mLxl6paC7z2Tl-NJT64yzJve8T9c8u9K2x-Ai6Ujd4lIH9IBuF6-2r66mamn_gIT"},"msgtype":"voice"
}

图片:

{"touser":["OPENID1","OPENID2"],"image":{"media_id":"BTgN0opcW3Y5zV_ZebbsD3NFKRWf6cb7OPswPi9Q83fOJHK2P67dzxn11Cp7THat"},"msgtype":"image"
}

视频:

请注意,此处视频的media_id需通过POST请求到下述接口特别地得到:https://file.api.weixin.qq.com/cgi-bin/media/uploadvideo?access_token=ACCESS_TOKEN POST数据如下(此处media_id需通过基础支持中的上传下载多媒体文件来得到):

{"media_id": "rF4UdIMfYK3efUfyoddYRMU50zMiRmmt_l0kszupYh_SzrcW5Gaheq05p_lHuOTQ","title": "TITLE","description": "Description"
}

返回将为

{"type":"video","media_id":"IhdaAQXuvJtGzwwc0abfXnzeezfO0NgPK6AQYShD8RQYMTtfzbLdBIQkQziv2XJc","created_at":1398848981
}

然后,POST下述数据(将media_id改为上一步中得到的media_id),即可进行发送

{"touser":["OPENID1","OPENID2"],"video":{"media_id":"123dsdajkasd231jhksad","title":"TITLE","description":"DESCRIPTION"},"msgtype":"video"
}
参数 是否必须 说明
touser 填写图文消息的接收者,一串OpenID列表,OpenID最少个,最多10000个
mpnews 用于设定即将发送的图文消息
media_id 用于群发的图文消息的media_id
msgtype 群发的消息类型,图文消息为mpnews,文本消息为text,语音为voice,音乐为music,图片为image,视频为video
title 消息的标题
description 消息的描述
thumb_media_id 视频缩略图的媒体ID

返回说明

返回数据示例(正确时的JSON返回结果):

{"errcode":0,"errmsg":"send job submission success","msg_id":34182
}
参数 说明
type 媒体文件类型,分别有图片(image)、语音(voice)、视频(video)和缩略图(thumb),次数为news,即图文消息
errcode 错误码
errmsg 错误信息
msg_id 消息ID

请注意:在返回成功时,意味着群发任务提交成功,并不意味着此时群发已经结束,所以,仍有可能在后续的发送过程中出现异常情况导致用户未收到消息,如消息有时会进行审核、服务器不稳定等。此外,群发任务一般需要较长的时间才能全部发送完毕,请耐心等待

错误时微信会返回错误码等信息,请根据错误码查询错误信息: 全局返回码说明

删除群发

接口调用请求说明

http请求方式: POST
https://api.weixin.qq.com//cgi-bin/message/mass/delete?access_token=ACCESS_TOKEN

POST数据说明

POST数据示例如下:

{"msgid":30124
}
参数 是否必须 说明
msg_id 发送出去的消息ID

请注意,只有已经发送成功的消息才能删除删除消息只是将消息的图文详情页失效,已经收到的用户,还是能在其本地看到消息卡片。 另外,删除群发消息只能删除图文消息和视频消息,其他类型的消息一经发送,无法删除。

返回说明

返回数据示例(正确时的JSON返回结果):

{"errcode":0,"errmsg":"ok"
}
参数 说明
errcode 错误码
errmsg 错误信息

错误时微信会返回错误码等信息,请根据错误码查询错误信息: 全局返回码说明

事件推送群发结果

由于群发任务提交后,群发任务可能在一定时间后才完成,因此,群发接口调用时,仅会给出群发任务是否提交成功的提示,若群发任务提交成功,则在群发任务结束时,会向开发者在公众平台填写的开发者URL(callback URL)推送事件。

推送的XML结构如下(发送成功时):

<xml>
<ToUserName><![CDATA[gh_3e8adccde292]]></ToUserName>
<FromUserName><![CDATA[oR5Gjjl_eiZoUpGozMo7dbBJ362A]]></FromUserName>
<CreateTime>1394524295</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[MASSSENDJOBFINISH]]></Event>
<MsgID>1988</MsgID>
<Status><![CDATA[sendsuccess]]></Status>
<TotalCount>100</TotalCount>
<FilterCount>80</FilterCount>
<SentCount>75</SentCount>
<ErrorCount>5</ErrorCount>
</xml>
参数 说明
ToUserName 公众号的微信号
FromUserName 公众号群发助手的微信号,为mphelper
CreateTime 创建时间的时间戳
MsgType 消息类型,此处为event
Event 事件信息,此处为MASSSENDJOBFINISH
MsgID 群发的消息ID
Status 群发的结构,为“send success”或“send fail”或“err(num)”。但send success时,也有可能因用户拒收公众号的消息、系统错误等原因造成少量用户接收失败。err(num)是审核失败的具体原因,可能的情况如下:

err(10001), //涉嫌广告 err(20001), //涉嫌政治 err(20004), //涉嫌社会 err(20002), //涉嫌色情 err(20006), //涉嫌违法犯罪 err(20008), //涉嫌欺诈 err(20013), //涉嫌版权 err(22000), //涉嫌互推(互相宣传) err(21000), //涉嫌其他

TotalCount group_id下粉丝数;或者openid_list中的粉丝数
FilterCount 过滤(过滤是指特定地区、性别的过滤、用户设置拒收的过滤,用户接收已超4条的过滤)后,准备发送的粉丝数,原则上,FilterCount = SentCount + ErrorCount
SentCount 发送成功的粉丝数
ErrorCount 发送失败的粉丝数

转载于:https://www.cnblogs.com/52geek/p/6246738.html

微信开发高级群发接口相关推荐

  1. C#微信公众平台开发—高级群发接口

    涉及access_token的获取请参考<C#微信公众平台开发-access_token的获取存储与更新> 一.为了实现高级群发功能,需要解决的问题 1.通过微信接口上传图文消息素材时,J ...

  2. 微信公众平台开发 高级群发接口

    在这篇微信公众平台高级接口开发教程中,我们将介绍如何使用接口实现微信公众平台群发功能.本文分为以下四个部分:准备群发内容选择群发对象执行群发接收群发结果一.准备群发内容群发内容可以是文本.图片.语音. ...

  3. Java微信公众平台开发之群发接口(高级群发)

    再次吐槽下,微信素材管理和群发这块文档对Java很不友好,此文需要结合我前文和官方文档. 测试号调试群发只需看是否群发消息是否能组装成功,不需要看结果如何(反正不会发送成功的),因为微信还没开放这个功 ...

  4. php 公众号 群发,微信公众号【服务号】群发策略调整,并开通高级群发接口

    刚刚看到这条消息,现在发可能有点晚,大家可能都知道了. 2014年4月15号,微信公众平台发布了<服务号群发策略调整>,对 服务号 的用户来说应该是一个好消息. 调整内容如下: 为了增强公 ...

  5. 微信公众平台高级群发接口(转载)

    出自微信公众平台开发者文档 在公众平台网站上,为订阅号提供了每天一条的群发权限,为服务号提供每月(自然月)4条的群发权限.而对于某些具备开发能力的公众号运营者,可以通过高级群发接口,实现更灵活的群发能 ...

  6. php微信群发接口,微信公众平台群发接口问题

    服务号新增的高级群发接口,在对接"上传图文消息素材"时,返回44003 本人之前调用服务号的接口,一直很顺利,例如创建菜单的接口,微信前两天公布了高级群发接口(每个月能发送1次,变 ...

  7. 个人微信开发协议sdk接口API分享

    个人微信开发协议sdk接口API分享 1.基础消息类型 1.客户端发送的心跳包 HeartBeatReq = 1001; 2.消息接收确认回复(接收或拒绝接收) MsgReceivedAck = 10 ...

  8. 个人微信开发API协议接口

    个人微信开发API协议接口对比 本文对比目前市面上用于微信个人号的所有API协议,主要包括 web版微信协议, ipad协议 , pc微信协议/mac协议 , hook pc版微信 , hook 安卓 ...

  9. java微信开发模板消息接口使用

    微信开发--模板消息接口 http://blog.csdn.net/u010486495/article/details/46985729 微信开发者文档:模板消息接口 模板消息运营规范:http:/ ...

  10. 个人微信开发API协议接口大全

    个人微信开发API协议接口大全 目前市面上用于微信个人号的所有API协议,主要包括 web版微信协议, ipad协议 , pc微信协议/mac协议 , hook pc版微信 , hook 安卓或者io ...

最新文章

  1. 【android】插件化技术原理详解
  2. NetworkManager 冲突
  3. OS X 10.11 安装Cocoapods
  4. InnoDB原理篇:Change Buffer是如何提升索引性能的?
  5. 量子计算与量子信息_量子计算会破坏安全性吗?
  6. JavaScript(JS)常用的正则表达式
  7. git 改local branch名字_最好的Git分支管理教程
  8. 从函数式接口到lambda表达式
  9. java cas原理_Java中的锁[原理、锁优化、CAS、AQS]
  10. 转:飞思卡尔单片机RAM与flash相关问题
  11. zebra 斑马打印机 打印图片
  12. excel冻结窗口怎么设置_EXCEL中隐藏、冻结、拆分窗口
  13. 安全邮箱怎么注册?邮箱地址是什么?怎么写?快速了解tomvip邮箱
  14. 高性能计算中的并行计算、分布式计算、网格计算和云计算之间的区别与联系
  15. 电脑重装系统(win7)
  16. 记一次亚马逊扩容报错data size unchanged, skipping问题
  17. h5 c3 特效网站
  18. jqGrid简单使用、json格式和jsonReader介绍
  19. linux 共享硬盘分区,linux – 如何在多台计算机之间轻松共享本地分区
  20. Android Studio TV开发教程(十五) Android N及更早版本中的建议

热门文章

  1. gts测试提示 Test failed due to unrecognized service account for this product, please submit an initial G
  2. JetBrain软件不同版本下载
  3. 一台计算机安装几个操作系统,电脑装3个系统-一台电脑可以安装几个操作系统?...
  4. PVR图像文件格式初探
  5. 仲裁器设计(4)Weighted Round Robin
  6. 【offer谈判】如何做一朵盛世白莲花,让企业愿意为你花大价钱!
  7. 【打开CMD的方法】
  8. 第一章 Excel数据分析入门 --(3)Excel处理数据的常用操作
  9. heading pitch bank
  10. 激光条纹中心线提取算法总结和复现