简介

WxPusher (微信推送服务)是一个使用微信公众号作为通道的,实时信息推送平台,你可以通过调用API的方式,把信息推送到微信上,无需安装额外的软件,即可做到信息实时通知。 你可以使用WxPusher来做服务器报警通知、抢课通知、抢票通知,信息更新提示等。【我用它来做云签到通知,查看签到是否成功,token是否过期】

demo演示程序

你可以访问演示程序,体验功能:http://wxpusher.zjiecode.com/demo/

效果预览

enter description here

enter description here

名词解释

  • 应用
1
2
3
4
5
对应你的一个项目 ,主要用来做鉴权,资源隔离等(类比使用高德地图SDK、微信登录等,都会先新建一个应用),每个应用拥有独立的名字,二维码,回调地址,调用资源,鉴权信息等,发送消息第一步,需要先新建一个应用。

简单的理解,你有一个抢火车票的项目,抢到票了需要给用户发送信息;你还有一个服务器报警的项目,服务器有异常的时候,给相关负责人发送信息,这2个的用途是不一样的,你就可以创建2个应用来分别发送他们的信息。

用户可以通过二维码或者链接关注这个应用,关注我们会把用户的UID回调给你指定的服务器,你可以通过UID给这个用户发送信息。
  • 主题(Topic)
1
2
3
主题(Topic)是应用下面,一类消息的集合,比如创建了一个优惠相关的应用,用来给用户推送各种优惠信息,但是不同的用户关注的优惠信息不同,一部分人关注淘宝的,一部分人关注京东的。这种场景下,你就可以创建一个淘宝的主题,再创建一个京东的主题,发送信息的时候,直接发送到对应的主题即可,每个主题都有对应的订阅链接和二维码,用户订阅这个主题以后,就能接收这个主题下的信息了。

Topic只能无差别群发,不能针对用户定制消息,用户关注以后,无回调信息 。

快速接入

注册并创建应用

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

创建一个应用

enter description here

1
2
3
4
5
6
7
8
9
回调地址:可以不填写,不填写用户关注的时候,就不会有回调,你不能拿到用户的UID,参考回调说明。

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

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

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

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

扫码关注应用

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

enter description here

创建主题

enter description here

主题(Topic)是一类相关消息的集合,类似广播/微信通知/QQ群通知,通过主题可以实现群发的功能,发送到主题的消息,主题会无差别分发给订阅主题的微信用户。

扫码关注主题

同应用

HTTP调用

发送消息

  • POST接口 POST接口是功能完整的接口,推荐使用。
1
2
3
4
5
Content-Type:application/json

地址:http://wxpusher.zjiecode.com/api/send/message

请求数据放在body里面,具体参数如下:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
{
  "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":"http://wxpusher.zjiecode.com" //原文链接,可选参数
}
  • GET接口 GET接口是对POST接口的阉割,主要是为了某些情况下调用方便,只支持对文字(contentType=1)的发送
1
2
3
http://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 ,其中content和url请进行urlEncode编码。

其他接口请参考官方文档