微信小程序怎么发送模板消息?

微信小程序怎么发送模板消息?

微信小程序发送模板消息步骤

  1. 获取相关信息
    • 获取appid与secret:可以在微信公众平台上面找到appid与secret,这些信息在后续获取access_token等操作中会用到。
    • 获取openid:可以通过调用httpGet函数(如果有提供)在前台获取用户或者自己的openid,获取到的openid可以存入数据库或者直接使用,这就相当于给自己发消息。
    • 获取access_token
      • access_token在微信公众号或小程序中,一个月内获取次数有限制,且有效期仅2小时,所以需要有效利用。一种方法是将获取到的access_token存进数据表,每次先查询表中的access_token,判断是否有效,若过期则重新获取并存入数据表。
      • 微信公众号与微信小程序获取access_token的地址为https://api.weixin.qq.com/cgi - bin/token?grant_type = client_credential&appid = APPID&secret = APPSECRET 。
  2. 前端操作
    • 构建formId(获取formid的一种方式):当组件属性report - submit为true时,可以声明为需发模板消息,此时点击按钮提交表单可以获取formId,用于发送模板消息;或者当用户完成支付行为,可以获取prepay_id用于发送模板消息。
    • 获取code:调用接口获取登录凭证(code)进而换取用户登录态信息,用户允许登录后,回调内容会带上code(有效期五分钟),开发者需要将code发送到开发者服务器后台,使用code换取session_key和openid。
    • 发送formId、code到后台服务器:将formId、code传递到后台服务端,调用后台发送消息接口。
  3. 后台操作
    • 添加消息模板:在微信公众平台上面的模板消息板块,可以添加所需要的消息模板,也可以申请适合自己的字段(但可能存在字段已满无法申请的情况)。
    • 构建请求参数,发送模板消息:后台服务接受到前端请求后,获取openId,构建包含touser(目标发送人,即openid)、template_id(模板id)、page(可选择填写进入小程序查看的页面)、form_id(获取的wxml表单form的id)、keyword系列(发送的自定义主题数据,需要与模板数据一致,格式可不一致)、url(对应后台的php地址,是调用api的真正地址)等参数,生成消息,调用微信消息接口(https://api.weixin.qq.com/cgi - bin/message/wxopen/template/send?access_token = $access_token)发送模板消息,但由于api.weixin.qq.com不能作为小程序合法域名,所以需在服务器端发起请求。
本篇文章所含信息均从网络公开资源搜集整理,旨在为读者提供参考。尽管我们在编辑过程中力求信息的准确性和完整性,但无法对所有内容的时效性、真实性及全面性做出绝对保证。读者在阅读和使用这些信息时,应自行评估其适用性,并承担可能由此产生的风险。本网站/作者不对因信息使用不当或误解而造成的任何损失或损害承担责任。
阅读全文