我建立了自己的微信公众平台,当然这属于个人公众号群发消息的,群发。消息,为什么失败了呢

利用公众平台模拟登录发送微信消息给指定好友上(原创) - CNode技术社区
这家伙很懒,什么个性签名都没有留下。
今天初来乍到cnode.js,也应该贡献贡献.看到微信公众平台,开始有点兴奋,能做个机器人玩玩,,随后用Node.js写了一个,觉得其实这没什么意思.很快就觉得腻了,于是有了做发送微信接口的想法.首先要做的我们就要模拟公众平台的登陆.对于微信的这些lib,当然不能直接写在routes里面,,那要怎么办呢?没错,就要封装起来,方便复用.你可以打开控制台看到公众平台的登录请求,还有所需的参数,其中密码它是用它本身的md5进行加密的,那么我们需要做的只是将它copy过来放在一个helpers/wx/md5.js文件里就可以直接用了,以下是微信公众平台解析后格式化的js提交代码
submit: function() {
var e = d.getVal();
t.post(&/cgi-bin/login?lang=zh_CN&, {
username: e.account,
pwd1: t.md5(e.password.substr(0, 15)),
pwd2: t.md5(e.password),
imgcode: f.data(&isHide&) ? &&: e.verify,
register: e.isRegister,
我们要建立一个login的方法
request = require 'superagent'
require __basename + '/helpers/wx/md5'
config = require __basename + '/config/config'
module.exports =
login: (fn) -&
wx_usr = config.wx.user
wx_pwd = md5 config.wx.pwd.substr(0, 16)
.post('http://mp./cgi-bin/login?lang=zh_CN')
.type('form')
username: wx_usr
pwd: wx_pwd
imgcode : ''
f : 'json'
register : 0
.end (res) -&
//在这里你已经成功获取cookie了
但是经过分析我想你会发现,这里的cookie其实并非你想要的cookie,因为它包含一些没用的信息Path=,我们设置cookie的时候,事实上是不能用直接设置这样的cookie,应该是一个cookie里面不应该有其他的东西,而分号后面的path应该将它去掉,这里是返回的结果:
&mp_user= Path=/&,
&mp_sid=NlJ2Tm5hb1NXRGxOU3V1MzF2a25tSFVWRHhTNkhwek1nMXlEOVZzMnZMUG1lZ29nSkdENGt3WlgwUjBJZnhydndYNkZSd0ZsaHRHdEozSHBIa3QwT3FWTmdXc3RxVFhYUDBCR3dnWkxIRWVvRlZObG15UC83SzU1aEZPZWpocU8=; Path=/&
以下是完整的login代码:
login: (fn) -&
wx_usr = config.wx.user
wx_pwd = md5 config.wx.pwd
.post('http://mp./cgi-bin/login?lang=zh_CN')
.type('form')
username: wx_usr
pwd1: wx_pwd
pwd2: wx_pwd
imgcode : ''
f : 'json'
.end (res) -&
cookie = ''
for rs in res.header['set-cookie']
cookie += rs.replace(/Path=\//g, '')
fn null, cookie
在这里,我们已经完成登录的操作了,接下来,我们要做的是进行发送,在发送的时候,要把这个cookie设置在请求的地址中,接下来的代码比较简单:(注意:这里面的fakeid是微信公众平台的id,我们可以用控制台去微信公众平台的用户管理中查看,如何获取用户好友的fakeid,接下来一章我会讲)
sender: (options, fn) -&
msg = options.msg
fakeid = options.fakeid
unless msg
fn error: 'missing msg'
unless fakeid
fn error: 'missing fakeid'
psotParams =
content: msg
error: false
tofakeid : fakeid
.post('http://mp./cgi-bin/singlesend?t=ajax-response&lang=zh_CN')
.type('form')
.send(psotParams)
.set('Cookie', options.cookie)
.end (res) -&
fn null, JSON.parse res.text
这里,我们已经能完全发送了,因为返回的结果是一个json,所要最好先JSON.parse一下,里面的成功判断大家可以加上,返回的接口有个叫ret的参数,0为发送成功
下一章,我会为大家深入讲解怎么发送信息给好友,及获取微信头像等等技术
在调用的时候其实也比较简单,刚忘写了补上:
app.get '/wx/login', (req, res) -&
msg = req.query.msg
wx.login (err, cookie) -&
res.json err if err
fakeid : 'xxxx'
wx.sender data, (err, results) -&
res.json err if err
res.json results
登录的时候有验证码
你用的是新注册的qq账号绑定的吧,偶尔用qq登录下,过了一个星期就不会有这个问题了.
sender目前只能实现文字text的发送,但这并不完善,也可以实现图文的发送,但是却必须要上传一张封面图片,上传后需要在发送图文信息的时候把返回结果中的formId拿到,http://mp./cgi-bin/uploadmaterial?cgi=uploadmaterial&type=2&t=iframe-uploadfile&lang=zh_CN&formId=1其中的参数type是上传的类型,语音和视频是0,formId为null.上传封面图片接口如下:
uploadmaterial: (fn) -&
@login (err, cookie) -&
.post('http://mp./cgi-bin/uploadmaterial?cgi=uploadmaterial&type=2&t=iframe-uploadfile&lang=zh_CN&formId=1')
.type('form')
.set('Cookie', cookie)
.end (res) -&
results = JSON.parse(res.text).match(/formId, '(\d+)'/)[2]
fn null, results
成功后,可以进行图文消息的发送了.
send_appmsg: (options, fn) -&
@login (err, cookie) -&
psotParams =
: options.title
: '正文内容'
# content0
: '&p&te&img src=&http://www.e-/system/cms/themes/default/img/top_l.png& /&&/p&&p&&span style=&color:red&&测试标题&/span&&/p&'
: options.msg
: '' #此处的id即为封面图片的id
preusername : options.username
.post('http://mp./cgi-bin/operate_appmsg?sub=preview&t=ajax-appmsg-preview')
.type('form')
.set('Cookie', cookie)
.send(psotParams)
.end (res) -&
results = JSON.parse res.text
fn null, results['msg']
看不太懂,似乎是高手。。。
可能是我用node.js中的coffeescript语法写的原因,很多人都向我反映,以后我会注意的.
preusername : options.username
这里应该填什么?微信用户名?
发送者的微信账号
非常好的技术文章。在github也有类似的机器人。但不能群发信息给微信好友。
支持作者可以换js语法来写,个人很讨厌将js这么好的语言 用coffeescript写,我觉得大多数用node的人都是喜欢js的人 如果写成这样 那还不如去用rails 为嘛用nodejs呢
谢谢你的建议,起初用coffeescript写是为了开发的效率,现在为了分享,我以后改用javascript语法写,希望能帮助到更多的人.
文件上传怎么体现的?我看这里只有一个post请求,post的数据中并没有封面图片的数据信息?另外,我post了一个文件给微信的这个地址,得到的答案中没有formid,不知道为啥?大侠帮忙解答下?
Line-based text data: text/html
document.domain = location.hostname.match(/[^.]?.[^.]?$/);
url = window.location.href,
type = url.match(/[?&]type=([^&])/),
formId = url.match(/[?&]formId=([^&])/);
type = type[1] || 0;
formId = formId[1];
top.W.upload.err(&\344\270\212\344\274\240\347\232\204\347\264\240\346\235\220\346\240\274\345\274\217\344\270\215\346\255\243\347\241\256&, type, formId);
&/script&
试着将楼主的js用Phpl来实现
不过上传文件一直返回
php代码是这样的
$send_snoopy = new Snoopy();
$send_snoopy-&agent = &(Mozilla/5.0 (Windows NT 5.1; rv:19.0) Gecko/ Firefox/19.0)&; //伪装浏览器
$send_snoopy-&referer = &http://mp./cgi-bin/indexpage?lang=zh_CN&t=wxm-upload&lang=zh_CN&type=0&fromId=file_from_5&; //伪装来源页地址 http_referer
$send_snoopy-&rawheaders['Cookie'] = $
$send_snoopy-&rawheaders[&Host&] = &mp.&;
$post = array();
$post['uploadfile'] = $imgC
$post['formId'] = '';
$submit = &http://mp./cgi-bin/uploadmaterial?cgi=uploadmaterial&type=2&t=iframe-uploadfile&lang=zh_CN&formId=null&;
$send_snoopy-&submit($submit,$post);
$result = $send_snoopy-&
preg_match('/formId, \'(\d*)\'/',$result,$imgId);
print_r($result);
echo $imgId[1];
document.domain = location.hostname.match(/[^\.]*?\.[^\.]*?$/);
url = window.location.href,
type = url.match(/[\?&]type=([^&]*)/),
formId = url.match(/[\?&]formId=([^&]*)/);
type = type[1] || 0;
formId = formId[1];
top.W.upload.err("上传文件失败", type, formId);
&/script&`
这是为什么呢?
想請教一下,我在_ref = res.header[‘set-cookie’];這一段出了問題
log出來看res.header裡面沒有set-cookie
請問是哪裡出錯了嗎
很有可能是因为有验证码,所以导致你登录不成功.代码我已经放在github中,你可以下载使用.
原來的作法無解
應該是不熟悉coffee造成
都轉成js後已經可以了
楼主,问一下是怎么样实现把图片POST到腾讯服务器的。 弄了好久一直没成功
我也没有实现。主要觉得是参数没有找全。不清楚应该填写哪些参数。:-( 正在努力当中。
能否将转换成JS可用的发我一份呢,谢谢,awen-
不错不错,希望什么时候搞得成熟了直接在npm上面发布为一个模块拿来就用 :)
拿来主义 哈哈
今天开始,好像
调用不成功了,返回{ret:’-1’,msg:‘need post’}
我也发现这个方法已经不能推送了,虽然已经是 post 请求,同样不能推送,就是4月3号开始好像就不信了
有没有解决办法?
POST headers 加上 “Referer” =& “” 就行了
大家要注意一下,因为公众平台本身也有cookie过期时间,大家获取到cookie时应该放入session,另外还需要写个restart.js的脚本,意在解决登录不成功的问题,如果session过期,就运行restart文件,可以写成nodejs也可以写成shell调用.如果大家觉得麻烦的话,大家有时间的话也可以研究一下网页版的微信登录接口,有朋友说用的是line的登录验证方法,已经破解了,大家也可以尝试一下.
加上就可以了,多谢!
另:微信零点改版后,URL需要加上从Login的Response中得到的Token即可。
我也发现了返回有token,意思是需要连续发起两次登录请求?第一次返回token,第二次加上token再登录?但是经过尝试依旧无法登录,第二次照样返回一个token,而且如果cookie如果没有包含 sig / cert 两个参数,就会返回-6(根据JS的描述是需要验证码),明显太坑爹了!求解决办法
先用http://mp./cgi-bin/verifycode?username=,这个获得验证码,然后用login api去登录,参数里面输入刚才的imgcode,成功后会返回
“Ret”: 302,
“ErrMsg”: “/cgi-bin/indexpage?t=wxm-index&lang=zh_CN&token=xxxxxx”,
“ShowVerifyCode”: 0,
“ErrCode”: 0
里面的token就是每次发送消息时,需要传给服务器的,每次登录token都会变
我是直接调用 login,从返回的result里取token,好像没有验证码也可以:
username: wx_usr,
pwd: wx_pwd,
imgcode: ‘’,
f: ‘json’
“Ret”: 302,
“ErrMsg”: “/cgi-bin/indexpage?t=wxm-index&lang=zh_CN&token=xxxxxx”,
“ShowVerifyCode”: 0,
“ErrCode”: 0
var token = res.body.ErrMsg.match(new RegExp(&[?&]token=([^&]+)&,“i”));
这个token保存起来,下次访问用保存的cookie和token访问。我的做法是在每次调用接口前调用 /cgi-bin/getcontactinfo? 测试一下cookie和token是否有效。
if (res.statusCode !=200 || res.text.indexOf(‘登录超时’)&0){
使用之前保存的cookie和token
不知是否能从腾讯的post请求中获取原始请求者(微信用户)的ip地址呢?
{“ret”:&-20000&, “msg”:&Request is denied! &}
返回了这样信息
不知php的这种功能已经成功? 我测试返回了{“ret”:&-20000&, “msg”:&Request is denied! &}
该怎么解决?
灰常感谢,之后找到了解决办法,此办法是完全可行的,目前的做法是将cookie和token一起保存在文件中
难道现在这种方法被微信给禁了?我也是这样的错误信息
我遇到点问题想请教下 现在调login接口返回值里已经没有cookies信息了 怎么获取头信息里的set_cookies字段值呢。
我用的是Node.js,不是PHP,不是很懂PHP,如果是Node.js的话,按楼主的方法是可以的。。。
php版的上传图片是否攻破?  能否分享一下, 我也遇到这个问题了.
关于微信模拟登录可交流一下, 说不定有新的进展.
最新的代码已经更新至github中:
由于我今天晚上11点钟开始去弄,弄好后马上更新,经测试,现已能正常发送微信
更新如下:
添加:token
添加发送referer防止发送不到信息
本来想弄下记住密码那个功能的,由于时间太晚就没有去更新,大家有谁有兴趣的话可以在git中提交分支给我,我会审阅,希望更完善.
夜猫子啊。。
彼此彼此,哈哈…
我之前没弄过模拟登陆,所以上面很多东西我都不明白呢??
submit: function(),这个是干啥用的???
sublmit : function 是微信公众格式化后js登录代码,我们就是在nodejs中进行模拟过程,具体的模拟代码你可以移步到我的github/node_wx中
我的也是你解决l吗?
模拟登陆时:
“Ret”: 302,
“ErrMsg”: “/cgi-bin/indexpage?t=wxm-index&lang=zh_CN&token=”,
“ShowVerifyCode”: 0,
“ErrCode”: 0
发送消息时返回:{“ret”:&-20000&, “msg”:&Request is denied! &},请问什么原因呀?
返回cookie:slave_sid=NnY5UjNvN2c5ZldnZWduZ2JJak5qS3N5Qm1zdkhBakw0c0I4UUltX1ZoZjd4QW5HaEh0em9UNF9md3VVNU9FOGZmZTNWQTBRU2RYbU5oMDJZckJrakZqeThMcmN3NWlNaXdOYTVOX1ZfVWhLYmZLNnNudlFZSGxmZ0xxMWp0Nmc=; Path=/; S HttpOnly
cookieVal=slave_sid=NnY5UjNvN2c5ZldnZWduZ2JJak5qS3N5Qm1zdkhBakw0c0I4UUltX1ZoZjd4QW5HaEh0em9UNF9md3VVNU9FOGZmZTNWQTBRU2RYbU5oMDJZckJrakZqeThMcmN3NWlNaXdOYTVOX1ZfVWhLYmZLNnNudlFZSGxmZ0xxMWp0Nmc=; Path=/; S
resumeConnection.setRequestProperty(“Cookie”, cookieVal);
resumeConnection
.setRequestProperty(“Referer”,
这个是返回的结果,我们模拟登陆后其实是需要这个token和cookie,然后正则过滤一下cookie,得到真正的cookie,你可以在我的github中参考一下看我是怎么做的
那是因为在发送的时候他们加了referer机制,在调用发送的时候你在请求头设置referer即可,具体请参照我在github中的写法
重新更新我在github中的wx_node即可
可以尝试webot试试哈
楼主辛苦了,请发给我一份完整代码吧,我的邮箱是:,谢谢!
我用php写的模拟登录是正常的,发送也正常的,可是我想取得用户的列表就不行了返回
{“ret”:&-20000&, “msg”:&Request is denied! &},昨天的时候还可以,估计是今天微信官方做了调整。大家有什么解决方式吗
我今天早上也是出现这种情况,但是后来重新登录好了(我昨天用的时候改成错误的用户名和密码了,今天第一次登的时候出现了你这种情况)会不会是cookie失效了
php模拟登陆可以上传图片素材,但是不能上传语音素材,谁能指教一下?
如果你有成功模拟php上传图片素材可以把代码贡献出来,可能能帮助到更多人,至于上传语音素材还要研究一下,应该不会太难./
我说这js怎么看着这么怪,孤陋寡闻了。。。。
你好,我写的代码总返回登录超时,Cookie我 也从模拟登录中得到了,并且请求时也赋值了。还是我给的
formid参数值不对啊 ,你说的那个 formid发送图文时如何获到呢,希望帮忙,谢谢,我的QQ4796642
请问您现在是否能成功模拟上传图片素材了?
现在还好使么?
headers.set(“Referer”, “&count=20&t=wxm-singlechat&token=&lang=zh_CN”);
headers.set(“User-Agent”,“Mozilla/5.0 (Windows NT 6.1; rv:22.0) Gecko/ Firefox/22.0”);
headers.set(“Content-Type”,“application/x-www-form- charset=UTF-8”);
headers.set(“Host”,“”);
headers.set(“Origin”,“”);
我都加了这么多了,还是返回 {“ret”:&-20000&, “msg”:&Request is denied! &}
忽略我吧,我把Cookie写成了Coolie
至目前来说,功能还是好使的
能给个qq号码?想请教一些东西
你有成功么。 我也在写
我登录是成功了,但是转向其他页面的时候还是登录超时。
CNode 社区为国内最专业的 Node.js 开源技术社区,致力于 Node.js 的技术研究。
服务器赞助商为
,存储赞助商为
,由提供应用性能服务。
新手搭建 Node.js 服务器,推荐使用无需备案的微信公众平台群发短信为什么发不出去_百度知道
微信公众平台群发短信为什么发不出去
baidu,已经显示发送成功了.baidu,为什么收不到
为您推荐:
其他2条回答
订阅号每天只能发一条,服务号每月发四条你看看是不是这个原因
可是不管是定阅号还是服务号,也应该有一条信息呀,现在我一条也发不出去,微信公众平台显示发送成功了。
你好 查看是否本月发送4条发送完了 再次发送显示发送成功也不会收到
这个是有一定的延迟的,你稍微等一下再看,过一会儿就有可能会收到的了。
群发短信的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁出自微信公众平台开发者文档
在公众平台网站上,为订阅号提供了每天一条的群发权限,为服务号提供每月(自然月)4条的群发权限。而对于某些具备开发能力的公众号运营者,可以通过高级群发接口,实现更灵活的群发能力。
1、该接口暂时仅提供给已微信认证的服务号
2、高级群发接口的每日调用限制为10次,请小心测试
3、无论在公众平台网站上,还是使用接口群发,用户每月只能接收4条群发消息,多于4条的群发将对该用户发送失败。
接口调用请求说明
http请求方式: POST
POST数据说明
POST数据示例如下:
"articles": [
"thumb_media_id":"qI6_Ze_6PtV7svjolgs-rN6stStuHIjs9_DidOHaj0Q-mwvBelOXCFZiq2OsIU-p&,
"author":"xxx",
"title":"Happy Day",
"content_source_url":"",
"content":"content",
"digest":"digest"
"thumb_media_id":"qI6_Ze_6PtV7svjolgs-rN6stStuHIjs9_DidOHaj0Q-mwvBelOXCFZiq2OsIU-p&,
"author":"xxx",
"title":"Happy Day",
"content_source_url":"",
"content":"content",
"digest":"digest"
参数是否必须说明
图文消息,一个图文消息支持1到10条图文
thumb_media_id
图文消息缩略图的media_id
图文消息的作者
图文消息的标题
content_source_url
在图文消息页面点击&阅读原文&后的页面
图文消息页面的内容,支持HTML标签
图文消息的描述
返回数据示例(正确时的JSON返回结果):
"type":"news",
"media_id":"CsEf3ldqkAYJAU6EJeIkStVDSvffUJ54vqbThMgplD-VJXXof6ctX5fI6-aYyUiQ",
"created_at":
媒体文件类型,分别有图片(image)、语音(voice)、视频(video)和缩略图(thumb),次数为news,即图文消息
媒体文件/图文消息上传后获取的唯一标识
created_at
媒体文件上传时间
错误时微信会返回错误码等信息,请根据错误码查询错误信息:
接口调用请求说明
http请求方式: POST
POST数据说明
POST数据示例如下:
图文消息(注意图文消息的media_id需要通过上述方法来得到):
"filter":{
"group_id":"2"
"mpnews":{
"media_id":"123dsdajkasd231jhksad"
"msgtype":"mpnews"
参数是否必须说明
用于设定图文消息的接收者
群发到的分组的group_id
用于设定即将发送的图文消息
用于群发的消息的media_id
群发的消息类型,图文消息为mpnew
返回数据示例(正确时的JSON返回结果):
"errcode":0,
"errmsg":"send job submission success",
"msg_id":34182
媒体文件类型,分别有图片(image)、语音(voice)、视频(video)和缩略图(thumb),次数为news,即图文消息
请注意:在返回成功时,意味着群发任务提交成功,并不意味着此时群发已经结束,所以,仍有可能在后续的发送过程中出现异常情况导致用户未收到消息,如消息有时会进行审核、服务器不稳定等。此外,群发任务一般需要较长的时间才能全部发送完毕,请耐心等待。
错误时微信会返回错误码等信息,请根据错误码查询错误信息:
接口调用请求说明
http请求方式: POST
POST数据说明
POST数据示例如下:
图文消息:
"touser":[
"OPENID1",
"mpnews":{
"media_id":"123dsdajkasd231jhksad"
"msgtype":"mpnews"
填写图文消息的接收者,一串OpenID列表,OpenID最少个,最多10000个
用于设定即将发送的图文消息
用于群发的图文消息的media_id
群发的消息类型,图文消息为mpnew
返回数据示例(正确时的JSON返回结果):
"errcode":0,
"errmsg":"send job submission success",
"msg_id":34182
媒体文件类型,分别有图片(image)、语音(voice)、视频(video)和缩略图(thumb),次数为news,即图文消息
请注意:在返回成功时,意味着群发任务提交成功,并不意味着此时群发已经结束,所以,仍有可能在后续的发送过程中出现异常情况导致用户未收到消息,如消息有时会进行审核、服务器不稳定等。此外,群发任务一般需要较长的时间才能全部发送完毕,请耐心等待。
错误时微信会返回错误码等信息,请根据错误码查询错误信息:
接口调用请求说明
http请求方式: POST
POST数据说明
POST数据示例如下:
"msgid":30124
参数是否必须说明
发送出去的消息ID
请注意,只有已经发送成功的消息才能删除删除消息只是将消息的图文详情页失效,已经收到的用户,还是能在其本地看到消息卡片。
返回数据示例(正确时的JSON返回结果):
"errcode":0,
"errmsg":"ok"
错误时微信会返回错误码等信息,请根据错误码查询错误信息:
由于群发任务提交后,群发任务可能在一定时间后才完成,因此,群发接口调用时,仅会给出群发任务是否提交成功的提示,若群发任务提交成功,则在群发任务结束时,会向开发者在公众平台填写的开发者URL(callback URL)推送事件。
推送的XML结构如下(发送成功时):
&ToUserName&&![CDATA[gh_3e8adccde292]]&&/ToUserName&
&FromUserName&&![CDATA[oR5Gjjl_eiZoUpGozMo7dbBJ362A]]&&/FromUserName&
&CreateTime&&/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&
ToUserName
公众号的微信号
FromUserName
公众号群发助手的微信号,为mphelper
CreateTime
创建时间的时间戳
消息类型,此处为event
事件信息,此处为MASSSENDJOBFINISH
群发的消息ID
群发的结构,为&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
过滤(过滤是指,有些用户在微信设置不接收该公众号的消息)后,准备发送的粉丝数,原则上,FilterCount = SentCount + ErrorCount
发送成功的粉丝数
ErrorCount
发送失败的粉丝数
群发接口及四次的解析: 首先,每月4次的群发规则适用所有服务号。其中普通服务号可以通过mp后台(即公众平台后台)群发消息,对于认证服务号的话,除了mp后台外,还可通过新增的群发接口进行个性化的群发,这一条对于第三方产品设计来说是最重要的,下边的深度解读主要针对这个方面。
第二、新增的群发接口,对于&每月4次&的规则的实现是针对接收群发信息的用户来说的,也就是说通过群发接口给某一用户发送消息的话,每月最多是4条,也就是说同一个用户,你每月最多只能推送4条消息给他。而对于该公众账号,每月可群发的次数不只4条。根据现在的接口调用日限额是10条计算,每月至少能发送300条群发信息。一个很常见的应用场景就是,当原来本月的群发信息条数已经发完后,新关注的粉丝,这个月我们就无法给其发送群发消息了,但是现在则不同,我们可以使用群发接口,给新关注粉丝&补发&之前的群发消息,做到每月群发消息100%的覆盖。
第三、群发接口有两种调用方式,一种是提供一个待接收消息的用户openid列表,一种是提供一个待接收消息的用户分组id。第一种使用方式,一般配合&获取关注者列表&接口,通过自己维护的用户业务逻辑分组来使用。第二种方式是使用公众平台系统的分组来使用。这种方式,使得原来很多人忽略的&分组管理接口&变得真正有意义了。
第四、群发任务的任务报告。通过这个接口,可以进行动态监控,了解群发的统计信息,对于第三方开发来说,除了使产品设计更加人性化以外,有一点请大家注意,这个接口是被动调用接口,仅当群发任务完成后,微信才会调用,目前没有办法主动进行状态监控。另外,由于报告只有统计计数,没有具体的openid列表,所以我们没办法直接知道该消息对于某一用户来说是否发送成功。
微信服务号群发接口的开放,大大提升了服务号的功能,同时也给第三方开发公司更大的开发和产品设计空间
概念分析解读:
每天10次调用,是指程序每天调用高级接口中的接口10次,即和https://api./的交互为10次,包括上传素材在内,假如今天上传了10个素材,也算调用了10次,或者上传了5个素材,分别给5个用户发了不同的消息,那么今天也是调用了10次
用户每月4次,是指给同一个用户在一个月之内可以用群发接口发4次消息,假如今天用群发接口给某用户发了4次,那么这个月就再不不能给这个用户发消息了。发了他也收不到
&这个东西最好玩的就是给用户分组,今天给这组用户推这个内容,明天给另一组用户推另外的内容,每个内容都和用户关系比较密切,而不是之前的所有人都一样的,最终实现精准推送
&现在就有3种方式来给用户发送消息了,1.&自动回复,5秒内响应2.&客服接口回复,48小时内不限次数3.&高级群发接口,每月4次,但不限时
个人感觉,每个月最好发3条,10天一次左右,留一条以做备用,用于不时不需,另外当月生日的用户,可以用这条给他发生日祝贺(没有比这更精准的更贴心的了吧)。
&实现过程,请查看&
阅读(...) 评论()

我要回帖

更多关于 公众号群发消息模板 的文章

 

随机推荐