稍加序的模板消息

下模板消息

  1. 得模板 id

登录https://mp.weixin.qq.com获模板,如果无适当的模板,可以报名添加新模板,审核通过后可下,详见模板审核说明

图片 1

 

  1. 页面的 <form/> 组件,属性report-submittrue经常,可以声明也需发模板消息,此时点击按钮提交表单可以收获formId,用于发送模板消息。或者当用户完成出行为,可以获prepay_id用以发送模板消息。

  2. 调用接口下发模板消息(详见接口说明)

接口说明

1. 获取 access_token

access_token 是大局唯一接口调用凭据,开发者调用各接口时都要用
access_token,请妥善保存。access_token
的仓储至少要封存512只字符空间。access_token
的有效期目前啊2单小时,需定时刷新,重复获取将招致上次收获之
access_token 失效。

公众平台的 API 调用所要的 access_token 的使和变化方式证明:

  1. 以保密 appsecrect,第三着要一个 access_token
    获取与刷新的中控服务器。而其他作业逻辑服务器所祭的 access_token
    均出自于该中控服务器,不该分别去刷新,否则会促成 access_token
    覆盖若影响工作;
  2. 目前 access_token 的有效期通过返回的 expires_in
    来传达,目前凡是7200秒中的价。中控服务器需要依据此有效时间提前去刷新新
    access_token。在刷新过程中,中控服务器对外出口的还是是老
    access_token,此时群众平台后台会确保在刷新短日外,新老
    access_token 都可用,这管了第三正工作的平对接;
  3. access_token
    的中时间或许会见在未来生调整,所以中控服务器不仅用中间定时主动刷新,还得提供被动刷新
    access_token 的接口,这样有利于工作服务器在 API 调用取得知
    access_token 已超时的状态下,可以触发 access_token 的基础代谢流程。

开发者可以利用 AppID 和 AppSecret 调用本接口来取 access_token。AppID
和 AppSecret
可记名微信公众平台官网-设置-开发设置中赢得(需要就绑定成为开发者,且帐号没有怪状态)。AppSecret
生成后请自行保留,因为在大众平台每次转查看都见面招 AppSecret
被重置。注意调用所有微信接口时俱待用 https
协议。如果第三正值未应用中控服务器,而是精选各个业务逻辑点各自去刷新
access_token,那么就算可能会见生出冲突,导致服务不安静。

接口地址:

https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

图片 2

 

例行状态下,微信会返回下述 JSON 数据包给开发者:返回参数说明:

{"access_token": "ACCESS_TOKEN", "expires_in": 7200}

图片 3  

{“errcode”: 40013, “errmsg”: “invalid
appid”}错误时微信会返回错误码等消息,JSON
数据包示例如下(该示例为 AppID 无效错误):

2. 殡葬模板消息

接口地址:(ACCESS_TOKEN 需更换成上文获取到的 access_token)

https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=ACCESS_TOKEN

  HTTP请求方式: POST

图片 4

 eg:

{
  "touser": "OPENID",  
  "template_id": "TEMPLATE_ID", 
  "page": "index",          
  "form_id": "FORMID",         
  "data": {
      "keyword1": {
          "value": "339208499", 
          "color": "#173177"
      }, 
      "keyword2": {
          "value": "2015年01月05日 12:30", 
          "color": "#173177"
      }, 
      "keyword3": {
          "value": "粤海喜来登酒店", 
          "color": "#173177"
      } , 
      "keyword4": {
          "value": "广州市天河区天河路208号", 
          "color": "#173177"
      } 
  },
  "emphasis_keyword": "keyword1.DATA" 
}



返回码说明:

在调用模板消息接口后,会返回JSON数据包。

正常时的返回JSON数据包示例:
{
  "errcode": 0,
  "errmsg": "ok",
}

  图片 5

行文条件证明

  1. 支付

    当用户在有点序外得了出行为,可容开发者向用户在7上外推送有限条数的模板消息(1潮支付而发出1漫长,多次付出下发条数独立,互相不影响)

  2. 交给表单

    当用户以聊序外发出过提交表单行为还该表单声明也使发模板消息的,开发者需要向用户提供服务时,可容开发者向用户在7天内推送有限条数的模板消息(1坏提交表单可发出1条,多次付出下发条数独立,相互不影响)

模板消息填坑指南:

一律开始之时节发模板消息是当微信吊起支付成功后点,此时意识模板消息有时好用,偶尔不好用,不好用之或报错是 41028,form_id不正确,或者过。问询了有的长辈才晓得是存网络延迟,导致不起作用,采用定时器这种发现,循环调用模板消息,在

调用成功后停定时器。

让一个具体的事例:

 

var time = setInterval(function () {
        tem();//定时发起模板消息请求,校验

  }, 5000) 

function tem(){
  var  l = 'https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=ACCESS_TOKEN;
  var g = { 
  
     touser: openId, 
  
    template_id: '申请的模板id',
 
   page: '模板入口页面',
 
   form_id: 本次支付的prepay_id,  //只有在支付成功时 form_id 才有值 
     data: {

            "keyword1": {
              "value":key1,
              "color": "#4a4a4a"
            },
            "keyword2": {
              "value": key2,
              "color": "#9b9b9b"
            },
            "keyword3": {
              "value": key3,
              "color": "#9b9b9b"
            },
            "keyword4": {
              "value": key4,
              "color": "#9b9b9b"
            },
            "keyword5": {
              "value": key5, 
              "color": "#172177"
            },
          },
          emphasis_keyword: 'keyword1.DATA' //模板需要放大的关键词
}

wx.request({
          url: l,  //
          data: g, //模板数据
          method: 'POST',
          success: function (res) {

            if (res.data.errcode == 0) {
              console.log("sucess");
              clearInterval(time);
            }
            console.log(res);
            // wx.showToast({
            //   title: '订单支付成功',
            //   icon: 'success',
            //   duration: 1000
            // })
          },
          fail: function (err) {
            // fail  
            console.log("push err")
            console.log(err);
            // 测试
            wx.showToast({
              title: err.errmsg,//'系统繁忙'
              icon: 'success',
              duration: 1000
            })
          },
          complete: function (res) {
            console.log("tem-complete")
          }
        });
      };
}

  另外有一个题材是 在微信吊起支付,支付就后点击完成才会发送模板消息
这一点问问了成百上千口 不亮怎么解决 ,如果发生方案欢饮沟通。

相关文章