100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 微信公众号开发---群发消息

微信公众号开发---群发消息

时间:2020-05-08 02:16:45

相关推荐

微信公众号开发---群发消息

1.发送消息-群发接口:

暂时5个重点:

1>图文消息中需要的图片,得使用 "上传图文消息内图片接口,上传成功并获得图片URL",替换文本中的图片路径!

2>

is_to_all = true,会让群发消息,进入公众号在微信客户端的历史消息列表(应该是用户打开公众号,就可以看到之前的一条条群发消息记录,可再次查看消息内容)

认证订阅号,一天,只能使用 'is_to_all=true' 一次!

服务号,一个月,只能使用 'is_to_all=true' 4次!

is_to_all = false,是可以多次群发的,但每个用户只会收到最多4条,且这些群发不会进入历史消息列表

3>请开发者注意,本接口中所有使用到media_id的地方,现在都可以使用素材管理中的永久素材media_id了 -------------- 这个很关键啊!!!

4>请注意,使用同一个素材群发出去的链接是一样的,这意味着,删除某一次群发,会导致整个链接失效 -------------- 这个也得注意!!!

5>具备微信支付权限的公众号,在使用群发接口上传、群发图文消息类型时,可使用<a>标签加入外链 ------------------- 通过编辑器的<a>链接,应该会直接被 "微信过滤掉" !

接口:

1>上传图文消息内的图片获取URL - (订阅号与服务号认证后均可用)

-- 本接口所上传的图片不占用公众号的素材库中图片数量的5000个的限制 - 切记!

-- 图片仅支持jpg/png格式 - 切记!

-- 大小必须在1MB以下 - 切记!

api_url:

https://api./cgi-bin/media/uploadimg?access_token=ACCESS_TOKEN

参数:

media = @imgUrl;

返回值:

{url : xxx}

2>上传图文消息素材 - (订阅号与服务号认证后均可用) --------- 暂不知道哪里使用。。。

api_url:

https://api./cgi-bin/media/uploadnews?access_token=ACCESS_TOKEN

3>根据标签进行群发 - (订阅号与服务号认证后均可用)

api_url:

https://api./cgi-bin/message/mass/sendall?access_token=ACCESS_TOKEN

较特殊的2个类型:

1.图文消息类型:

参数:

{

"filter":{

"is_to_all":false,// 是否是所有人

"tag_id":2// 标签组id,is_to_all=true,不用填写tag_id

},

"mpnews":{

"media_id":"123dsdajkasd231jhksad"// 这里的media_id,文档中表示是从 '接口2' 中返回的media_id(暂不清楚上传永久图文素材的接口可以不。。。接口2和永久上传图文素材的区别是啥??)

},

"msgtype":"mpnews"

}

2.视频消息类型:

分2步:

1>得经过 'https://file.api./cgi-bin/media/uploadvideo?access_token=ACCESS_TOKEN' 接口,返回一个处理过的media_id,然后再调用接口

api_url:

https://file.api./cgi-bin/media/uploadvideo?access_token=ACCESS_TOKEN

参数:

{

"media_id": "rF4UdIMfYK3efUfyoddYRMU50zMiRmmt_l0kszupYh_SzrcW5Gaheq05p_lHuOTQ",// 我们通过 '永久素材上传得到的media_id'

"title": "TITLE",

"description": "Description"

}

返回值:

{

"type":"video",

"media_id":"IhdaAQXuvJtGzwwc0abfXnzeezfO0NgPK6AQYShD8RQYMTtfzbLdBIQkQziv2XJc",// 接口返回的处理过的media_id

"created_at":1398848981

}

2>使用 '1>' 中的media_id,调用群发接口

参数:

{

"filter":{

"is_to_all":false,

"tag_id":2

},

"mpvideo":{

"media_id":"IhdaAQXuvJtGzwwc0abfXnzeezfO0NgPK6AQYShD8RQYMTtfzbLdBIQkQziv2XJc"

},

"msgtype":"mpvideo"

}

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

4>根据OpenID "列表" 群发 - (订阅号不可用,服务号认证后可用)

api_url:

https://api./cgi-bin/message/mass/send?access_token=ACCESS_TOKEN

同 '接口3',一样是2个特殊类型

图文消息类型:

{

// 区别是 : 第一个属性变为 'touser',是一个openid的列表

"touser":[

"OPENID1",

"OPENID2"

],

"mpnews":{

"media_id":"123dsdajkasd231jhksad"

},

"msgtype":"mpnews"

}

视频消息类型 - 同样记得分2步!!!

5>删除群发 - (订阅号与服务号认证后均可用)

api_url:

https://api./cgi-bin/message/mass/delete?access_token=ACCESS_TOKEN

参数:

{

"msg_id":30124

}

注意:

1、只有已经发送成功的消息才能删除(成功返回了 msg_id)

2、删除消息是将消息的图文详情页失效,已经收到的用户,还是能在其本地看到消息卡片(已经发送到了用户的手机上,用户自然可以看到简介。。)

3、删除群发消息只能删除图文消息和视频消息,其他类型的消息一经发送,无法删除(图文是可以点击进入详情的,视频也是点击播放。文本和图片,自然直接就展示出来了。语音么,看文档的意思是:直接播放。。)

4、如果多次群发发送的是一个图文消息,那么删除其中一次群发,就会删除掉这个图文消息页,导致所有群发都失效(开始的5个重点提到了:相同的素材,链接是一致的。。)

6>预览接口 - (订阅号与服务号认证后均可用)

得注意:

为了满足第三方平台开发者的需求,在保留对openID预览能力的同时,增加了对指定微信号发送预览的能力,但该能力每日调用次数有限制(100次),请勿滥用。

touser - 无限调用

towxname - 每日100次

api_url:

https://api./cgi-bin/message/mass/preview?access_token=ACCESS_TOKEN

参数:

{

// 2者是或的关系,2个都存在,优先使用 'towxname'

"touser":'openid'

-- || --

"towxname":"微信号名称",// 我们知道某人的微信号就可以发送,而不用再去查找该用户对应的openid,麻烦!

-----------------------------------------------

"mpnews":{

"media_id":"123dsdajkasd231jhksad"

},

"msgtype":"mpnews"

}

7>查询群发消息发送状态 - (订阅号与服务号认证后均可用)

api_url:

https://api./cgi-bin/message/mass/get?access_token=ACCESS_TOKEN

参数:

{

"msg_id":30124

}

返回值:

{

"msg_id":30124,

"msg_status":"SEND_SUCCESS"// 只有 'SEND_SUCCESS' 才表示发送成功

}

事件推送群发结果 - 这个是统一的事件处理接口中定义好的!

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

2>需要注意,由于群发任务彻底完成需要较长时间,将会在群发任务即将完成的时候,就推送群发结果,此时的推送人数数据将会与实际情形存在一定误差

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。