微信公众号开发之群发消息预览接口(十五)
预览接口【订阅号与服务号认证后均可用】
开发者可通过该接口发送消息给指定用户,在手机端查看消息的样式和排版。为了满足第三方平台开发者的需求,在保留对openID预览能力的同时,增加了对指定微信号发送预览的能力,但该能力每日调用次数有限制(100次),请勿滥用。
接口调用请求说明
http请求方式: POST https://api.weixin.qq.com/cgi-bin/message/mass/preview?access_token=ACCESS_TOKEN
POST数据说明
POST数据示例如下:
图文消息(其中media_id与根据分组群发中的media_id相同):
文本:
语音(其中media_id与根据分组群发中的media_id相同):
图片(其中media_id与根据分组群发中的media_id相同):
视频(其中media_id与根据分组群发中的media_id相同):
卡券:
请注意,上述JSON数据中的touser字段都可以改为towxname,这样就可以针对微信号进行预览(而非openID),towxname和touser同时赋值时,以towxname优先。修改后JSON数据如下(以图文消息为例): 图文消息:
参数 | 说明 |
---|---|
touser | 接收消息用户对应该公众号的openid,该字段也可以改为towxname,以实现对微信号的预览 |
msgtype | 群发的消息类型,图文消息为mpnews,文本消息为text,语音为voice,音乐为music,图片为image,视频为video,卡券为wxcard |
media_id | 用于群发的消息的media_id |
content | 发送文本消息时文本的内容 |
返回说明
返回数据示例(正确时的JSON返回结果):
参数 | 说明 |
---|---|
errcode | 错误码 |
errmsg | 错误信息 |
msg_id | 消息ID |
一、我们测试一下图文素材预览群发
【重要说明!!!】1、这里发现一个文档bug,预览群发图文素材时候touser至少需要两个openid以上
2、图文素材预览接口测试账号暂时没有权限
现在我们看代码演示发送图文消息预览
在swagger中添加测试方法
swagger测试文本消息预览,填写正确的参数
发送成功,返回了一个msg_id
重要说明:当我们短时间发送重复内容会发生什么呢?
我们看看官方开发文档怎么说的
使用 clientmsgid 参数,避免重复推送
一、群发接口新增 clientmsgid 参数,开发者调用群发接口时可以主动设置 clientmsgid 参数,避免重复推送。
群发时,微信后台将对 24 小时内的群发记录进行检查,如果该 clientmsgid 已经存在一条群发记录,则会拒绝本次群发请求,返回已存在的群发msgid,开发者可以调用“查询群发消息发送状态”接口查看该条群发的状态。
二、新增返回码
返回码 结果 45065 相同 clientmsgid 已存在群发记录,返回数据中带有已存在的群发任务的 msgid 45066 相同 clientmsgid 重试速度过快,请间隔1分钟重试 45067 clientmsgid 长度超过限制
微信公众号还提供了设置和查询群发速度接口,更多细节请读者自行仔细阅读微信公众号开发文档更多详细内容,谢谢观看,我们下回再见!
===============================================================================
如果您觉得此文有帮助,可以小小打赏一下,持续更新更有动力哟!