codecamp

支付宝小程序扩展能力 消息组件使用手册

介绍

系统定位

集成支付宝各产品消息发送渠道,提供统一消息发送操作入口和系统集成接口。支持的消息渠道包含:小程序模板消息、生活号模板消息、支付宝服务提醒及通知消息、短信以及钉钉消息(目前仅支持小程序模板消息和短信)。

系统功能

包含消息模板配置和消息发送两大功能,以及 token 存储功能。

消息模板配置

  • 配置各个渠道发送消息需要的各种参数。
  • 小程序模板:配置appid、支付宝公钥、应用私钥、小程序模板ID、以及发送参数的字段信息

发送消息

指定单个用户发送消息,或指定数据库中某一个张表的某一个用户字段,批量发送消息给该表中所有用户。

查看结果:可以查看发送成功或者失败数、以及失败原因。

token 存储

由于小程序模板类消息需要使用 formId(formId 需要在小程序前端通过用户点击获取)这一类 token 作为发送依据,所以后端提供 API 用于存储每个用户的 token 信息。发送时,自动使用相应的 token。

操作步骤

  1. 首先完成 开发者入驻创建小程序。小程序创建完成后,开发者在 功能列表 部分可以点击 添加功能 勾选 模板消息 功能后,点击右下角 确定 即完成添加功能。image.png

  1. 完成后进入模板消息后台查找选用需要的模板。登录 支付宝开放平台,点击 立即进入 玩转小程序运营,进入 运营中心。image.png

  1. 选择接入模板消息的小程序,选择 用户互动 > 模板消息 > 消息模板库,进行模板选用。 image.png

选择关键词并排定关键词优先级

5554F695-0A30-43D1-ACA5-9EF296878B20.png

新关键词申请(可选)

  1. 若选用的模板中没有合适的关键词,可以在小程序后台管理中以下路径申请添加关键词:模板消息 > 消息模板库,任意一个已有模板消息操作栏中点击 选用。2.png

  1. 点击弹出的对话框下方的 点击申请。 3.png

  1. 关键字和示例内容框中输入相应内容,点击 提交。 4.png

关键词申请规则:

  • 每个自然月可提交 5 次关键词申请;
  • 在同一标题下,申请的关键词不能存在相同;
  • 在同一标题下,申请的关键词不能存在过度相似;
  • 关键词不能带特殊符号、个性化字词等没有行业通用性的内容;
  • 关键词示例内容必须与关键词对应匹配,且描述清晰;
  • 关键词申请审核结果将以站内信方式通知,审核通过后,关键词将纳入到模板中。

系统部署和接口调用方式

和 AntBuilder 一起启动和部署,部署完成后调用接口可以发送消息。

对内 API 接口

发送消息

API 接口需要暴露在内网环境,不允许对外网提供入口。

  • 地址:AntBuilder的部署地址或者负载地址+端口;
  • 路径:/api/message/rest/send/mini;
  • httpMethod:POST;
  • Content-Type:application/json。

请求参数

参数 类型 必填 描述 示例值
template String 在页面配置的模板名字 MINI_SEND_USER
user String 支付宝用户uid 2088921588840908
data String 发送实际数据,这里为json格式,字段名和支付宝开放平台上的小程序模板的参数相同 {"keyword1":"缴费进度","keyword2":"待缴费"}
tradeNo String 使用订单号作为发送依据
params String 消息跳转URL链接额外参数,(注意参数不能为"TradeNo") {"id":"1"}

注意:这里如果填写了 tradeNo 参数,页面跳转的 URL 参数会默认带上 tradeNo。

返回参数

参数 类型 必填 描述 示例值
success boolean 是否成功 true
code String 错误码 SUCCESSUNKOWN_ERROR
message String 消息 成功失败

请求参数示例

{
    "template": "安持测试消息",
    "user": "2088002393111854",
    "tradeNo": "2020061722001410851447611111",
    "data": "{\"keyword1\":\"缴费进度\",\"keyword2\":\"待缴费\",\"keyword3\":\"待缴费\"}",
    "params": "{\"id\":\"123\",\"action\":\"345\"}"
}

对应小程序消息链接为 https://xxx.xxx?TradeNo=2020061722001410851447687910&id=123&action=345

image.png

FormId 存储

地址:AntBuilder 的部署地址或者负载地址+端口

路径:/api/token/save

httpMethod:GET

请求参数

参数 类型 必填 描述 示例值
applicationId String 开放平台应用appId 2021001105629021
uid String 支付宝用户uid 2088921588840908
formId String 小程序模板消息FormId -

返回参数

参数 类型 必填 描述 示例值
success boolean 是否成功 true
code String 错误码 SUCCESSUNKOWN_ERROR
message String 消息 成功失败

image.png

示例

http://localhost:8080/api/token/save?applicationId=2021001105629024&uid=208810264978400111&formId=asdlkjaslkdjaslkdjaslkdja

集成包独立部署模式

  1. 前端页面请求由 ISV 系统进行用户鉴权后,转发至消息中心。
  2. 消息中心暴露 http 服务接口,该服务可以直接处理前端的 ajax 请求。
  3. 系统用户及鉴权由 ISV 系统处理。

image.png

注意事项

  • 目前批量发送为同步发送,同时发送数量太多可能导致超时,每次发送建议控制在1万个以内;
  • 目前仅支持小程序模板消息和短信。
支付宝小程序扩展能力 AntBuilder 会员接入指南
支付宝小程序扩展能力 支持TypeScript
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

支付宝小程序开发文档

支付宝小程序 快速示例

支付宝小程序 小程序快速示例

支付宝小程序 框架

支付宝小程序 组件

支付宝小程序组件 基础组件

支付宝小程序组件 无障碍访问

支付宝小程序 扩展组件

支付宝小程序扩展组件 UI组件

支付宝小程序 API

支付宝小程序 开发工具

支付宝小程序 云服务

支付宝小程序 Serverless

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }