微信公众号开发之微信公众平台高级群发接口
小标 2018-05-29 来源 : 阅读 1559 评论 0

摘要:本文主要向大家介绍了微信公众号开发的微信公众平台高级群发接口,希望对大家学习微信公众号开发有所帮助。

本文主要向大家介绍了微信公众号开发的微信公众平台高级群发接口,希望对大家学习微信公众号开发有所帮助。

出自微信公众平台开发者文档

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

请注意:

1、该接口暂时仅提供给已微信认证的服务号

2、高级群发接口的每日调用限制为10次,请小心测试

3、无论在公众平台网站上,还是使用接口群发,用户每月只能接收4条群发消息,多于4条的群发将对该用户发送失败。

目录

[隐藏]

· 1 上传图文消息素材

· 2 根据分组进行群发

· 3 根据OpenID列表群发

· 4 删除群发

· 5 事件推送群发结果

   

上传图文消息素材

接口调用请求说明

http请求方式: POSThttps://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"

 }

   ]

}

微信公众号开发之微信公众平台高级群发接口

返回说明

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

{

   "type":"news",

   "media_id":"CsEf3ldqkAYJAU6EJeIkStVDSvffUJ54vqbThMgplD-VJXXof6ctX5fI6-aYyUiQ",

   "created_at":1391857799

}

微信公众号开发之微信公众平台高级群发接口

   

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

根据分组进行群发

接口调用请求说明

http请求方式: POSThttps://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"

}

微信公众号开发之微信公众平台高级群发接口

返回说明

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

{

   "errcode":0,

   "errmsg":"send job submission success",

   "msg_id":34182

}

微信公众号开发之微信公众平台高级群发接口

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

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

根据OpenID列表群发

接口调用请求说明

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

POST数据说明

POST数据示例如下:

图文消息:

{

   "touser":[

    "OPENID1",

    "OPENID2"

   ],

   "mpnews":{

      "media_id":"123dsdajkasd231jhksad"

   },

    "msgtype":"mpnews"

}

 

微信公众号开发之微信公众平台高级群发接口

   

返回说明

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

{

   "errcode":0,

   "errmsg":"send job submission success",

   "msg_id":34182

}

微信公众号开发之微信公众平台高级群发接口

   

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

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

删除群发

接口调用请求说明

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

POST数据说明

POST数据示例如下:

{

   "msgid":30124

}

微信公众号开发之微信公众平台高级群发接口

   

请注意,只有已经发送成功的消息才能删除删除消息只是将消息的图文详情页失效,已经收到的用户,还是能在其本地看到消息卡片。

返回说明

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

{

   "errcode":0,

   "errmsg":"ok"

}

微信公众号开发之微信公众平台高级群发接口

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

事件推送群发结果

由于群发任务提交后,群发任务可能在一定时间后才完成,因此,群发接口调用时,仅会给出群发任务是否提交成功的提示,若群发任务提交成功,则在群发任务结束时,会向开发者在公众平台填写的开发者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>

微信公众号开发之微信公众平台高级群发接口

群发接口及四次的解析: 首先,每月4次的群发规则适用所有服务号。其中普通服务号可以通过mp后台(即公众平台后台)群发消息,对于认证服务号的话,除了mp后台外,还可通过新增的群发接口进行个性化的群发,这一条对于第三方产品设计来说是最重要的,下边的深度解读主要针对这个方面。
第二、新增的群发接口,对于“每月4次”的规则的实现是针对接收群发信息的用户来说的,也就是说通过群发接口给某一用户发送消息的话,每月最多是4条,也就是说同一个用户,你每月最多只能推送4条消息给他。而对于该公众账号,每月可群发的次数不只4条。根据现在的接口调用日限额是10条计算,每月至少能发送300条群发信息。一个很常见的应用场景就是,当原来本月的群发信息条数已经发完后,新关注的粉丝,这个月我们就无法给其发送群发消息了,但是现在则不同,我们可以使用群发接口,给新关注粉丝“补发”之前的群发消息,做到每月群发消息100%的覆盖。
第三、群发接口有两种调用方式,一种是提供一个待接收消息的用户openid列表,一种是提供一个待接收消息的用户分组id。第一种使用方式,一般配合“获取关注者列表”接口,通过自己维护的用户业务逻辑分组来使用。第二种方式是使用公众平台系统的分组来使用。这种方式,使得原来很多人忽略的“分组管理接口”变得真正有意义了。
第四、群发任务的任务报告。通过这个接口,可以进行动态监控,了解群发的统计信息,对于第三方开发来说,除了使产品设计更加人性化以外,有一点请大家注意,这个接口是被动调用接口,仅当群发任务完成后,微信才会调用,目前没有办法主动进行状态监控。另外,由于报告只有统计计数,没有具体的openid列表,所以我们没办法直接知道该消息对于某一用户来说是否发送成功。
微信服务号群发接口的开放,大大提升了服务号的功能,同时也给第三方开发公司更大的开发和产品设计空间

概念分析解读:

每天10次调用,是指程序每天调用高级接口中的接口10次,即和https://api.weixin.qq.com/的交互为10次,包括上传素材在内,假如今天上传了10个素材,也算调用了10次,或者上传了5个素材,分别给5个用户发了不同的消息,那么今天也是调用了10次

用户每月4次,是指给同一个用户在一个月之内可以用群发接口发4次消息,假如今天用群发接口给某用户发了4次,那么这个月就再不不能给这个用户发消息了。发了他也收不到

如何玩:

 这个东西最好玩的就是给用户分组,今天给这组用户推这个内容,明天给另一组用户推另外的内容,每个内容都和用户关系比较密切,而不是之前的所有人都一样的,最终实现精准推送

总结:

 现在就有3种方式来给用户发送消息了,
1. 自动回复,5秒内响应
2. 客服接口回复,48小时内不限次数
3. 高级群发接口,每月4次,但不限时

个人感觉,每个月最好发3条,10天一次左右,留一条以做备用,用于不时不需,另外当月生日的用户,可以用这条给他发生日祝贺(没有比这更精准的更贴心的了吧)。

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发微信频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程