消息发送接口
消息中心应用提供三个发送消息 API,用于发送消息
- 发送消息(简洁):用于在设计器中使用,固定使用消息中心的简单消息 SEND_SIMPLE_MESSAGE 模版
- 发送消息:用于在代码中使用,可使用任意消息模版
- 批量发送消息:用于在代码中使用,可一次发送多个消息
发送消息(简洁)
发送消息(简洁)API 用于在设计器中使用。使用前需要通过“高级-租户内跨应用调服务、数据”将 API 添加到 IDE 的服务组件面板中。
切换到高级页,点击“租户内跨应用调服务、数据”,弹出“使用租户下其他服务、数据”窗口,选中 message,点击操作列中的“选择使用服务和数据”图标,如下图所示
选中主服务下的消息服务(服务),点击确定按钮,如下图所示
切换到页面页,经过上面的步骤,服务组件面板中就会显示出发送消息(简单),如下图所示
在页面中添加发送消息(简洁)服务,设置参数,如下图所示
- 消息内容:一段文本,页面上可以使用长文本显示
- 接收者:人员 ID,多人使用逗号分隔
- 链接:不必填,点击消息打开的页面地址
运行时,API 调用如下图所示
发送消息(简洁)API 固定使用消息中心的简单消息 SEND_SIMPLE_MESSAGE 模版,标题和内容默认都是 ${content},参数 content 获取的就是消息内容参数的值,如果不希望标题和内容显示的一样,可以在消息模版管理中修改简单消息,如下图所示
修改后,企业微信收到消息的界面,如下图所示
发送消息
消息中心的消息发送使用的是发送消息 API,开发者可以参考。消息发送界面如下图所示
发送消息 API 如下,由消息模板和消息参数形成消息,使用指定的发送通道,发送给接收者
请求 url:
/message/main/message/sendmessage
请求方法:
post
请求头:
cookie:
user_session: $user_session //用户登录后获取的 user_session
请求参数:
body(application/json)
{
"templateCode": "", //消息模板编码
"params": { //消息参数
"url": "", //消息打开的页面地址
"变量名": "" //变量值,url、code、submitter、title、subTitle 为平台内置变量
},
"receiverId": "", //消息接收者 id,支持部门或人的 id
"senderId": "", //消息发送者 id
"senderName": "", //消息发送者名称
"channel": "" //消息发送通道: portal、email、sms、wx、dingtalk,多通道使用逗号分隔
}
请求返回
body(application/json)
{
"success": true, //状态, 取值范围 true, false
"msg": "" //错误消息
}
请求状态
status: 200 表示成功,其它表示失败
消息模板
在“消息中心-消息模板管理”中定义消息模板,消息模板包括:编码(消息发送接口使用)、名称、标题、内容模板、短信模板(发短信时使用)、链接(点击消息打开的页面)、发送方式和接收者等内容。
消息参数
在消息模板的内容模板中定义消息内容,例如:“收到${submiter}提交的任务 ${title}, 请及时处理。”,其中使用 ${变量名} 的方式引用消息参数。
系统内置标题 title、副标题 subTitle、消息链接 url、消息编码 code、发送者 submitter 等消息参数
- title、subTitle、url 在消息参数 params 中赋值后使用
- code,、submitter 可以直接使用
- $(title) 定义消息标题,标题写入消息表的 ftitle 列
- ${subTitle} 定义消息副标题,副标题写入消息表的 fsubtitle 列
- ${url} 定义消息链接,链接写入消息表的 furl 列
- 其它消息参数名,开发者自定义
- 内容模板的值写入 fremark 列
消息发送接口中的消息参数 params 用于给 ${变量名} 参数赋值,例如
params: {"title":"111111","subTitle":"222222"}
调用接口后写入数据表,如下图所示
特别说明
- 如果需要发送短信消息,需要自定义短信模板,在消息模板中配置短信模板
批量消息发送
批量发送消息 API 如下
请求 url:
/message/main/message/sendmessagelist
批量发送消息接口和发送消息接口的用法一样,区别在于参数为 JSON 数组,例如下面的代码表示发送两条消息
[{
"templateCode": "TASK_MANAGE",
"params": {
"url": "",
"title": "hello"
},
"receiverid": "/nXeWxDG33oAoY0mpL4A.ogn/nXeWEBy33W8qNkslqxO.psm",
"senderId": "system",
"senderName": "system",
"channel": "portal"
},
{
"templateCode": "TASK_MANAGE",
"params": {
"url": "",
"title": "hello world"
},
"receiverid": "/nXeWxDG33oAoY0mpL4A.ogn/nXeWEBy33W8qNkslqxO.psm",
"senderId": "system",
"senderName": "system",
"channel": "portal"
}]
匿名调用
消息中心提供的发送消息 API 默认都是注册用户(登录后)才能访问,可在应用资源管理中设置匿名调用
步骤如下:打开“系统管理-权限设置-应用资源管理”,选择“消息中心”服务,添加生产配置的“匿名用户”角色,在 API 权限中,选中发送消息和批量发送消息,如下图所示











