文档中心 > 技术支持产品对接方案

小程序模板消息接入方案

更新时间:2019/04/23 访问次数:252

产品介绍

模板消息功能适用于开发者高效触达用户的场景,比如:交易状态、物流进度等;
     用户在小程序内产生页面交互行为后,开发者可通过此能力给用户发送消息,同时开发者可在消息中配置小程序地址或指定页面地址,用户收到消息后可通过消息点击进入到小程序,目前仅支持文本消息。

 

流程简述

 

接入前准备

 

1.文档&工具&SDK

 

模板消息 地址

生活号  地址

SDK下载 地址

小程序开发工具下载 地址

 

2.小程序开发者入驻 地址

 

3.开发者中心配置(功能包添加)

开发者中心 -> 开发管理 -> 添加功能,添加红框中的功能

 

 

4.生活号上架

请按照生活号上架流程申请发布上架。

 

5.生活号管理

开发者中心 - 生活号管理 绑定生活号

 

6.添加模板

开发者中心 - 模板消息  添加模板

 

技术接入

1.前端开发

文档地址:https://docs.alipay.com/mini/introduce/message

 

代码示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
  <view class="container">
  <!-- form必须添加 report-submit="true" ,否则提交表单获取不到formId-->
  <form onSubmit="formSubmit" report-submit="true">
    <view class="photo-list">
      <view class="photo-box" onTap="auth_f">
        <text class="box-content">获取FormId                                        
        </text>
      </view>
    </view>
    <view class="form_submit">
      <button formType="submit">测试                   
      </button>
    </view>
  </form>
</view>
 
<!--
  // js写法
  Page({
   formSubmit: function(e) {
    console.log(my.canIUse('form.report-submit'))
    console.log('form发生了submit事件,携带数据为:', e.detail)
  },
  })
  -->

 

前端示例:

image.png

 

运行结果:

image.png

 

 

2.后端开发

文档地址:https://docs.alipay.com/mini/api/templatemessage

 

代码示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
private void templateMessage() {
    try {
      AlipayClient alipayClient = AlipayConfig.alipayClient();
      AlipayOpenAppMiniTemplatemessageSendRequest request = new AlipayOpenAppMiniTemplatemessageSendRequest();
      request.setBizContent("{\"to_user_id\":\"2088302192982291\",\"form_id\":\"MjA4ODMwMjE5Mjk4MjI5MV8xNTU2MDE4MzMyNDc1XzAyMA==\",\"user_template_id\":\"MGU4YTllNjMxZjA5NDg4MGY5MjNmZTMwMDAzNjM0NTQ=\",\"page\":\"page/index/index\",\"data\":{\"keyword1\":{\"value\":\"2019-04-23 19:24\"},\"keyword2\":{\"value\":\"20190423testwufang\"},\"keyword3\":{\"value\":\"五方大大的模板消息\"}}}");
      AlipayOpenAppMiniTemplatemessageSendResponse response = alipayClient.execute(request);
      if (response.isSuccess()) {
        System.out.println("调用成功");
      } else {
        System.err.println("调用失败");
      }
      System.out.println(response.getBody());
      //{"alipay_open_app_mini_templatemessage_send_response":{"code":"10000","msg":"Success"},"sign":"Mm3Z6nqvI2QXaqw5K6BZFIhxvzBYq+t2NFNSjk9riV1MOSSJm80os4uSw4fZ8HXvjJOpdANEY7gKes2Q3gjJQoautQefLLh9DRVrtxwx50mc0ZM4ctKy0HLNeDkvZH99luv2oMmsEZWG+PUf/rdEQZsHslfxl/7Szme1Fb3nMQYSgXOxWZlY3vYRu7B6g9RS6SKiUs7qXteZoUpL8ug8n6SBJUGwVAHB5iG3Dv1gf5CXhx1e0RNf+dLZ+1Xb2SdEtTOgZeE3gXsKS0DmPsC9h+pxJR5ZCSYTVm7msANfPd39SBQhtnKTrYg2Me+teWZUHeyIknwLbFjTnodNsQnCYg=="}
    } catch (Exception e) {
      e.printStackTrace();
    }
  }

 

运行结果:

image.pngimage.png

 

FAQ

总结:

模板消息需要时间地点人物三者结合才能正常运行

 

时间:formId有效期三天,超过三天作废

地点:formId必须从真机获取,从IDE获取的formId会报错误formId不合法(IDE没有用户交互)

人物:发送用户的UID和生成的formId是同一个用户,不能A用户交互产生的formId给B用户发模板消息

 

FAQ

关于此文档暂时还没有FAQ
返回
顶部