该模块提供消息通用业务的聚合实现,包括消息通道的对接、模板配置、业务配置及消息记录管理等功能。
支持的通道有:
- 短信:引入
kems-sdk-mns-sms
,所需模板在对应短信提供商处申请; - 微信:引入
kems-sdk-mns-wechat
,所需模板在微信开发者后台申请; - 企业微信:引入
kems-sdk-mns-wecom
,消息字符串手动拼接; - 微信小程序:引入
kems-sdk-mns-weapp
,所需模板在小程序开发者后台申请; - 邮件:引入
kems-sdk-mns-mail
,消息字符串手动拼接; - 站内信:服务内部实现。
由于通道使用的必要条件是后台已完成配置,所以管理界面不提供新增操作,可在数据库完成初始化,对应表
t_mns_channel
模板配置:
内容支持富文本和纯文本两种形式;
- 支持模板消息与业务消息发送(业务消息支持多通道多模板同时发送:业务消息——配置,其中传参需包含所有模板里的业务参数信息【业务参数取合集】)
除模板参数外,额外提供通道参数,业务可根据需要自由定义和配置约束。
操作指引
企业微信
配置管理
wecom.yml
增加如下格式配置(目前只采用1000012的这个app,如需新增其他app需新增配置于1000012上方)
mns:
wecom:
corpid: ww2fb936c6861045f8
app:
- agentid: 1000012
corpsecret: 2O5FY_s_498irnIBmC2YbCeaXS9l3BZvge-nIGfdKXg
- agentid: 1000006
corpsecret: ygplCnu73QgEUiBVDbaJKPGC6tsbGCjgkbo9p9Du03E
界面操作
1、消息配置-模板管理-新增模板
2、配置模板参数
3、白名单添加
- 若调用者是企业自建应用或通讯录同步助手,请确认该IP是本企业服务器IP,并已经配置到应用详情的“企业可信IP”项目中。第三方服务商IP不能调用。
- 若调用者是第三方应用或服务商代开发应用,请确认该IP已经配置到“服务商管理后台”-“服务商信息”-“基本信息”-“IP白名单”。
配置完可信IP之后,需要1分钟后才生效。
注:ip可通过百度搜索“IP地址”获取
4、消息测试
5、企业微信消息测试发送json
{
"objectSign": "2528",
"param": "{\"content\":\"业务消息测试\"}",
"receiverKey": 17,
"senderKey": "1",
"templateKey": "wecom-test"
}
- objectSign(对象标识)为该用户企业微信的openId
微信小程序
官方平台
主要用于开发者查看详情以及管理者管理小程序和申请模板。
发送消息测试前需用户同意接收订阅消息,否则会报错"errcode":48001
。
界面操作
1、消息配置-模板管理-新增模板
操作同企业微信,模板key为小程序开发者后台申请的模板key
2、配置模板参数
除前三条外,其余的参数根据小程序开发者后台申请的模板样式进行配置
3、微信小程序消息测试发送json
{
"objectSign": "oN1kO5TbQSGYTfn-hU5c3jWX6BVQ",
"thing6": "1",
"thing13": "已通过",
"miniprogram_state": "formal",
"page": "",
"lang": "zh_CN"
}
- objectSign(对象标识)为该用户微信小程序的openId
站内信
配置管理
1、消息配置-模板管理-新增模板
同上企业微信
2、配置模板参数
3、消息测试
参数 | 说明 |
---|---|
code | 验证码 |
additionalContent | 附加内容Json串,其中router为超链接,objectId为对象id,objectType为对象类型,参考格式如下:{"objectId":1,"objectType":"order","router":"https://www.baidu.com" } |
msgType | 消息类型,字典值 (1、系统消息 2、其他消息) |
4、站内信消息测试发送json
{
"senderKey": "1",
"receiverKey": 1,
"objectSign": 1,
"templateKey": "inside",
"param": "{\"code\":\"123456\",\"additionalContent\":\"{}\",\"msgType\":\"1\"}"
}
API模块
引用说明
微服务项目-maven配置
<dependency>
<groupId>com.kingengine.kems.api</groupId>
<artifactId>kems-api-mns</artifactId>
</dependency>
单体项目-maven配置
<dependency>
<groupId>com.kingengine.kems.dependency</groupId>
<artifactId>kems-dependency-mns</artifactId>
</dependency>
API介绍
消息相关接口
- 业务消息发送
- 模板消息发送
- 短信发送