微信内推送功能的实现

最近公司在做微信开发, 现对一些常用技术作一些总结:

推送应用场景

微信公众账号内, 当用户某个信息发生变化时, 需要即时向用户推送实时消息, 那么这个时候该怎么处理呢?


微信内推送功能的实现_第1张图片
推送场景

实现方式

登陆企业版微信公众账号, 在模板消息中, 我们可以从微信提供的模板库选择我们想要的消息显示方式:


微信内推送功能的实现_第2张图片
模板消息

如果里面没有我们想要的模板, 我们也可以自己生成模板

微信内推送功能的实现_第3张图片
生成自己的模板

之后, 就可以提交自己的模板了!

微信内推送功能的实现_第4张图片
设置调用的参数

具体调用方法

第一步: 获取上面操作的模板的ID

第二步: 请求URL

  • POST请求: https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=ACCESS_TOKEN
  • 请求包为一个json:
{
"touser":"OPENID",
"template_id":"ngqIpbwh8bUfcSsECmogfXcV14J0tQlEpBO27izEYtY",
"url":"http://weixin.qq.com/download",
"topcolor":"#FF0000",
"data":{
"User": {
"value":"黄先生",
"color":"#173177"
},
"Date":{
"value":"06月07日 19时24分",
"color":"#173177"
},
"CardNumber":{
"value":"0426",
"color":"#173177"
},
"Type":{
"value":"消费",
"color":"#173177"
},
"Money":{
"value":"人民币260.00元",
"color":"#173177"
},
"DeadTime":{
"value":"06月07日19时24分",
"color":"#173177"
},
"Left":{
"value":"6504.09",
"color":"#173177"
}
}
}

事件推送

在模版消息发送任务完成后,微信服务器会将是否送达成功作为通知,发送到开发者中心中填写的服务器配置地址中。

  • 推送成功时, 推送的xml如下:



1395658920


200163836


  • 送达由于用户拒收(用户设置拒绝接收公众号消息)而失败时,推送的XML如下:



1395658984


200163840


  • 送达由于其他原因失败时,推送的XML如下:



1395658984


200163840


返回码说明

//在调用模板消息接口后,会返回JSON数据包。正常时的返回JSON数据包示例:
{
"errcode":0,
"errmsg":"ok",
"msgid":200228332
}

你可能感兴趣的:(微信内推送功能的实现)