wxpusher实现消息推送群发消息

wxpusher实现推送消息消息群发

注册并且创建应用

wxpusher.zjiecode.com/admin/ ,使用微信扫码登录,无需注册,新用户首次扫码自动注册。

创建一个应用,如下图:

回调地址:可以不填写,不填写用户关注的时候,就不会有回调,你不能拿到用户的UID,参考回调说明

设置URL:可以不填写,填写以后,用户在微信端打开「我的订阅」,可以直接跳转到这个地址,并且会携带uid作为参数,方便做定制化页面展示。

联系方式:可以不填写,告诉用户,如何联系到你,给你反馈问题。

关注提示:用户关注或者扫应用码的时候发送给用户的提示,你可以不填写,Wxpusher会提供一个默认文案。你也可以在用户关注回调给你UID的时候,再主动推送一个提示消息给用户。

说明:描述一下,你的应用,推送的是啥内容,用户通过链接关注,或者在微信端查看的时候可以看到。

获取appToken

在你创建应用的过程中,你应该已经看到appToken,如果没有保存,可以通过下面的方式重制它。

打开应用的后台wxpusher.zjiecode.com/admin/,从左侧菜单栏,找到appToken菜单,在这里,你可以重置appToken,请注意,重置后,老的appToken会立即失效,调用接口会失败。

扫码关注应用

创建应用以后,你可以看到应用的应用码和关注链接,你可以让你的用户通过下面2种方式来关注你的应用,关注你的应用以后,你就可以给他发送消息了。

获取UID

目前有3种方式获取UID:

  1. 关注公众号:wxpusher,然后点击「我的」-「我的UID」查询到UID;
  2. 通过创建参数二维码接口创建一个定制的二维码,用户扫描此二维码后,会通过用户关注回调把UID推送给你;
  3. 通过创建参数二维码接口创建一个定制的二维码,然后用查询扫码用户UID接口,查询扫描此二维码的用户UID;

发送消息

拿到UID以后,配合应用的appToken,然后调用发送接口发送消息。

发送消息
  • POST接口 POST接口是功能完整的接口,推荐使用。

    Content-Type:application/json

    地址:wxpusher.zjiecode.com/api/send/me...

    请求数据放在body里面,具体参数如下:

    json 复制代码
    {
      "appToken":"AT_xxx",
      "content":"Wxpusher祝你中秋节快乐!",
      "summary":"消息摘要",//消息摘要,显示在微信聊天页面或者模版消息卡片上,限制长度100,可以不传,不传默认截取content前面的内容。
      "contentType":1,//内容类型 1表示文字  2表示html(只发送body标签内部的数据即可,不包括body标签) 3表示markdown 
      "topicIds":[ //发送目标的topicId,是一个数组!!!,也就是群发,使用uids单发的时候, 可以不传。
          123
      ],
      "uids":[//发送目标的UID,是一个数组。注意uids和topicIds可以同时填写,也可以只填写一个。
          "UID_xxxx"
      ],
      "url":"https://wxpusher.zjiecode.com", //原文链接,可选参数
      "verifyPay":false //是否验证订阅时间,true表示只推送给付费订阅用户,false表示推送的时候,不验证付费,不验证用户订阅到期时间,用户订阅过期了,也能收到。
    }

    html格式的消息(contentType=2),支持通过标签复制,复制的语法如下:

    go 复制代码
    <copy stype="这里可以写复制按钮的style" data-clipboard-text="需要复制到剪贴板的内容">
          复制按钮的文字
    </copy>
    
    一个例子如下,style默认可以不写:
    <copy data-clipboard-text="被复制的内容">
          复制
    </copy>

返回数据说明:

json 复制代码
{
    "code": 1000, //状态码
    "msg": "处理成功",//提示消息
    "data": [ //每个uid/topicid的发送状态,和发送的时候,一一对应,是一个数组,可能有多个
        {
            "uid": "UID_xxx",//用户uid
            "topicId": null, //主题ID
            "messageId": 121,//废弃⚠️,请不要再使用,后续会删除这个字段
            "messageContentId": 2123,//消息内容id,调用一次接口,生成一个,你可以通过此id调用删除消息接口,删除消息。本次发送的所有用户共享此消息内容。
            "sendRecordId": 12313,//消息发送id,每个uid用户或者topicId生成一个,可以通过这个id查询对某个用户的发送状态
            "code": 1000, //1000表示发送成功
            "status": "创建发送任务成功"
        }
    ],
    "success": true
}
  • GET接口 GET接口是对POST接口的阉割,主要是为了某些情况下调用方便,只支持对文字(contentType=1)的发送,举例:

    perl 复制代码
    https://wxpusher.zjiecode.com/api/send/message/?appToken=AT_qHT0cTQfLwYOlBV9cJj9zDSyEmspsmyM&content=123&uid=c1BcpqxEbD8irqlGUh9BhOqR2BvH8yWZ&url=http%3a%2f%2fwxpusher.zjiecode.com

    请求参数支持:appToken、uid、topicId、content、url、verifyPay ,其中content和url请进行urlEncode编码。

限制说明

WxPusher是免费的推送服务,为了能更好的服务大家,这里说明一下系统相关数据限制

  • 消息发送,必须合法合规,发送违规违法欺诈等等非正常消息,可能被封号;
  • WxPusher推送的是实时消息,时效性比较强,过期以后消息也就没有价值了,目前WxPusher会为你保留7天的数据 ,7天以后不再提供可靠性保证,会不定时清理历史消息;
  • 单条消息的数据长度(字符数)限制是:content<40000;summary<100;url<400;
  • 单条消息最大发送UID的数量<2000,单条消息最大发送topicIds的数量<5;
  • 单个微信用户,也就是单个UID,每天最多接收2000条消息,请合理安排发送频率。

其他文档可参考官方文档, 官方文档:wxpusher.zjiecode.com/docs/#/

相关推荐
qq_3643717241 分钟前
Vue 内置组件 keep-alive 中 LRU 缓存淘汰策略和实现
前端·vue.js·缓存
y先森2 小时前
CSS3中的弹性布局之侧轴的对齐方式
前端·css·css3
y先森7 小时前
CSS3中的伸缩盒模型(弹性盒子、弹性布局)之伸缩容器、伸缩项目、主轴方向、主轴换行方式、复合属性flex-flow
前端·css·css3
前端Hardy7 小时前
纯HTML&CSS实现3D旋转地球
前端·javascript·css·3d·html
susu10830189117 小时前
vue3中父div设置display flex,2个子div重叠
前端·javascript·vue.js
IT女孩儿8 小时前
CSS查缺补漏(补充上一条)
前端·css
吃杠碰小鸡9 小时前
commitlint校验git提交信息
前端
虾球xz9 小时前
游戏引擎学习第20天
前端·学习·游戏引擎
我爱李星璇9 小时前
HTML常用表格与标签
前端·html
疯狂的沙粒9 小时前
如何在Vue项目中应用TypeScript?应该注意那些点?
前端·vue.js·typescript