小程序发送模板消息

本文详细介绍了微信小程序中模板消息的发送流程,包括获取模板id、通过form组件报告提交行为获得formId,以及如何利用access_token调用接口发送模板消息。文章还提供了代码示例,帮助开发者快速上手。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

步骤一:获取模板id

步骤二:页面的 <form/> 组件,属性 report-submit 为 true 时,可以声明为需要发送模板消息,此时点击按钮提交表单可以获取 formId,用于发送模板消息。或者当用户完成 支付行为,可以获取 prepay_id 用于发送模板消息。

eg:
<form bindsubmit="formSubmit"  report-submit="true">

步骤三:调用接口发模板消息(sendTemplateMessage)

请求地址为:

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

 access_token获取:请求地址

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

 能看到请求参数是   grant_type   ,appid   ,   secret

正常返回数据类型

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

 要注意  access_token有效期目前是两个小时,需要定时刷新

获取到 access_token后就可以调用步骤三接口

请求参数是

 var messageDemo = {
                  touser: openId,//接收者的openId
                  template_id: '5XXXXXXXXXXXXXX-fpXXXXXXXXXXXX_ki-Ys',//模板消息id,  
                  page: 'pages/index/index',//点击详情时跳转的主页
                  form_id: formID,//表单提交场景下,为 submit 事件带上的 formId;支付场景下,为本次支付的 prepay_id
                  data: {//下面的keyword*是设置的模板消息的关键词变量  
                    "keyword1": {
                      "value": courseName,
                      "color": "#101010"
                    },
                    "keyword2": {
                      "value": courseAddress,
                      "color": "#101010"
                    },
                    "keyword3": {
                      "value": courseTime,
                      "color": "#101010"
                    }
                  },
                }

 

### 如何在支付宝小程序发送模板消息 支付宝小程序支持通过调用其提供的 **`alipay.open.app.templatemessage.send`** 接口来发送模板消息。以下是关于该接口的具体说明以及示例代码。 #### 1. 前置条件 为了能够成功发送模板消息,开发者需满足以下条件: - 小程序已开通服务通知权限[^2]。 - 已经申请并通过审核的模板消息 ID(可在支付宝开放平台的小程序管理后台找到)。 - 用户授权同意接收来自当前小程序消息推送。 #### 2. 参数说明 以下是 `alipay.open.app.templatemessage.send` 的主要参数及其含义: | 字段名 | 类型 | 是否必填 | 描述 | |--------|------|----------|------| | toUserId | String | 是 | 收到消息的目标用户的 userId 或 openid | | templateId | String | 是 | 模板消息 ID,在支付宝开放平台上申请获得 | | data | Object | 是 | 要填充的数据对象,键值对形式表示占位符和实际内容 | #### 3. 示例代码 下面是一个完整的 Python 后端示例代码,展示如何调用此 API 来发送模板消息: ```python import requests import json def send_template_message(to_user_id, template_id, data): url = "https://openapi.alipay.com/gateway.do" params = { "app_id": "your_app_id", # 替换为自己的 App ID "method": "alipay.open.app.templatemessage.send", "format": "JSON", "charset": "utf-8", "sign_type": "RSA2", "timestamp": "2023-09-27 14:56:00", # 当前时间戳 "version": "1.0", "biz_content": json.dumps({ "to_user_id": to_user_id, "template_id": template_id, "data": data }) } headers = {"Content-Type": "application/x-www-form-urlencoded"} response = requests.post(url, data=params, headers=headers) result = response.json() return result if __name__ == "__main__": user_id = "example_openid" # 替换为目标用户的 OpenID message_template_id = "TM_example_001" # 替换为已申请的模板 ID payload_data = { "first": {"value": "您好"}, "keyword1": {"value": "订单号:123456789"}, "keyword2": {"value": "已完成"}, "remark": {"value": "感谢您的使用!"} } res = send_template_message(user_id, message_template_id, payload_data) print(res) ``` 以上代码展示了如何构建请求体并向支付宝网关发起 POST 请求以触发模板消息发送过程[^1]。 #### 4. 注意事项 - 需要确保签名算法正确无误,推荐使用 RSA2 加密方式。 - 如果返回错误码,则应仔细检查输入参数是否符合预期格式及逻辑要求。 - 数据字段中的 key 应严格匹配所选模板定义的内容项名称。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值